I don't want to compare it to Scala, they target different auditories, IMO. I tried Scala, it's a lovely language, but it's too complex. I had to spend a month before I was able to write a quality code using Scala and I still had a lot of problems reading scala collections source code or even understand scalaz. On the other side I spent one evening reading about Kotlin (awesome and very complete, yet small documentation definitely helps) and I knew the language, could read its standard library and write production-quality code. For me that's a deal breaker.
Why Kotlin is my next programming language (2015)
61–70 of 185 posts
Re: Why Kotlin is my next programming language (2015)
#62> Kotlin comes from industry, not academia. It solves problems faced by working programmers today. As an example, the type system helps you avoid null pointer exceptions. I'm sorry but you just undercut your own anti-intellectualism better than I could right there. (There exist languages which have guarded against this without loss of expressive power since before Java and, oh, are from academia.)
Please correct me if I'm wrong, but Kotlin doesn't improve on Java in these areas.
Re: Why Kotlin is my next programming language (2015)
#63What happened to Scala? Wasn't that the #1 language for JVM?
Scala is still there, still growing, and a much better language. Kotlin is founded on this anti-intellectual rejection of Scala's advanced features... only to then add them back in piecemeal. So rather than a single powerful general feature like implicits or higher-kinded types you have language-level special cases like extension methods and specific nullness operators. (Don't get me wrong, there are plenty of things…
Re: Why Kotlin is my next programming language (2015)
#64> Kotlin comes from industry, not academia. It solves problems faced by working programmers today. As an example, the type system helps you avoid null pointer exceptions. I'm sorry but you just undercut your own anti-intellectualism better than I could right there. (There exist languages which have guarded against this without loss of expressive power since before Java and, oh, are from academia.)
the point would have been better made by pointing out the excellent and extensive tooling built by jetbrains for kotlin. that's something the maker of the intellij platform has more experience with than academics
Also there is a tradeoff between advanced language features and good tooling, which is why you will sometimes miss the former inside kotlin
Re: Why Kotlin is my next programming language (2015)
#65I fear it might be very hard to make the Android community adopt it massively though, unless Google pitches in and supports it officially.
Re: Why Kotlin is my next programming language (2015)
#66What happened to Scala? Wasn't that the #1 language for JVM?
Re: Why Kotlin is my next programming language (2015)
#67Earlier quoted context omitted.
Tests that verify the behavior of functions when they are passed data of a type that does not support the behavior that the function expects to be supported. I find this to be a very common case.
I address this problem by checking the type at run-time via an assertion. Depending on where you are in the security vs efficiency spectrum, you may opt to ignore those assertions in production. Writing specific tests for that looks very inefficient to me but maybe I am missing something.
Re: Why Kotlin is my next programming language (2015)
#68Earlier quoted context omitted.
Static typing.
Is the reasoning that you then don't have to test what happens if you pass a parameter of the wrong type to a function?
Re: Why Kotlin is my next programming language (2015)
#69What happened to Scala? Wasn't that the #1 language for JVM?
Scala is still there, still growing, and a much better language. Kotlin is founded on this anti-intellectual rejection of Scala's advanced features... only to then add them back in piecemeal. So rather than a single powerful general feature like implicits or higher-kinded types you have language-level special cases like extension methods and specific nullness operators. (Don't get me wrong, there are plenty of things…
Each time someone brings up Scala there comes this weird "people who don't like it are anti-intellectual" - well no, people don't like it because it looks weird, had for the longest time abyssimal IDE support, tries to do things which have been solved in production by itself (see SBT vs Maven) and is a mishmash of more or less every idea that was floating around mixed into one language.
Kotlin has a very specific focus: Being usable for a working Java programmer, who doesn't have three years to learn every weird idea Scala tries to shove down your throat. It uses existing tools, existing Java collections and enhances them instead of saying "well, we do everything new, because we know how to do it 'better' and we don't care for your existing code."