Java is the default language for Android development, but there’s a very new programming language called Kotlin, which is slowly becoming the popular choice among Android developers. Google recently announced that it would now support Kotlin as a programming language on Android. Kotlin programming language is a super new language developed by JetBrains.Andrey Breslav being the lead language designer for Kotlin.
Kotlin was made the official language for Android development this year at Google I/O and Java has been the backbone of Android platform since 2003( the year when the 1st Android phone was launched)
Taking that into consideration we are talking to Jubin Mathai – Currently a software engineer and Android enthusiast.A self-proclaimed nerd kid back at school he was always looking into tech stuff and Android phone was a big thing at that time.
It was during my Masters that I grew interest in Android Application Development. I started with Icon Packs, made a few of them and that’s how it all started.
Jubin was invited at the GDG Dev fest New Delhi this year to talk about Kotlin , we thought we could get some gyaan too.
Kotlin is a statically-typed language, developed by JetBrains, whose syntax is more expressive and concise than that of Java. With features like higher-order functions, lambda expressions, operator overloading, string templates, and more, Kotlin has a lot more to offer than Java. Because Java and Kotlin are highly interoperable, they can be used together in the same project.
This is by far the most appropriate definitions that you might have heard or seen if you google about Kotlin. But what you might not have found is that Kotlin is originated from the name of a place Kotlin Island, near St. Petersburg
Kotlin or Java for Android developers, your take and why?
I’d like to make this answer easy by breaking it into 3 parts. The following are the types of developers who are out there:
1. Just started
If you are someone who has just passed out of college and is interested in mobile development then you should stick to Java and get your base strong. Trust me, Kotlin can wait for you.
2. Already Developer
If you are already developing applications in Java and have a decent knowledge of Android development then you should consider learning Kotlin. I’m sure you’ll be always wondering about how to escape from NPE(it’s a big demon called Null Pointer Exception) and Kotlin is your rescue.
3. Experienced Developer
If you are someone who has been into application development from a lot of time then it is imperative that you gain knowledge about Kotlin because it is here to stay and you should know about it as well.
What’s the scope for kotlin developers in India?
I think there is a huge scope for Kotlin developers in India. Many service-based companies are keen to learn technologies that will help in the faster development process and with Kotlin it is pretty much understood that development process is at a high pace. So I’m sure many companies would be demanding Kotlin developers in the coming years.
Should Java developers be worried about the introduction of kotlin in the Android space?
No. I don’t think Java developers should be worried about Kotlin. Instead, I would urge the Java developers to gain knowledge about Kotlin. It is only going to benefit the Java developers since they know better about how things work in Android Development. Also adding Kotlin to their skill set will boost their professional profile.
What makes kotlin a future of android app development.
I think it is still debatable. With the release of Android Studio 3.0, we are already having some great features like adopting Java 8 which has most of the features which Kotlin offers. So I don’t think as of now we can justify and say that Kotlin is the future of Android Development.
Kotlin was made the official language for Android development this year at Google I/O and Java has been the backbone of Android platform since 2003( the year when the 1st Android phone was launched). So Java has a great legacy and Kotlin will have to catch up much more in the coming years to become the Future of Android.
5 things to know about Kotlin
Great Output in Less Coding
Coding in Kotlin saves a lot of time as its compiler can understand and write a lot of code itself. The code becomes far easier to understand with less probability of errors. This also increases the productivity of the developer.
Safety From Null References
Android App development professionals believe that the safety from Null references in Kotlin is great. Null is a very simple way of representing the absence of a value, and Android uses it in its framework & APIs but handling this efficiently is an even bigger problem. They are considered as the most common reasons for crashes in Android Apps today. You can easily get rid of NullPointerExceptions (NPE) in Kotlin.
Minimizes Boiler Plate Code
‘Boiler Plate’ in the programming context means the lines of code that you add to your app’s codebase but doesn’t actually add to the function of your code. Kotlin uses various handy tricks and methods to help you significantly reduce the extra lines of codes and create relatively smaller file sizes. The fewer lines of code further enhance the speed of your app development lifecycle.
Interoperable With Java
Kotlin is a Java-based programming language and interoperable. You can seamlessly call Java code using Kotlin and vice-versa. This makes it easier for you to use Kotlin in your existing project with your old Java code. Both the languages generate similar bytecode. So, you can write simple parts of your app using Kotlin to get familiar with its constructs and syntax. The rest of your code can still be in Java. The Kotlin-Java mix can work very well for your Android project and you can opt for converting your entire Java codebase into Kotlin, eventually.
Easy Learning Curve
The most amazing thing about Kotlin is that it’s very easy to learn. It is the most friendly language, and it can be learned in very less time just by reading the reference to language especially if you know JAVA. Provided with a strong & spontaneous syntax, it is intended for Java developers.