Problems with Kotlin
I&#x27;m not sure how &quot;tongue in cheek&quot; this article was supposed to be, but most of his issues with the problem can be solved by buying into the language.<p>For:<p>Not sure what he&#x27;s upset about, but there are many options in the standard library. I almost never use the language construct for it, and I&#x27;m very happy with it.<p>Nullable:<p>I never expected nullable to completely save me from all issues. It has the same function as the @Nullable and @NotNull annotations (and all the other variants). It gives you a simpler way to reason about nullability, and forces you to respond to it; you can&#x27;t just ignore it.<p>Smart cast on mutable<p>I get that this sucks, but they can&#x27;t show it to happen. Yes, the chances are small, but there could be concurrency issues. They have to account for that, and can&#x27;t tell if your code is multi threaded or not.<p>Most of the time his issue can be solved with scoping, using ?.let or ?.apply<p>Java Nullability<p>What do you want from them? They have no ability whatsoever to control this. Either get annotations in the Java code if you can modify it (which is a good idea anyways), or wrap it and provide nullability information.<p>Assignment is not an expression<p>He got it. It&#x27;s too protect against if(v=v). I know he makes a joke about automatic type casting, but if you&#x27;re not assigning the result to anything, the logic in the if will still fail.<p>Elvis operator<p>I assume they removed Javas ternary operator to not get confused with the Elvis operator. ¯\_(ツ)_&#x2F;¯ I kind of agree with him here unless I&#x27;m missing something<p>Automatic type casting<p>Frustrating, but safe<p>Type alias<p>I&#x27;m fine with it for simple cases, didn&#x27;t want to parse his problem.<p>Generics<p>I hear his gripe, but at the end of the day Kotlin generics are Java generics. If there are some potential bugs in the compiler, report them and move on.<p>Structure syntax<p>I assume he means list and map literals. I agree it would be nice. Not sure why they didn&#x27;t include it.