3 ms·
I wrote about Kotlin quite some time ago.[0] I have to say that at the time, I was quite impressed by it all. There were some really good features, it had a muc
by gamesbrainiac 11y ago
I wrote about Kotlin quite some time ago.[0] I have to say that at the time, I was quite impressed by it all. There were some really good features, it had a much smaller dependency compared to Scala, and so packaging a Kotlin application was a lot easier than say an application in Scala. But to answer your question, there are a few benefits and drawbacks of Kotlin as a language and a platform:
+ World class IDE support.
+ Simple Language, that isn't as complicated as Scala (but this really depends on what features you end up using) but is expressive nonetheless.
+ Really good Java compatibility (if that matters to you that is).
- Language still does not have a 1.0 (although for a few GUI apps I've done, things are pretty stable)
- Language has poor documentation compared to the likes of Java and Scala
- Language has few learning resources (but two people in the Kotlin team are working to change that)
As far as Android development goes, Android Studio is built on top of the IntelliJ platform (which is Jetbrains' product) so I think you'll get really good android development support for Kotlin although I'm a little indifferent to this. I think that at one point go is going to become the defacto language for Android since google likes to keep everything in-house.
[0] http://nafiulis.me/kotlin-koans-i.html http://nafiulis.me/kotlin-koans-i.html
- georgemcbay 11y ago"I think that at one point go is going to become the defacto language for Android since google likes to keep everything in-house." As someone who writes Android/Java code for the day job but who prefers coding in Go whenever I have the chance, I'd love for this happen but I doubt it will anytime in the foreseeable future. There's just way too much invested in all of the Android Java Platform/UI/etc APIs which would make little to no sense in Go even if you had good bindings for them. Go will be increasingly supported in Android and it'll get some uptake from people writing games and apps that are primarily OpenGL based, but I just don't see how they could (without investing an absolute giant amount of resources and causing all sorts of developer balkanization), get from where the Android platform is now to an equivalent environment that is properly Go-esque for apps that make heavy use of the higher level platform APIs.
- johnmaguire2013 11y agoI had kinda hoped that the lawsuit over Java APIs would give them motivation to switch to Golang. :(
- mike_hearn 11y agoI hope not. There are plenty of people who would rather use even Java 6 than Go, and Kotlin is dramatically better than either of them.
- pron 11y agoRegarding documentation, while you're right, I'd like to point out that Kotlin intentionally has a minimal standard library. The Java standard library is Kotlin's standard library (modulo some minor additions), and Kotlin is designed to make using the same APIs a lot nicer -- not to replace them with Kotlin-specific APIs. The preferred approach for creating a "Kotlin wrapper" if one is necessary is simply adding extension methods to the Java class. So while more detailed Kotlin documentation would certainly help, it requires much thinner documentation than other JVM languages that package their own rich standard libraries.
- mahmoudimus 11y ago> The preferred approach for creating a "Kotlin wrapper" if one is necessary is simply adding extension methods to the Java class. You nailed it. I think that this is ultimately something that JetBrains must stress in their documentation and have extensive examples on how to go about doing this if Kotlin is to get much more widespread adoption.