Kotlin has some great things, but overall I still prefer Scala over Kotlin for anything not Android related.
I mean what I would've loved in 1.0:
- specify Bytecode Level output 6, 7, 8, (9)
- Macros (Big one especially for SQL Libraries really helpful)
- Buildsystem supported by Jetbrains.
- Support for all major Java Build Systems directly by Jetbrains
i mean on kotlin you could use maven or gradle. however maven is like:
and gradle is okai, but it feels wierd sometimes especially since code highlighting in intellij always feels broken.
currently I'm way more looking forward at jetbrains c# project than on kotlin, kotlin needs to evolve and get some libraries for major stuff.
(btw. i'm not totally against kotlin, however I thought 1.0 will bring a little bit more to the table, which actually has more than just "faster" compile times than scala, the jvm is rich and there a lot of great languages built on top of it (even python, ruby, js works on it))
Edit Actually this author also has a good point about the good and the bad: http://natpryce.com/articles/000815.html
WRT build systems: both Maven and Gradle are fully supported in Kotlin, with JetBrains provided plugins and IntelliJ knows how to work with them. So I am not sure why you would want more here. You say there's a highlighting issue, but I never saw such a thing, and wouldn't that be a minor IDE bug rather than a reason to develop a new build/package manager from scratch?
Finally, Kotlin avoids macros (compiler plugins) by choice. The idea is the built-in features let you customise the language enough without full blown AST rewriting.
Other than being MUCH faster to compile than Scala, kotlin is also much easier to read.
Also, Quasar is fantastic.
I see that as a good thing. Once something is committed to the standard library, it's very hard to get rid of it and the best practices surrounding Futures are still pretty shaky and keep changing from one year to the next.
Better let libraries fight it out and if a practice emerges as really good and long-lasting, then it can be incorporated in the standard library.