I’ve been asked quite a few times by .NET Developers (as well as those not familiar with Java/JVM), what material to use to get started with Kotlin coming from a non-Java background. As such, I feel it’s probably more efficient to have this outlined in a blog post as opposed to a series of tweets.
Kotlin was Kotlin/JVM. It no longer is.
When we first started Kotlin, the only platform it supported was the JVM. Today we have Kotlin/JS and Kotlin/Native, which opens up possibility to many targets such as iOS, macOS, Windows, etc. And of course
But it’s no secret that originating on the JVM, there’s a heavy influence of this in the documentation, learning material and available courses, most of them assuming that you know some Java and are familiar with the JVM. The good news is that we’re working on improving all this, but as with anything, it takes time.
In the meantime, hopefully you’ll find some of following useful.
Getting up to speed with the JVM and the tooling
I wrote the following guides when I first came to Kotlin and the JVM, so they very much are from the perspective of a .NET developer.
They’re mostly still relevant and a good starting point to get you up to speed with the JVM and also IntelliJ IDEA. While there are a lot of comparisons with .NET, obviously any developer can read it and hopefully it will be useful. Also, if you want to learn a bit more about IntelliJ IDEA, there’s my IntelliJ IDEA 42 Tips and Tricks talk
Getting up to speed with Kotlin
If you’re completely new to Kotlin, there are quite a few courses available to get you up to speed
- Atomic Kotlin by Sveta Isakova and Bruce Eckel. This one assume not only zero knowledge of Java, but also of programming.
- My Intro to Kotlin O’Reilly Course and Advanced one. I’ve tried to keep this one mostly assuming you may not have a background in Java.
- Kotlin for Java Developers by Sveta. It does assume some background knowledge of Java (if the title weren’t obvious).
- Kevin Jone’s course on Pluralsight
I also strongly recommend the book Kotlin in Action, once again by Sveta and Dmitry Jemerov. Gives you a lot of insight and explanations of the why and how of things in Kotlin.
Hopefully some of the above can get you started, and then from there you can dive deeper in to the different areas, be it mobile, server-side, native, etc. For more links and information check-out the Learn section on the website as well as the tutorials and of course Play.