Pada tahun 2010 lalu JetBrains memulai sebuah proyek open-sources baru. Proyek ini merupakan sebuah bahasa pemrograman statically typed yang menargetkan JVM, Android, JavaScript dan Native. Kotlin -nama sebuah pulau di Rusia- menjadi inspirasi oleh tim pengembang untuk ditetapkan sebagai nama bahasa pemrograman tersebut.
Mungkin karena pulau tersebut terletak tidak jauh dari markas tim programer JetBrains, yaitu Saint Petersburg, Rusia. Bahasa Kotlin pertama kali dirilis pada bulan Februari 2016 dengan versi 1.0. Saat ini sudah mencapai versi 1.3.60 per rilis 18 November 2019.
Di balik kemajuan pesatnya Kotlin, terdapat pengembang – pengembang hebat dan kreatif dari JetBrains. Kotlin dikembangkan oleh lebih dari 50 developer pimpinan Andrey Breslav. Mereka semua terinspirasi dari bahasa pemrograman yang sudah ada seperti Java, Scala, JavaScript, C# dan juga Groovy. Apa yang membedakan? Salah satunya, JetBrains memastikan bahwa Kotlin sangat mudah dipelajari.
Karena tergolong proyek open-sources, Kotlin dapat bebas kita gunakan secara gratis. Kotlin dikembangkan di bawah lisensi Apache 2.0 dan kode sumbernya bisa Anda akses di laman GitHub-nya. Kita pun bisa berkontribusi dengan mengirimkan pull request ke repository-nya.
Kotlin dapat digunakan untuk berbagai macam pengembangan aplikasi, baik itu server atau backend, website, maupun mobile Android. Bahkan saat ini tengah dikembangkan Kotlin/Native. Apa uniknya? Kotlin/Native memungkinkan developer untuk menggunakannya sebagai bahasa pemrograman dalam pengembangan aplikasi di platform lain seperti embedded system, desktop, macOS, dan iOS. Bahkan tak menutup kemungkinan Kotlin juga bisa digunakan untuk data science dan machine learning. Menarik, bukan?
Dukungan tools untuk Kotlin , sangat kuat. Kita bisa dengan mudah menggunakan Kotlin pada IDE seperti IntelliJ IDEA, Android Studio, Eclipse, dan NetBeans. Anda pun bisa menggunakan perintah terminal untuk mengkompilasi dan menjalankan Kotlin. Begitu pula untuk build tools. Pada JVM kita bisa menggunakan Gradle, Maven, Ant, atau Kobalt. Tersedia juga beberapa build tools yang menargetkan JavaScript.
Sebagaimana dijelaskan, kita bisa menargetkan Kotlin ke beberapa target. Kotlin akan menghasilkan bytecode yang berbeda sesuai dengan targetnya. Ketika menargetkan JVM, Kotlin akan menghasilkan bytecode yang kompatibel dengan Java. Kemudian ketika menargetkan JavaScript, Kotlin akan melakukan transpile ke ES5.1 dan menghasilkan kode yang kompatibel dengan sistem modul termasuk AMD dan CommonJS. Sedangkan untuk native, Kotlin akan menghasilkan kode yang spesifik dengan platformnya melalui LVVM.