Ketika pengembang perangkat lunak Valeriy Ovechkin bergabung dengan tim untuk aplikasi restoran Square, Caviar, aplikasi tersebut seluruhnya ditulis dalam Java. Java merupakan salah satu bahasa pemrograman yang paling banyak digunakan dan dikembangkan oleh Sun Microsystems, perusahaan yang kemudian diakuisisi oleh Oracle, dan banyak digunakan untuk penulisan database dan aplikasi Android.
Namun, Java, yang sudah ada sejak tahun 1995, bisa jadi agak rumit, menurut pengembangnya. Pengembang Android kini semakin banyak menggunakan bahasa pemrograman Kotlin open source yang lebih baru untuk menulis aplikasi mereka. Perusahaan seperti Google dan Atlassian semakin banyak menggunakan bahasa pemrograman yang relatif baru. Caviar kini juga ditulis 100 persen di Kotlin.
“Kotlin lebih sederhana dan ekspresif”
“Kotlin sendiri adalah bahasa pemrograman modern,” kata Ovechkin Orang Dalam Bisnis. “Saya telah melihat fitur lain di Kotlin yang membuat pengembangan menjadi lebih menarik. Kotlin lebih sederhana dan ekspresif. Menulis kode yang sama di Kotlin biasanya memerlukan lebih sedikit baris kode.”
Kotlin dengan cepat mendapatkan popularitas. Ini digunakan oleh perusahaan seperti Google, Square, Pinterest, Pivotal dan Atlassian untuk menulis aplikasi dan aplikasi lainnya. Menurut GitHub, “Facebook untuk pemrogram”, ini adalah bahasa pemrograman dengan pertumbuhan tercepat, tumbuh lebih dari dua setengah kali lipat dalam satu tahun terakhir. Itu dinobatkan sebagai salah satu dari lima bahasa pemrograman terpopuler menurut Stack Overflow, sebuah situs web tempat pengembang dapat bertanya dan menjawab pertanyaan tentang kode. Bahkan ada pertemuan yang berfokus pada Kotlin.
“Hal yang sangat menarik tentang Kotlin adalah ia mendukung keterampilan yang ada dari pengembang Java dan menemukan penyimpangan yang tepat untuk menyediakan fitur-fitur baru dan hal-hal yang membuat pengembang Java lebih efisien tanpa melangkah terlalu jauh,” kata Sébastien Deleuze, insinyur di Pivotal, kepada Business . Orang dalam.
“Saat kami memulai Kotlin, Java pada umumnya merupakan bahasa yang banyak bicara,” Hadi Hariri, wakil presiden pengembangan di JetBrains, mengatakan kepada Business Insider. “Ada banyak hal yang harus Anda lakukan agar kode dapat berjalan. Kami menyimpan hal-hal baik dan menghilangkan beberapa poin buruk. Inilah yang menjadikan Kotlin bahasa yang membuat banyak orang jatuh cinta.”
Google meyakinkan industri
Bahasa ini mendapatkan popularitas khusus pada bulan Mei 2017, ketika Google memberikan stempel persetujuan kepada Kotlin dan tim Android mengumumkan dukungan kelas dunia untuk Kotlin. Hal ini menyebabkan tim pengembangan Atlassian juga menggunakan Kotlin. Awalnya ada keraguan untuk menggunakan Kotlin untuk produk, kata Jerry Cheng, pemimpin pengembangan seluler di Atlassian. Tim merasa berisiko berinvestasi di Kotlin tanpa dukungan penuh Android.
Namun pengumuman Google bahwa mereka secara resmi akan mendukung Kotlin untuk Android dianggap oleh tim sebagai lampu hijau untuk bertaruh. Atlassian kini menggunakan Kotlin untuk aplikasi Android di berbagai produknya seperti Trello, Jira, dan Confluence. “Kami beruntung bahwa perangkat seluler masih relatif baru di Atlassian,” kata Cheng kepada Business Insider. “Kami mengadopsi Kotlin dengan cukup cepat dan luas. Ada banyak manfaatnya. Itu lebih terkompresi. Ini sangat membantu dalam konsumsi dan pemeliharaan energi. Sejak kami memperkenalkan bahasa ini, semuanya baik-baik saja.”
Ovechkin dari Squares juga memutuskan untuk menulis ulang aplikasi Caviar di Kotlin sebagai “proyek hati”. Dia menyampaikan idenya kepada tim dan menjelaskan bahwa hal itu akan membuat Square berkembang lebih cepat. Pada bulan September 2017, dia melakukan konversi Kotlin pertamanya di Caviar. Sejak saat itu, dia menulis fitur-fitur baru di Kotlin dan secara bertahap mengonversi aplikasi lainnya ke Kotlin juga.
“Satu hal yang menyenangkan tentang semua ini adalah kami melakukan peralihan tanpa dampak nyata pada pelanggan,” Michael White, kepala Caviar Engineering di Square, mengatakan kepada Business Insider.
Program yang ditulis dengan Kotlin lebih stabil
Dengan Kotlin, kode menjadi lebih bersih, membuat basis kode menjadi lebih kecil dan lebih mudah dikelola. Daripada berfokus pada sintaksis, pemrogram dapat fokus pada masalah yang lebih besar dan lebih kompleks. Ovechkin memperkirakan bahwa basis kodenya 15 hingga 25 persen lebih kecil.
Di Java, pengembang perangkat lunak sering kali mengalami kesalahan yang disebut “pengecualian penunjuk nol”. Dalam bahasa tersebut, suatu variabel dapat default ke “null”. Artinya, tidak ada nilai yang melekat padanya. Pengecualian penunjuk nol adalah ketika kode mereferensikan variabel, tetapi variabel tersebut tidak memiliki nilai saat aplikasi dijalankan.
Aplikasi kemudian tidak memiliki pilihan lain selain mogok. Ilmuwan komputer Tony Hoare, yang menemukan referensi nol, pernah menyebutnya sebagai “kesalahan miliaran dolar”.
Namun, Kotlin memastikan pengembang tidak mengalami masalah ini. Diasumsikan bahwa variabel tidak boleh nol kecuali pengembang secara khusus mengaturnya seperti itu. Hal ini membuat program Kotlin lebih stabil dan kecil kemungkinan terjadinya error. Meskipun konversi dari Caviar ke Kotlin membutuhkan banyak usaha, investasinya sepadan, kata Ovechkin. “Jika Anda percaya pada hasilnya, usulan ini tidak berisiko,” kata Ovechkin. “Ini adalah investasi yang harus Anda lakukan – dan sebuah kurva pembelajaran.”
Campur dan cocokkan
Keunggulan lainnya adalah kompatibilitas Kotlin dengan Java – bahasa yang biasanya digunakan untuk menulis aplikasi Android. Prinsipnya, developer bisa menggabungkan kedua bahasa tersebut menjadi satu. Karena Kotlin sepenuhnya kompatibel dengan Java, pengembang dapat mengonversi aplikasi mereka secara bertahap. Saat Square menulis ulang Caviar di Kotlin, Atlassian tetap mempertahankan aplikasinya di Java, meskipun pengembang menggunakan Kotlin untuk aplikasi baru. Meskipun tim Atlassian tidak mendapatkan manfaat dari sekadar menulis ulang aplikasi, mereka melihat Java akan dihapuskan secara bertahap, kata Cheng.
“Saya melihat posisi kami adalah kami menerapkan Kotlin secara langsung, namun kami tidak perlu menulis ulang semuanya hanya untuk mencapai keseimbangan,” kata Cheng. “Saat kami memperbarui fitur, kami biasanya mencoba menulis ulang fitur tersebut jika waktu memungkinkan dan hal ini menambah nilai.”
Seperti Atlassian, Capital One tidak berencana memindahkan aplikasi mobile banking-nya ke Kotlin karena kedua bahasa tersebut “bekerja sama dengan baik,” kata Keith Forsythe, wakil presiden bidang teknik. Forsythe mengatakan sekitar separuh pengembang Android perusahaan menggunakan Kotlin, sementara separuh lainnya menggunakan Java. “Kami sangat gembira dengan pengalaman pengembang,” kata Forsythe kepada Business Insider. “Kami mencoba mencari teknologi baru yang akan membantu kami dan memberi kami keuntungan.”
“Kotlin Menurunkan Hambatan Masuk ke Industri Perangkat Lunak”
Di Square, Kotlin tidak hanya membantu dalam penulisan aplikasi, tetapi juga dalam perekrutan. White, pengembang utama di Caviar Engineering, mengatakan Square ingin menjadi pemimpin dalam penggunaan Kotlin — dan ini bisa menjadi “pembeda” saat merekrut talenta. Kotlin telah menurunkan hambatan masuk dalam industri perangkat lunak, kata Cheng dari Atlassians. Bahasanya lebih modern dan ramah pengguna, sehingga dapat meningkatkan jumlah orang yang belajar coding.
“Memodernisasi bahasa pemrograman dan mengatasi tantangan pemrograman komputer akan meningkatkan sisi pasokan karena banyak orang dapat belajar menulis program dan perangkat lunak,” kata Cheng. Akankah pengembang kembali menggunakan Java, bahasa lama yang telah dicoba dan diuji? Ovechkin mengatakan hal itu “pastinya akan menyakitkan.” Baik dia maupun White mengatakan mereka tidak melihat banyak manfaat bagi kembalinya Square dan mereka memperkirakan Java akan semakin jarang digunakan pada periode berikutnya.
“Ada rasa kepuasan dan kepuasan ketika alat tersebut berfungsi dan terus memecahkan masalah,” kata White. “Anda merasakannya berulang kali dan itu memperkuat gairah Anda. Banyak pengembang merasa seperti ini terhadap Kotlin.”