This post is full of bullshit. The author just says things and claims they are true. Zero evidence. So Kotlin code is shorter than Java code, that could mean a lot of things. The author even provides a formula and plugs his arbitrary numbers into it and comes up with Kotlin is 1.8 times more productive than Java. He also calls what he’s done “research”, but it’s presented more of “I did this thing and I think it had this impact so let’s use this number”.
The author very well might be more productive in Kotlin, great. But I think they are falling into this trap of “I feel good so I must construct a narrative that validates my feeling”. As someone who is a user of Ocaml and has tried to get others to use it, I’ve had this beaten out of me. I like Ocaml, I believe I am more productive in it, but I’m not going to try to put some numbers in a formula to convince others that it’s true because those numbers will be bullshit. There are tons of articles on the internet about how productive of a language Go is despite it requiring tons of duplicate code and other weird things. These arguments just don’t work, the programming world is not objective enough.
“I was honestly shocked at my productivity after becoming familiar with [kotlin] as I didn’t expect it to have a measurable impact”.
Seems likely this has little to do with Kotlin, and a lot to do with Java.
I absolutely agree that this flunks the sniff test. I have spent positively enormous amounts of time writing Java; my best estimate is around 25000 productive hours. I have seen Java grow and change and be used in ways we never expected (Android). I spent about 200 hours migrating a particularly ugly Android app to Kotlin; I have blown another 250 into attempting to prototype a high availability, high throughput back end app in it. I have researched the evolving best practices religiously. In the end, I cannot see any measurable, tangible differences that don’t boil down to “force everyone to be idiomatic”. If I were to start a new team and new codebase in a void, I would say Java and Kotlin were equal contenders and to choose whatever best suited the paradigms under which the team had learnt to code. But in the real world, there is nothing to outweigh the benefit of being able to call in the thousands of competent Java peers I have worked with and have them immediately understand the finest nuance of what code means against the language spec. Before Kotlin can support huge claims like this article supposes, it needs to go even further. I love some of the features, but so far none of them are killer. None of them feel like a revolution.
I don’t know? My arguments for static typing revolve around explaining my values and why static typing fits into it, not some objective claim. Does everything come back to trying to shoot down static typing with you?
I’ve noted that the preference is subjective in many of the discussions we’ve had, and you’ve continued to argue that you believe there are tangible benefits absent any empirical evidence to support that. So, I find it odd that you take offence at the author using similar style of argument here.
you’ve continued to argue that you believe there are tangible benefits absent any empirical evidence to support that
In those cases I’ve explicitly that that is my “feeling” or “in my experience” and that my perspective is not meant to imply evidence or an objective reality. As I said in the very first comment in this thread, I don’t make up some productivity numbers and plug them into some silly formula and make claims. I don’t make assertions about what other programmers would benefit from, the author consistently makes claims as if they apply to everyone.
For example, in looking through my threads in conversations with you I found:
I say:
I’m not saying static types are objectively superior, just that I tend to find them superior
Yet, you feel strongly enough about the topic to have prolonged arguments, even though I too qualify my statements as also being rooted in personal experience. You are making assertions about what other programmers would benefit from, and you’re just more careful about qualifying them than the author of the article. Meanwhile, many proponents of static typing don’t bother with any qualification, and state their claims as being self evident.
Yet, you feel strongly enough about the topic to have prolonged arguments
Yes, I find discussion type systems fun and interesting. I also have long discussions with people about musical tastes, which is clearly entirely subjective. So what?
You are making assertions about what other programmers would benefit from
Am I? As far as I have read myself, I am saying that “my experience is X, I believe others could benefit from that”. Obviously I’m not a great judge of what I am saying though as I have a lot more context in my head than a reader does. But I do not believe that is the same statement as “Everyone will benefit from that”. I also believe in high taxes and social safety nets but understand other people have different perspectives. So what?
Meanwhile, many proponents of static typing don’t bother with any qualification, and state their claims as being self evident
What’s that got to do with me?
Look, I don’t actually know what you’re trying to say. Are you disagreeing with my comment that started this thread that had nothing to do with static typing? Do you just want to argue about static typing? Are you trying to call me out for saying something about static typing that you haven’t actually shown I’ve said? What is your goal in this discussion?
My original point was simply that the argument the article makes is about as well founded as any argument I’ve seen in favor of static typing, and it didn’t have anything to do with you specifically. Since you decided to make it about you, I’ve simply related the impression I got from our discussions. I’m sorry if I’ve offended you by that or if I misunderstood the nature of your argument.
My original point was simply that the argument the article makes is about as well founded as any argument I’ve seen in favor of static typing
Ok, so were you agreeing with my critique of it? Because it reads, to me, as sort of a drive-by “what about ism” and it’s really unclear what you’re trying to say.
Since you decided to make it about you
Well, you did ask me how it was different and I responded with my perspective, I’m not sure how I should have responded I cannot take ownership of a whole community nor can I take responsibility for what it says.
I was agreeing with your critique of it, and pointing out that it’s a common line of argument. I’m not sure what exactly you found unclear to be honest.
This post is full of bullshit. The author just says things and claims they are true. Zero evidence. So Kotlin code is shorter than Java code, that could mean a lot of things. The author even provides a formula and plugs his arbitrary numbers into it and comes up with Kotlin is 1.8 times more productive than Java. He also calls what he’s done “research”, but it’s presented more of “I did this thing and I think it had this impact so let’s use this number”.
The author very well might be more productive in Kotlin, great. But I think they are falling into this trap of “I feel good so I must construct a narrative that validates my feeling”. As someone who is a user of Ocaml and has tried to get others to use it, I’ve had this beaten out of me. I like Ocaml, I believe I am more productive in it, but I’m not going to try to put some numbers in a formula to convince others that it’s true because those numbers will be bullshit. There are tons of articles on the internet about how productive of a language Go is despite it requiring tons of duplicate code and other weird things. These arguments just don’t work, the programming world is not objective enough.
“I was honestly shocked at my productivity after becoming familiar with [kotlin] as I didn’t expect it to have a measurable impact”. Seems likely this has little to do with Kotlin, and a lot to do with Java.
I absolutely agree that this flunks the sniff test. I have spent positively enormous amounts of time writing Java; my best estimate is around 25000 productive hours. I have seen Java grow and change and be used in ways we never expected (Android). I spent about 200 hours migrating a particularly ugly Android app to Kotlin; I have blown another 250 into attempting to prototype a high availability, high throughput back end app in it. I have researched the evolving best practices religiously. In the end, I cannot see any measurable, tangible differences that don’t boil down to “force everyone to be idiomatic”. If I were to start a new team and new codebase in a void, I would say Java and Kotlin were equal contenders and to choose whatever best suited the paradigms under which the team had learnt to code. But in the real world, there is nothing to outweigh the benefit of being able to call in the thousands of competent Java peers I have worked with and have them immediately understand the finest nuance of what code means against the language spec. Before Kotlin can support huge claims like this article supposes, it needs to go even further. I love some of the features, but so far none of them are killer. None of them feel like a revolution.
How is that different from arguments in favor of static typing again?
I don’t know? My arguments for static typing revolve around explaining my values and why static typing fits into it, not some objective claim. Does everything come back to trying to shoot down static typing with you?
I’ve noted that the preference is subjective in many of the discussions we’ve had, and you’ve continued to argue that you believe there are tangible benefits absent any empirical evidence to support that. So, I find it odd that you take offence at the author using similar style of argument here.
In those cases I’ve explicitly that that is my “feeling” or “in my experience” and that my perspective is not meant to imply evidence or an objective reality. As I said in the very first comment in this thread, I don’t make up some productivity numbers and plug them into some silly formula and make claims. I don’t make assertions about what other programmers would benefit from, the author consistently makes claims as if they apply to everyone.
For example, in looking through my threads in conversations with you I found:
I say:
https://lobste.rs/s/jlkr3r/when_types_are_eating_away_your_sanity#c_toplhk
In another one you talk about how you never found static types helped and my response was:
https://lobste.rs/s/jlkr3r/when_types_are_eating_away_your_sanity#c_ztg4zm
Yet, you feel strongly enough about the topic to have prolonged arguments, even though I too qualify my statements as also being rooted in personal experience. You are making assertions about what other programmers would benefit from, and you’re just more careful about qualifying them than the author of the article. Meanwhile, many proponents of static typing don’t bother with any qualification, and state their claims as being self evident.
Yes, I find discussion type systems fun and interesting. I also have long discussions with people about musical tastes, which is clearly entirely subjective. So what?
Am I? As far as I have read myself, I am saying that “my experience is X, I believe others could benefit from that”. Obviously I’m not a great judge of what I am saying though as I have a lot more context in my head than a reader does. But I do not believe that is the same statement as “Everyone will benefit from that”. I also believe in high taxes and social safety nets but understand other people have different perspectives. So what?
What’s that got to do with me?
Look, I don’t actually know what you’re trying to say. Are you disagreeing with my comment that started this thread that had nothing to do with static typing? Do you just want to argue about static typing? Are you trying to call me out for saying something about static typing that you haven’t actually shown I’ve said? What is your goal in this discussion?
My original point was simply that the argument the article makes is about as well founded as any argument I’ve seen in favor of static typing, and it didn’t have anything to do with you specifically. Since you decided to make it about you, I’ve simply related the impression I got from our discussions. I’m sorry if I’ve offended you by that or if I misunderstood the nature of your argument.
Ok, so were you agreeing with my critique of it? Because it reads, to me, as sort of a drive-by “what about ism” and it’s really unclear what you’re trying to say.
Well, you did ask me how it was different and I responded with my perspective, I’m not sure how I should have responded I cannot take ownership of a whole community nor can I take responsibility for what it says.
I was agreeing with your critique of it, and pointing out that it’s a common line of argument. I’m not sure what exactly you found unclear to be honest.
What you said was:
To me, it’s not obvious you are agreeing or disagreeing.