Karakteristik Dari Kotlin

Untuk mengetahui lebih jauh tentang suatu bahasa pemrograman, tentunya kita harus mengetahui ciri-ciri bahasa tersebut. Kotlin adalah bahasa pemrograman yang ringkas, aman, dan pragmatis yang berfokus pada interoperabilitas dengan bahasa Java.

Kotlin berjalan lancar dengan semua library dan framework Java yang ada. Tentunya Kotlin juga memiliki ciri khas tersendiri yang membuatnya disukai banyak developer. Mari kita bahas bersama beberapa ciri tersebut.


Modern & Concise

Kotlin dikenal dengan bahasanya yang modern dan ringkas untuk menulis. Kotlin mampu memangkas baris kode menjadi beberapa baris saja. Seperti yang kita ketahui, programmer menghabiskan banyak waktu untuk membaca dan menulis kode. Saat kita mengembangkan aplikasi, hal pertama yang kita lakukan pasti membaca kodenya. Entah kode dari dokumentasi atau kode yang sudah ada di proyek yang sedang dikerjakan. Membaca atau menulis kode yang ringkas dan mudah dipahami tentu menjadi keuntungan bagi seorang programmer.

Semakin ringkas kodenya, semakin cepat kita memahaminya. Selain ringkas, faktor lain seperti penamaan fungsi juga dapat sangat berpengaruh. Kotlin memiliki fungsi bawaan yang namanya mudah diingat. Bahkan pilihan kata kunci yang terkesan sangat sederhana. Mari kita simak perbandingan antara Kotlin dan Java berikut ini :

Java

public class SomeClasses{

    public static void main(String[] args){

        System.out.println("Hello");

    }

}


Kotlin

class SomeClasses{

    fun main(){

        println("Hello")

    }


“Apa yang pertama kali kamu lihat ketika melihat kedua kode di atas?”.

“Kotlin tidak memerlukan tanda titik koma (;)”.

Ya, itulah salah satu ciri khas Kotlin. Sederhana, tetapi sering kali programmer pusing karena lupa menambahkan titik koma di akhir kode saat coding dengan Java. Kode di atas memiliki kegunaan yang sama tetapi ditulis dalam bahasa pemrograman yang berbeda. Cukup jelas bahwa kode yang ditulis dalam Kotlin lebih ringkas dan lebih mudah dipahami, bukan? Yah, itu tidak banyak. Di blog ini kamu akan melihat banyak contoh kode yang menunjukkan bahwa Kotlin adalah bahasa yang sangat ringkas.

Kotlin juga dilengkapi dengan beberapa library standar seperti fungsi tingkat tinggi, fungsi ekstensi, dll yang membuat penulisan kode lebih ringkas. Kita akan mempelajari semuanya satu per satu di blog ini.


Pragmatic

Suatu bahasa pemrograman dapat dikatakan pragmatis jika mampu menyelesaikan masalah secara praktis. Kotlin dikembangkan berdasarkan masalah yang sering dialami oleh programmer di JetBrains. Tanpa mengabaikan saran dan masukan dari komunitas, dalam setiap rilisnya Kotlin selalu mengupdate fitur-fitur yang ada untuk solusi praktis bagi para programmer.

Selain ditulis secara ringkas, hal lain yang membuat Kotlin pragmatis adalah dukungan tools yang sangat membantu proses penulisan kode. JetBrains menambahkan dukungan Kotlin ke IntelliJ IDEA bersama dengan plugin yang disesuaikan untuk setiap fitur Kotlin.

Plugin yang ada juga dapat memandu programmer untuk mempelajari fitur-fitur Kotlin. Misalnya, kita dapat mengonversi kode Java ke Kotlin secara otomatis hanya dengan menyalin dan menempelkan kode di file Kotlin. Dengan begitu, secara tidak langsung kita bisa mengetahui bagaimana jadinya jika sebuah kode di Java ditulis di Kotlin. Contoh lain, IntelliJ IDEA mampu menampilkan peringatan dalam kode yang ditulis dengan tidak benar. Tidak hanya itu, setiap peringatan selalu disertai dengan saran perbaikan. Tentu saja kita akan belajar bagaimana kode harus ditulis di Kotlin.

Pada postingan berikutnya kita juga akan mempelajari lebih lengkap tentang peran IDE dalam mendukung Kotlin sebagai bahasa praktis.


Safe

Seperti apakah pengertian “aman” dalam sebuah bahasa pemrograman? Apakah "aman" berarti kita bisa membuat aplikasi yang tidak mudah dibobol? Tentu tidak. Ketika seorang programmer menulis banyak kode untuk membangun sebuah aplikasi, ada kalanya programmer tersebut mengalami beberapa masalah. Masalah yang muncul pun bermacam-macam. Mulai dari kesalahan kode, proyek yang tidak berhasil dibangun, atau bahkan fitur yang tidak berfungsi dengan baik. Apakah ini yang akan kita bahas? Tidak, kita tidak akan membahas masalah ini di sini.

Dengan menjalankan Kotlin di atas JVM, keamanan memori dijamin. Jadi keamanan dari sisi lain masalah yang bermula dari kesalahan dalam penggunaan memori yang dialokasikan secara dinamis. Selain itu, Kotlin juga menjamin tingkat keamanannya lebih tinggi dari Java. Misalnya, saat Anda ingin mendeklarasikan sebuah tipe di Kotlin, baik itu tipe data, argumen, atau lainnya, Kotlin dapat menyimpulkan tipe tersebut secara otomatis. Sehingga kita tidak perlu menuliskannya secara eksplisit. Tentu ini akan sangat membantu, karena banyak juga masalah yang disebabkan oleh kesalahan deklarasi tipe tersebut.

Selain itu, Kotlin dapat memeriksa kesalahan pada waktu kompilasi, yang memungkinkan kita untuk mencegah kesalahan tersebut. Yang terpenting, Kotlin menghilangkan NullPointerException yang sering disebut sebagai "Kesalahan miliaran dolar" oleh programmer Java. Kotlin membedakan antara objek null dan non-null saat dibuat. Tentunya juga menyediakan beberapa solusi untuk penulisannya. Fitur tersebut dikenal dengan Null Safety. Sebagai contoh, kode berikut :

var a : String = "Kotlin"

a = null //kompilasi error

Secara default, Kotlin menganggap nilai properti tidak boleh null. Oleh karena itu, kode di baris kedua akan langsung dianggap error. Namun sering kali kita tidak bisa menghindari bahwa sebuah data ternyata null, apalagi ketika kita mengkonsumsi data yang didapatkan dari server. 

Kita juga dapat menyetel properti nullable dengan menambahkan tanda (?) ke tipe datanya.

var a : String? = "Kotlin"

a = null

Properti a sekarang dapat disetel sebagai nullable, dan untuk mengaksesnya kita perlu menerapkan mekanisme untuk menghindari kesalahan kompilasi. Terdapat beberapa cara yang bisa dilakukan. Semuanya akan dibahas pada postingan terpisah.


Statically Typed

Seperti yang tertulis http://kotlinlang.org dan juga di awal postingan tentang kotlin ini, Kotlin termasuk ke dalam bahasa pemrograman statically typed. Ini berarti bahwa setiap ekspresi dalam suatu program dapat dikenali pada waktu kompilasi. Kompilator juga dapat memastikan bahwa semua fungsi yang ingin diakses terkandung dalam objek yang digunakan. Tentunya hal ini berbeda dengan beberapa bahasa pemrograman lain yang berjalan di JVM seperti Groovy dan JRuby. Kedua bahasa tersebut termasuk dalam bahasa pemrograman yang diketik secara dinamis.

Di sisi lain, jika dibandingkan dengan Java yang juga merupakan bahasa pemrograman yang diketik secara statis, Kotlin memungkinkan kita untuk tidak menulis tipe variabel secara eksplisit. Hal ini akan menghindarkan kita dari kesalahan seperti penulisan tipe data yang salah atau yang lainnya. Sebagai contoh :

val company = "codein"

Tanpa secara eksplisit menentukan tipe data String, kompiler akan secara otomatis mengetahui bahwa variabel company adalah sebuah String. Sebabnya, variabel tersebut diisi dengan nilai String. Tentu saja, ini juga membuat kode yang ditulis lebih ringkas. Fitur ini disebut inferensi tipe, yang merupakan mekanisme yang digunakan oleh kompiler untuk menyimpulkan tipe dari suatu konteks.

Sejauh ini, ada banyak perdebatan tentang apakah diketik secara statis atau dinamis baik dalam hal produktivitas. Tentu saja, ada juga banyak perbedaan pendapat dari para pengembang. Keduanya memiliki keunggulan masing-masing. Berikut adalah beberapa keuntungan dari bahasa pemrograman yang diketik secara statis:

  • Mengakses sesuatu lebih cepat karena kita tidak perlu mencari tahu fungsi mana yang akan dipanggil;
  • Karena kompilator menjamin kebenaran program, kemungkinan crash saat runtime berkurang;
  • Pengetikan statis memungkinkan proses refactoring yang lebih mudah, terutama dengan dukungan alat canggih seperti pelengkapan otomatis dan lainnya;
  • Lebih mudah bekerja dengan database relasional dan sistem lain yang juga mengandalkan pengetikan statis.

Selain itu, Kotlin juga mendukung function type, yang nanti akan kita pelajari pada postingan functional programming.


Free and Open-Sources

Bagi para penggiat open source dan developer pada umumnya, hal ini tentu sangat menguntungkan. Kompiler, library, tools, dan terutama Kotlin sendiri dapat diakses secara gratis. Seperti yang disebutkan sebelumnya, Kotlin memiliki lisensi Apache 2.0. Kamu pun bisa memantau atau berkontribusi untuk pengembangan Kotlin pada repo-nya di https://github.com/jetbrains/kotlin. Beberapa IDE yang bisa kamu gunakan seperti IntelliJ IDEA, Android Studio dan Eclipse juga termasuk ke dalam open-sources software.

Sekarang ada ratusan developer yang telah menyumbangkan ribuan komitmen untuk pengembangan Kotlin. Jika kamu tertarik untuk berkontribusi, tersedia juga panduan yang lengkap pada tautan ini. Semakin banyak kontribusi dari developer hebat, tentunya Kotlin akan semakin powerful.

Next Post Previous Post
No Comment
Add Comment
comment url