Why learn Kotlin? (Infographic)

Why learn Kotlin programming?

Kotlin is a statically typed programming language developed by JetBrains for modern multiplatform applications.

Features of Kotlin

  • Open source
    Kotlin is distributed under Apache License, Version 2.0.
  • Interoperable with Java and Android
    It is 100% interoperable with Java and Android. In addition to that, it allows you to compile quite a few Kotlin projects to JavaScript modules.
  • Concise
    Using Kotlin instead allows you to cut off the lines of code by approximately 40% (compared to Java).
  • Easy to Learn
    It is influenced by Java, Scala, Groovy, C#, JavaScript and Gosu. Learning Kotlin is easy if you know any of these programming languages. It is particularly easy to learn if you know Java.
  • Tool-friendly
    Kotlin is developed by JetBrains, a company renowned for creating development tools for professionals. No wonder, it is tool-friendly. You can choose any Java IDE or build it from the command line.
  • Safe
    It is aimed at removing dangers of null references from the code (a big headache in Java). Also, it is type-safe.

The Present of Kotlin

  • At recent Google I/O held on 17 May, 2017, Android team announced Kotlin as an official language for Android apps development.
  • Many companies like Netflix, Uber, Trello, Pinterest, Corda etc. are using Kotlin (along with other programming languages) to create applications.
  • The number of lines of code increased from 2.1 million to 10 million in an interval of year from 2016 to 2017.
  • Though the majority of progress has been made on Java and Android, it's not a Java/Android language. It can compile many Kotlin projects to JS. Similarly, Kotlin/Native is under progress that compiles Kotlin directly to machine code.

The Future of Kotlin

The future plans include the concept of common module in Kotlin. It allows you to develop platform specific functionality for multiplatform development.

How?

Suppose, you are trying to create a mobile app for iOS and Android. For that, you need to use Java, Kotlin programming etc for Android development, and swift, objective-C etc. for iOS development (present situation).

In future, you will be able to write platform specific code (in Kotlin for Android and iOS app) in the implementation module. And, the common module includes common API's and implementation headers (without implementation). This allows you to create both iOS and Android app written in Kotlin.

According to Andrey Breslav, lead language designer and project manager of Kotlin, they already have working prototype of it and shouldn't be very far. However, they are not promising anything yet until the feature is released.


Possible Projects in Future

  • Cross-platform game development
  • Cross-platform mobile application development
  • Server-side and microservices
  • Data analysis and machine learning
  • Embedded system: Arduino/Raspberry Pi to professional controllers directly.