The Kotlin programming language is celebrating its tenth birthday. On July 19, 2011, JetBrains presented them for the first time at the JVM Language Summit. The tool manufacturer announced it as a new statically typed programming language for the Java Virtual Machine (JVM). The language is now available in version 1.5.20 and is no longer aimed only at the JVM.
From the first presentation to the release of the first stable main version, however, it initially took almost five years: In February 2016, Kotlin 1.0 was released. On the way there, the programming language was already a good six months after the first introduction to the open source project. Even though JetBrains is a Czech company, a team in Saint Petersburg is primarily responsible for the development of the programming language. The name is also owed to him: Kotlin is an island off St. Petersburg in the Gulf of Finland.
No zero is allowed in here
Basically, like Java, Kotlin is an object-oriented programming language. In addition, it aims at procedural and offers some approaches to functional programming. Unlike the Scala language, which appeared in version 3 in May and which also runs on the JVM, it is not a functional language.
Some concepts aim to avoid typical errors and clear structures. In contrast to Java, Kotlin offers Null Safety: By default, variables are not allowed to have the same value
null assume, but so-called “nullable” variables must be explicitly used with a
? to be marked.
Kotlin enables the use of higher-order functions, which, among other things, are the basis for the collections data types in the standard library. The concept of closures, which comes from functional programming, is implemented by the programming language using anonymous functions and function pointers. Unlike in Java, closures can also have write access to variables.
From Java bytecode to multi-platform projects
When used as a JVM language, the Kotlin compiler translates the source code into Java bytecode and adapts some special concepts to the generic specifications of the JVM. There are always adjustments under the hood, as most recently for dynamic method calls via
invokedynamic in Kotlin 1.5.20.
At the same time, the first version of Kotlin / Native appeared: the compiler creates platform-specific binaries, which eliminates the need for a virtual machine. In contrast to other native approaches, it was not the performance that was the motivation for Kotlin / Native, but of all things the cross-platform use. The JVM is not naturally available on all platforms, and JetBrains particularly emphasized iOS as the target platform when presenting the concept.
Versioning and release schedule
Since the first version, numerous feature releases with version 1.x appeared, which incremental releases with the version number 1.x.Y0 (1.2.10, 1.2.20, …) are followed. Bugfix releases appear with version 1.xy as requiredwith (1.5.11, 1.5.12, …). In October 2020, JetBrains adjusted the roadmap and, as announced for Java feature releases, every six months. Version 1.5 from May will be followed by Kotlin 1.6 in November.
Kotlin / Native, which used to have separate releases, now appears as well as Kotlin / JS together with the regular versions of the programming language.
Fixed home Android
An important success story began in 2017: Google officially named Kotlin as the programming language for Android alongside Java at the I / O conference. Two years later, the Internet giant also declared the programming language to be the first choice for the mobile operating system on Google I / O. As a result, most of the source code examples on the Android developer site can be found in Kotlin by default.
The reasons for this are, on the one hand, of a technical nature, but this was probably not the only motivation on Google’s part. The group fought numerous large processes for the use of Java with its rights holder Oracle. Not only has Kotlin been an open source language since its early days, but JetBrains welcomes its use on Android.
Celebrations on the net
JetBrains would like to celebrate the birthday with a few activities and has the Twitter hashtag to do so #10yearsofKotlin set up, under which developers have been sharing their stories about the programming language since May.
According to a mail from the tool manufacturer to heise Developer JetBrains is planning a dedicated website on the subject, but it was not online when this news item was written. In addition, the company wants to publish a video documentation on the history of the programming language.
Meanwhile says heise Developer: “Happy birthday, Kotlin!”.