<story><title>The case against Kotlin</title><url>https://medium.com/@Pinterest_Engineering/the-case-against-kotlin-2c574cb87953</url></story><parent_chain><item><author>buremba</author><text>You know, there is a joke that 90% of the developers think that they&amp;#x27;re better than average. :)</text></item><item><author>eropple</author><text>This article misses something I feel is really very important: &lt;i&gt;Kotlin is just Java&lt;/i&gt;! Like, granted, I&amp;#x27;m probably a better-than-average developer, but I was turning out well-factored, clean, readable, 100% Java-interoperable code in Kotlin in about a day. Over time I&amp;#x27;ve added more Kotlin-specific stuff (like their way nicer-feeling collections APIs) but for real, it&amp;#x27;s just...Java.&lt;p&gt;But it&amp;#x27;s smarter Java. It gets out of your way. If you understand Java, the 1:1 mapping between Kotlin and Java is trivial. I can tell you what the auto-generated Kotlin code from the IntelliJ helpers is gonna look like when you convert Java to Kotlin and it&amp;#x27;s just...obvious? The only thing I have ever had even the slightest trouble with was how to take a var (which I understood immediately to be a backing field with getter&amp;#x2F;setter methods under the hood, both because the doc says so and because IDEA says &amp;quot;from getFoo&amp;#x2F;setFoo&amp;quot; when importing Java so it&amp;#x27;s an obvious intuitive leap) and apply a Hibernate Validator attribute only to the getter. It was a hole in the docs at the time, but I figured it out: `@get:Something()`. If that&amp;#x27;s the only thing that gets an experienced but largely out-of-the-game Java developer a little head-scratchy, this should be a slam-dunk type of thing for somebody who writes Java every day.&lt;p&gt;Maybe it&amp;#x27;s harder for Android. (I think you should write React Native for Android for basically anything you can--and I have, I released a Google Play app a couple weeks ago that I really should get around to marketing--because while I am down with Kotlin,I also like being able to actually share code everywhere.) But Java-to-Kotlin is a no-brainer, in my book, at literally any Java shop not targeting, like, Java one-dot-ancient.</text></item></parent_chain><comment><author>szemet</author><text>&amp;quot;90% of the developers think that they&amp;#x27;re better than average&amp;quot;&lt;p&gt;Median. It can happen that 90%   of programmers literally better than the average.</text></comment>
<story><title>The case against Kotlin</title><url>https://medium.com/@Pinterest_Engineering/the-case-against-kotlin-2c574cb87953</url></story><parent_chain><item><author>buremba</author><text>You know, there is a joke that 90% of the developers think that they&amp;#x27;re better than average. :)</text></item><item><author>eropple</author><text>This article misses something I feel is really very important: &lt;i&gt;Kotlin is just Java&lt;/i&gt;! Like, granted, I&amp;#x27;m probably a better-than-average developer, but I was turning out well-factored, clean, readable, 100% Java-interoperable code in Kotlin in about a day. Over time I&amp;#x27;ve added more Kotlin-specific stuff (like their way nicer-feeling collections APIs) but for real, it&amp;#x27;s just...Java.&lt;p&gt;But it&amp;#x27;s smarter Java. It gets out of your way. If you understand Java, the 1:1 mapping between Kotlin and Java is trivial. I can tell you what the auto-generated Kotlin code from the IntelliJ helpers is gonna look like when you convert Java to Kotlin and it&amp;#x27;s just...obvious? The only thing I have ever had even the slightest trouble with was how to take a var (which I understood immediately to be a backing field with getter&amp;#x2F;setter methods under the hood, both because the doc says so and because IDEA says &amp;quot;from getFoo&amp;#x2F;setFoo&amp;quot; when importing Java so it&amp;#x27;s an obvious intuitive leap) and apply a Hibernate Validator attribute only to the getter. It was a hole in the docs at the time, but I figured it out: `@get:Something()`. If that&amp;#x27;s the only thing that gets an experienced but largely out-of-the-game Java developer a little head-scratchy, this should be a slam-dunk type of thing for somebody who writes Java every day.&lt;p&gt;Maybe it&amp;#x27;s harder for Android. (I think you should write React Native for Android for basically anything you can--and I have, I released a Google Play app a couple weeks ago that I really should get around to marketing--because while I am down with Kotlin,I also like being able to actually share code everywhere.) But Java-to-Kotlin is a no-brainer, in my book, at literally any Java shop not targeting, like, Java one-dot-ancient.</text></item></parent_chain><comment><author>zem</author><text>you can thank that one guy who wrote a 10000 line php function to validate email addresses.</text></comment>