3 ms·
Kotlin is my new favorite language. You should give it a try. Fighting syntax noise, clutter, boilerplate and redundant repetitive work is a big chunk of what d
by The_rationalist 7y ago
Kotlin is my new favorite language. You should give it a try.
Fighting syntax noise, clutter, boilerplate and redundant repetitive work is a big chunk of what define a modern language, and at this, Kotlin is probably the best.
It will make you more productive AND happier.
BTW using new languages that have relatively poor ecosystem (go, rust, swift, elixir) is a far riskier choice than people believe.
Having a poor lib ecosystem is being a victim of software poverty and you'll only measure how much you loose once it is too late.
Kotlin ability to idiomaticaly reuse the multi billions of value JVM ecosystem make this language outclass all others "modern languages"
The only other modern language as good at reusing a complete, battle tested ecosystem is, to my knowledge, typescript.
Others are condemned to perpetually reinvent the wheel instead of making true progress.
- flanbiscuit 7y agoJust learned Android using Kotlin and really enjoyed it. Hope Kotlin picks up outside of the Android universe as well
- ellius 7y agoThere are probably use cases where core language features like "highly concurrent/distributed by default" or "highly safe low-level operations" are worth the risk, but in general this is my answer too. I just finished a 2-year modern Java/Angular 2 project, and it was a pretty solid stack. Using Kotlin on the back end would have eliminated a significant number of the bugs we ran into (so many null pointers), along with reducing huge amounts of boilerplate and duplication. The number of available libraries is ridiculous thanks to Java interop. Compare this with an Elixir project some of my coworkers did. They ended up having to write their own message bus client library because one didn't exist yet. That sucked up a huge amount of dev time that could've been used to actually make their product.
- johnnylambada 7y agoKotlin is great fun when compared to Java, and having access to years of libs helps concentrate on the business problem. I don't understand what all the downvotes of the parent are for.
- The_rationalist 7y agoI don't understand what all the downvotes of the parent are for. Maybe that hiding the cold hard truth about new languages is a survival behavior from activists?
- pkolaczk 7y ago> Kotlin ability to idiomaticaly reuse the multi billions of value JVM ecosystem make this language outclass all others "modern languages This is simply a large overstatement. There are many other modern popular languages on JVM that have unrestricted access to the exactly same ecosystem. To name a few: Scala, Dotty, Clojure, Groovy, Ceylon, Jython, JRuby. > Others are condemned to perpetually reinvent the wheel instead of making true progress. This is a funny statement to make when promoting a language that basically took almost all of its features from Scala and a few minor things from the others. There is nothing original in Kotlin. BTW: the ecosystem is not only libraries. It is also tooling. Kotlin is a single, proprietary IDE language. Quite limited compared to the other languages I listed. As far as removing redundant repetitive code, while Kotlin may be slightly better than Java in this regard mostly due to a nicer syntax, it stands no chance compared to Clojure or Scala, which both allow extremely high level, abstract way of coding. Having said that, Kotlin is a fun language to write in. If I needed to write an Android app, this would be my first choice.
- blandflakes 7y agoI think your point still mostly stands, but I wouldn't really consider Dotty, Ceylon, or Jython contenders for reasons of "not done", "not used", and "not even close to supporting a modern version of Python", respectively.
- zmmmmm 7y agoI wish Kotlin wasn't effectively a single IDE language. I tried the eclipse plugin but it was only barely usable. For this reason I currently prefer Scala and Groovy but both of those have their own drawbacks. I do probably like the language syntax of Kotlin most of all (though lacking array and map literals is a huge pain). I wish someone would rewrite Groovy with static typing / type checking being the default and the Kotlin syntax for expressing nullable / non-nullable type declarations.