Should I consider Kotlin for a new project?


#1

Hi. I'm considering languages and technologies for a new project starting in a couple of months. Kotlin still seems pretty rough but I was wondering when the Jetbrains guys think it will be ready for the real world.

Just curious if there are any roadmaps or internal goals related to real world usability.

Thanks

Curtis


#2

The JetBrains guys will probably be a little more cautious than I :), but FWIW I've been developing software in Kotlin for a few months now and its been an absolute blast.

Kotlin is a nice simple language thats expressive and concise yet has no magic or surprises so its super simple to read and understand, has a fast compiler, great IDEA plugin and integrates very well with the Java ecosystem and creates nice tiny bytecode with minimal dependencies. kotlin-runtime.jar is currently under 400k, compared to 1.6Mb for guava or 7-9Mb for scala-library for example.

Sure there’s a few compiler bugs you’ll hit along the way (which is true of most non-Java languages on the JVM to be honest :); but I’ve found them quite easy to work around if I hit them so far - there’s always the safety net of writing some Java code if you really have to if you hit some critical bug you can’t work around - though I’ve not had to yet.

The biggest issue today for me is the lack of kotlin runtime & maven plugin in the central maven repo which makes it kinda painful to use things like maven and kotlin right now; but hopefully that’ll be fixed in the next couple of weeks, well before your project starts. (You can work around this by just reusing a local kotlin build in your pom.xml, for example).

I’d maybe wait a little bit though if you need the JS support though; thats a little way from being really done, but its progressing well though - certainly I’d check it out when your project is close to starting.


#3

The answer depends on how critical your "real world" tasks are. We'd like to reserve no less than half-year before 1.0. Until then there might be (and I beleive there will be some) backward incompatilbe syntax/library changes.


#4

Thanks James. I've been having quite a blast myself. I have run into a few problems, like you said, but no real show stoppers. I think I'll give it a shot.