We all know that Java is the language that’s been around with Android for almost a decade. Until the last few moths it was Java 6 for the most part, which is pretty old version. It says Java 7, but there were features missing. And this language was release in 2006. Long time ago
Fist of all you want to chose a platform in which you develop before the language itself. And there’s quite a few of those.
The most popular and one in most demand for finding job is Google’s official. IDE here is Android Studio. Java is the most popular language, Retrolambda was here for a while to give us lambdas, now with new compiler we have them officially supported. But I think about two years ago Kotlin was introduced to Android.
It’s a great JVM language that compiles to the same byte code as Java. This means you still use same API’s, class/method names are same. It makes Java/Kotlin code compatible, easy to covert. Especially with Android Studio assistance you can learn just few Kotlin basics in 2 days and already start using it.
All the official documentation is in Java, since Google releasing official support for Kotlin, we might see some Kotlin code in official tutorials, but as a second version.
Java will always be here and it’s a really awkward situation with Kotlin we’re having. For experienced developers Java is boring already and they want to use Kotlin everywhere. But 9 years of Java in Android and considering Kotlin as a quite new language you can’t completely use Kotlin everywhere yet. I mean everywhere, not just in your project
And I don’t think we will, until we shut down Java for Android completely. And it’s not going to happen
Here official IDE is Visual Studio and language is C#. And Using it you can write apps once and compile them to both Android and iOS. Obviously, this platform isn’t as popular as Google’s, which means that there’s less tutorials and help.
So it’s not the best choice to start using it if you’re just beginner or looking for your first job.
Which in my perception brings you like 20 years back in time of software development. Remember those stories about guys punching cards of code, bringing them to some machine and then figuring there’s a typo/bug?
So honestly, I wouldn’t look at any language that has Script in the end other than if it has Type in the beginning
If you’re just getting started and haven’t written any Android app – definitely go with Java. There might be lot’s of noise with Kotlin now and you’ll be confused, just ignore it until you feel confident with Android platform itself.
Language is secondary, to learn Kotlin it takes 2 days, but Android platform – many years.
And if you’re already been developing Android apps for a while – definitely check this guide on pros of Kotlin.
If you like the stuff I’m writing about – subscribe, follow me on Twitter, Facebook, G+ and share with friends!