Too Long; Didn't Read
I have been working with C#’s TPL for a while now, and coming back to Java once in a while for Android or some web stuff always makes me hate every bit of it. Not the JVM part (In my opinion JVM is way better than CLR), but the writing part of it (not to say I have problems with C# here and there). The way threads and callbacks are implemented, and functions were not first class citizen until recently. Although Java 8 brings a lot to table, there are still problems that need to be addressed, one of them is Futures (or async/await or promises or deferred) and I strongly feel Kotlin even during it’s infancy is pulling off more than expected. In this blog post I am going to reason about why you need a better async programming model, a little bit of my history with Kotlin, and how Kotlin brings interesting stuff to table.