Complete Kotlin Tutorial: Part 1 (Introduction to Kotlin)
I have seen very limited sources from which one can learn Kotlin. So, I came up with a nice idea to write posts specific to Kotlin Programming Language. Whatever I understand after learning any specific topic in Kotlin, I will be posting it as a part of this tutorial series to help others understand all the concepts related to this beautiful programming language (I can hear your voice, I love Python too😒)…
So, shall I begin?
Take a deep breath, put your thinking glasses on and let’s start!!!
History and Key Features of Kotlin
Dmitry Jemerov (lead of JetBrains Team, the team behind making developers feel good by providing them tools for complete software development) had observed that few languages compile as quickly as Java programming language. So, he decided to create Kotlin (the idea came to mind in July 2011 and was open-sourced in February 2012).
The first official version was released as Kotlin 1.0 in February 2016. And the rapid development of this language attracted Google to consider Kotlin to be the recommended language for Android developers on May 7, 2019.
Kotlin is a statically-typed programming language which means you have to declare the data types of variables before you use them. This is due to the strict type-checking that begins during compile time. Because Kotlin code runs via a compiler (JVM- Java Virtual Machine) rather than an interpreter as seen in Python (a dynamically-typed programming language).
Some of the key features of Kotlin are as follows:-
- The syntax is concise and easy to understand when compared to other languages like C++ or Java.
- Code written in Kotlin can be targeted to work with different platforms, JVM, Android, JavaScript, and Native Binaries.
- Fully interoperable with Java, meaning that you can write Kotlin code inside Java and vice-versa. So, you can experience both worlds of Kotlin and Java in one project.
- Handles the problem of NullPointerException (seen in Java) using the concept of Null-Safety.
- Comprises so many new concepts like operator overloading, extension functions, singletons, coroutines, and much more.
- It supports multiple programming paradigms like- Object-oriented programming, Functional programming, Imperative programming.
- Can be applied in various scenarios like- Android app development, Server-Side programming, and Frontend development.
So, there are so many benefits you get from Kotlin. But could this language be considered the first stepping stone to the programming world?
Yes, and it is possible if you follow along with this series of posts.