Select Page

We are really impressed with some of the ‘modern’ programming languages that are recently seeing the light of day.

Like Google ‘Dart’ and it’s corresponding cross-platform app development tool Flutter (we covered it extensively in our last blog post) and ‘Kotlin’, developed by JetBrains, the company behind some of the world’s leading IDEs.

Both these powerful but simple programming languages focus on doing one thing and one thing only – making the coding experience for developers refreshing, easier and fun.

Why? Because Java has been the go-to programming language for almost all Android developers when it comes to coding, for more than 20 years and it’s pretty hard to implement as well. In-short, the language is simply outdated, doesn’t matter if it’s Java 6 or Java 8 or Java 20.

Something needs to change…

The way we code needs to change and that is the cry amongst all the developers of today who actively use Java for Android development. They have been long searching for an alternative but nothing yet came to close to the functionality of Java, doesn’t matter how verbose or difficult the language is. It has continued to stay the norm when it comes to Android development until now…

Enter Kotlin. An aesthetically pleasing language that is easy to learn, requires less code and the best part, is completely based on Java.

And it has been making quite a buzz amongst developers fed up with the complexity and mundaneness of Java since it was first released in February, 2016.

Recently, this relatively new programming language got a big push by Google, making them the only official Android Studio language alongside Java ofcourse.

And the buzz around Kotlin has never died since. Every developer has something good to say about the language and many Fortune 500 companies like Netflix, Slack, American Express and others have already shifted their mobile app development entirely to Kotlin.

But don’t take their word for it. Here are some of the advantages this powerful yet light programming language has over Java –

1. Syntax Familiarity

Any developer from the OOP domain can easily understand Kotlin’s syntax in a glance. Like other major JVM based languages, Kotlin is also based around the principle of classes and objects. So, it won’t be like you’ll have to spend a considerable amount of time learning an entirely new language, like Dart, because it’s majorly based on the Java framework, which bring us to our next point…

2. Java Interoperability

Kotlin and Java are completely interoperable programming languages as they both generate the same bytecode. You can literally pick up any old Java project of yours and start working on it again with Kotlin. Also, you can completely convert all your existing Java code into Kotlin with the click of a button or merge both Java and Kotlin codes in your app, it will work the way it’s meant to nevertheless.

3. Aesthetic

One of the most common problem with Java is that one needs to write a lot of code to get the simplest of task done. For developers, more code means more headaches and less productivity. On the other hand, a shorter code is susceptible to bugs, requires less coding & reading and improves productivity.

Kotlin believes in doing the latter for it’s developers. Once you fully understand it’s syntax, Kotlin is more crisp, concise, readable and reduces a lot of boilerplate code that coders have to write everyday with Java.

For example, look at this complex click listener code in Java –

view.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // Do whatever you want to
}});

In Kotlin, all it requires is just a single line of code –

view.setOnClickListener { // Do whatever you want to }

Kotlin reduces the required code to perform a function to such an extent that some developers have said that their 50 lines Java code was reduced to just 2 lines in Kotlin!

4. Null Safe

Ask any Java developer what they think is the biggest headache directly associated with coding on Java and he will without a doubt shout out loud – ‘NullPointerException’

NPE’s has long been the sole reason for crashing apps in Java and has been tagged as ‘The Billion Dollar Mistake’ as almost all apps are infected by it at some or the other time in their development cycle.

Kotlin resolves this as well by actively distinguishing between nullable type and non-nullable type variables on compile time. NPE safety is baked right into Kotlin’s type system and developers don’t need to worry about encountering this exception in practice as Kotlin defines all variables as non-null, unless explicitly stated otherwise which in Kotlin’s case, you do it by adding a ‘?’ after a variable.

5. Matured language with full IDE support

As I stated earlier, Kotlin is backed up by Jetbrains, who are also the makers of IntelliJ IDEA and Android Studio, both remarkable IDEs and Kotlin is deeply integrated with both of them.

Jetbrains impressive IDE support with Kotlin is what makes switching a Java code to Kotlin possible. The best part is that everything still works great even if you are coding a mix of  both Java and Kotlin languages in your project. And the conversion is spot on most of the time.

People fear change. Or in this case, developers fear change. Migrating from a programming language that they have heard about and coded for more than 20 years to a new one is like jumping from a cliff without knowing where you’ll land. But Kotlin’s high similarity with Java makes it easier for developers to get on it’s wagon and try their hands at it. And all those who have, fell in love with Kotlin!

Considering the huge community of Java, Kotlin’s acceptance is not a far-fetched dream but a reality we are going to witness pretty soon as all Kotlin has to offer is superiority in every way imaginable!

Impressed? Do give this revolutionary programming language a try and let us know about your experience in the comments.