Android Core

Kotlin vs Java – Which language Android Developers should Learn?

Ever since Google announced Kotlin as the official language for Android development in Google IO 2017, programmers, who want to become an Android Developer are in dilemma. Now the big questions in front of them are whether they should learn Kotlin or Java? The answer to this questions depends upon your profile. If you are a complete beginner who wants to learn Android development then my answer is Java, but if you are Java developer who wants to jump into the lucrative market of Android App development then my answer is Kotlin. I’ll discuss why beginner Android programmer should start with Java and why Java developer should learn Kotlin in this article.

When I said, beginners should start with Java, you might be thinking what the heck, Kotlin is much more productive, less boilerplate code, and now the official language of Android Development and this guy is suggesting to learn Java, I am not gonna fall for it…

Well, being a Java developer I may be a little bit biased but I’ll try to explain my reasons why I suggest a beginner Android developer start with Java rather than Kotlin.

Beginners on Android Development should start with Jav

The first and foremost thing is Android development is not everything, as a programmer, you may be starting your career with Android development but if you start with a well-established language like Java, you become a part of bigger Java community and market, which directly means more job opportunities.

The second and more important thing is that there is a huge community of Java programmers, which means you can find answers when you stuck. This is very important because as a beginner you will face a lot of technical problems and you might not know where to head when you stuck.

When you search Google with a Java problem you will bound to get answers, same cannot be said for Kotlin, which is still a new programming language.
There are also more tutorials, books, and courses out there, both free and paid which can teach you Android development with Java e.g. this list of Android resources for Java programmers, but there are not many for Kotlin, especially free resources on Android development.

Things will definitely improve over time when more and more programmers will start using Kotlin but I doubt it can ever touch the popularity and adoption of Java programming language.

That’s why I suggest a beginner programmer who wants to become an Android developer to start with Java, rather than Kotlin.

But, that’s not a hard and fast rule, if you prefer learning Kotlin rather than Java due to productivity reason and mostly focused on Android development then you can sure start with Kotlin.

But, once you know Java, your journey to Kotlin will also be easy and smooth because Kotlin is 100% interoperable with Java. It compiles into Java bytecode and runs on JVM.

Java Programmers who want to learn Android Learn Kotlin

Now, coming back to the second set of programmers who wants to learn Android development i.e. our fellow Java developers. For them, I think its best to learn Kotlin because it really improves productivity.

A class which takes 50 lines of code in Java can really be written in just one line in Kotlin. It can help you avoid all boiler-plate code for you e.g. you don’t need to specify getters and settersequals()hashCode() or toString() method. Kotlin can generate all that by itself.

Here is a nice comparison between  Kotlin and  Java in terms of  productivity and lines of code to write similar stuff:

If you don’t know, Kotlin was development by JetBrains, the company behind one of the most popular Java IDE, IntelliJ IDEA. They were a Java shop and developing IDEs like IntelliJ IDEA, PyCharm, ReSharper all in Java and built Kotlin to improve their productivity, but at the same time, they cannot rewrite all their code in Kotlin and that’s why they made Kotlin fully interoperable with Java.

Because Kotlin generates Java bytecodes you can use your favorite Java frameworks and libraries in Kotlin and your Java friend can also use any Kotlin framework you develop. Even major Java framework like Spring has started supporting Kotlin from Spring 5.

Even though, currently almost all Android code, examples, apps are in Java it will change in future because Google has declared Kotlin as the official language for Android App Development.

Many companies have already started using Kotlin for their Android app development and that’s the main reason I think Java developers should learn Kotlin in 2018.

You don’t need to start with things like what is a variable and object as this course has right pace and depth for Java developers as compared to other beginners Kotlin course for Android development.

That’s all about whether Android Developer should learn Kotlin or Java. As I said, if you are a complete beginner who wants to start your career as Android developer, you better start with Java. You not only get up to speed in no time but as you would have better community support and knowledge of Java will help you a lot in future. It will also help you to learn Kotlin in future.

And, if you are Java developer then you better start learning Kotlin to not only improve your productivity but also help you become part of a lucrative niche of Java developers who know Kotlin, which may give you a competitive edge in the job market.

Other Programming articles you may like:

10 Things Java Developers Should Learn in 2018

20 Essential libraries for Java Developers

20 Books Java Programmers Can Read in 2018

10 Everyday tools for Java Programmers

5 Free Courses to Learn Spring and Spring Boot Online

10 Frameworks for Java and Web Developers

Python or Java? Which language is better to start with?

The Complete Kotlin Developer Course

Thanks for reading this article so far. If you like this article then please share with your friends and colleagues. If you have any questions or feedback then please drop a note.

Published on Java Code Geeks with permission by Javin Paul, partner at our JCG program. See the original article here: Kotlin vs Java – Which language Android Developers should Learn?

Opinions expressed by Java Code Geeks contributors are their own.

Javin Paul

I have been working in Java, FIX Tutorial and Tibco RV messaging technology from past 7 years. I am interested in writing and meeting people, reading and learning about new subjects.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
med medin
med medin
6 years ago

Kotlin will die like Groovy and Scala and Go ! Java is the king.

Akash Maurya
Akash Maurya
5 years ago
Reply to  med medin

small fast easy , ruin the race always .
only for beginners java is good.

4 years ago
Reply to  med medin

I wouldn’t say this. Kotlin is going to live in Android world atleast.

Nick Christopher
Nick Christopher
6 years ago

Might be worth consideration it this too, Java on Android isn’t the best. It’s an older version with bits and pieces glued on. I’m not sure if technical issues associated with the OS or legal issues to blame, but either way it’s not the best. I found I kept bumping into things that were off. Kotlin might advance faster on the platform.

5 years ago

As a Sr. Mobile Automation Engineer, I agree that Java Developers as well as Mobile Test Engineers need to learn Java first, then immediately learn Kotlin ASAP!!!

Rodolfo Davis
2 years ago

Comparing Kotlin and Java is not easy and requires a lot of assumptions and facts, but Kotlin is worth opting for at the moment. From the development angle, it is simpler, easier, and cleaner, helping you remove long boilerplate codes.

Back to top button