Kotlin History and Features
Kotlin was created by JetBrains a company creating development tools.
Why JetBrains need Kotlin
- To increase their productivity
JetBrains team were writing all of their IntelliJ-based IDEs almost entirely in Java. It took a lot of time to compile with javac. They wanted to increase productivity by switching to a more expressive language.
2. To drive sales of IntelliJ IDEA
They wanted the enterprise development frameworks and tools for Kotlin to be the part of IntelliJ IDEA Ultimate (commercial version) thereby increasing its sales.
3.Drive company’s business by keeping trust
JetBrains is trusted by a lot of professional developers. They wanted to drive company’s business as well as attract more people to their approach of developing tools by increasing community awareness of JetBrains and maintaining the trust.
Features of Kotlin
Kotlin is a statically typed language features of Kotlin are Open source, Interoperable with java and Android, Concise and Expressive, Easy to Learn, Tool Friendly, Safe
Open source
Kotlin is distributed under Apache License, Version 2.0. The Kompiler (Kotlin compiler), IntelliJ IDEA plugin, enhancements to basic Java libraries and build tools all are open source.
Interoperable with Java and Android
It is 100% interoperable with Java and Android. This means all your current Java/Android code works seamlessly with Kotlin.
Concise and Expressive
- Rough estimation indicates that, using Kotlin allows you to cut off the lines of code by approximately 40% (compared to Java).
- Expressive means, it’s easy to write code that both humans and compilers can understand easily.
Easy to Learn
It is influenced by Java, Scala, Groovy, C#, JavaScript . Learning Kotlin is easy if you know any of these programming languages. It is particularly easy to learn if you know Java.
Tool-friendly
You can choose any Java IDE to run Kotlin 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). Kotlin can interoperate with loosely typed environments, such as the JavaScript ecosystem, however, it’s a statically typed language. Hence, the type checking occurs at compile-time as opposed to run-time, and trivial bugs are caught at a early stage.