Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Kotlin for a lot of reasons is the most interesting language to me right now. Go doesn't have immutability and doesn't seem to care so much about functional programming. It's great, but not what I want. Scala seems like a big language that tries to do a lot of things and thus it has a very slow compiler and a slow turnaround time for changes.

What Kotlin seems to be getting right so far is the useful side of functional programming features, IDE support, and a reasonably fast compiler. Compiler speed is something that Kotlin actually cares about, which last time I played with Scala, it was still dog slow to compile or even wait for it to decide to compile after you make a change.

Developer experience is very important to me and for the kind of software I want to build and the way I want to build it, Kotlin looks very promising.



I've been using Scala for years now, and have never really found compile times to be an issue. I spend most of my time writing the code and thinking about it. Compiling a few times an hour takes a few seconds each time. Most Scala tools these days use incremental compilation. My IDE (IntelliJ) underlines errors using a background thread, so by the time I hit compile I already know where the issues are. It doesn't feel very different to compiling Java code (which Kotlin is aiming to match the compile times of).

If you want to optimize for only the compile dimension then Go and Pascal have very fast compilers. Python removes the need for compiling completely if that's really important to you (much faster than waiting for javac).


Sorry to disappoint, Scala incremental builds + sub projects = rapid dev, usually @1 second recompile, or a few seconds if several sources need recompilation.

These days the only area where the "Scala is slow" mantra holds any water is with full builds, there, yes, cup of coffee time if you've got a large project ;-)

I think Kotlin will be squeezed from both ends (Java 8 and Scala) for uptake; that is, whenever the 1.0 stable release comes out -- sometime in 2015, right?

If so, around that time Scala 2.12 will have been released and Java 8 will have seen more & more adoption.

Will be fun to find out regardless, lots happening in JVM land these days.


Sounds like I need to give Scala another shot if compile times are a lot better.


A very useful tip: instead of invoking sbt on the command line (i.e, 'sbt compile') every time, first open the sbt shell (just type 'sbt') and from there you run 'compile', or better yet '~compile'. This way you will always have a warm jvm. Makes a lot of difference.


Does Kotlin have immutability though? You might also want to check out Rust.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: