Sunday, June 18, 2017

Intro to Kotlin

Sampai dengan 17 Mei 2017 kemarin, java merupakan satu-satunya bahasa yang secara resmi didukung oleh Google sebagai bahasa yang digunakan untuk mengembangkan aplikasi Android. Pada Acara Google I/O 2017 yang diadakan google di Mountain View, California, Google mengumumkan Kotlin akan ditambahkan sebagai bahasa resmi untuk mengembangkan aplikasi Android.

Dengan diumumkannya berita ini, saya tertarik untuk mencari tau tentang bahasa Kotlin dan ingin berbagi sedikit mengenai Kotlin dengan tulisan ini.

About Kotlin

Apa itu Kotlin? Kotlin adalah bahasa pemrograman yang dikembangkan oleh tim dari JetBrains yang dipimpin oleh Andrey Breslav. Proyek ini dimulai pada tahun 2010 dan secara resmi diumumkan ke publik pada tahun 2011. Satu tahun berikutnya sekitar Februari 2012, proyek ini dijadikan open source dan siapapun dapat berpartisipasi dalam pengembangan bahasa ini.

Sama seperti java, Kotlin diambil dari nama sebuah pulau. Pulau Kotlin terletak di Negara Rusia. Tujuan dibuatnya bahasa ini adalah sebagai bahasa umum yang dapat digunakan sebagai alat yang aman, ringkas, fleksible dan 100% kompatif dengan java. Saat ini Kotlin dapat berjalan pada JVM, Javascript compiler dan Android Dalvik Virtual Machine (DVM).

Pro & Con

Berikut ini adalah beberapa pertimbangan dalam menggunakan bahasa Kotlin. Terdapat banyak alasan mengapa kita harus menggunakan bahasa Kotlin, diantaranya adalah sebagai berikut:
  • Concise
  • Safe
  • Interoperable with java
  • Tool-friendly
  • Many cool feature:
  • Data class:
    • Multiple top level declaration,
    • Names parameter,
    • Optional semicolon,
    • Extensions,
    • Default parameter,
    • Single expression function,
    • Safe operator.
  • Officialy supported by Android
  • Kotlin/Native
Sedangkan untuk contra-nya adalah, kita membutuhkan waktu untuk mempelajari bahasa baru dan ukuran file .apk yang dihasilkan akan sedikit lebih besar jika dibandingkan dengan menggunakan bahasa java.

Overview

Berikut ini adalah overview perbandingan syntax Kotlin dengan java:

 

Try Kotlin

Dalam bagian ini saya akan sedikit menjelaskan fitur-fitur pada Kotlin yang menurut saya keren dan dapat memudahkan programmer dalam menulis program.
  • Multiple Top Level Declaration
Fitur ini memungkinkan kita untuk menulis sebuah fungsi dan kelas pada level yang sama, berbeda dengan bahasa java yang mewajibkan top level declaration-nya adalah sebuah kelas.
  • Names Parameter
Dengan Fitur ini, kita tidak perlu lagi mengingat-ingat urutan sebuah parameter dari sebuah fungsi. Fitur ini sangat berguna jika suatu fungsi memiliki banyak parameter dan kita tidak ingat urutan parameter-parameternya.
  • Optional Semicolon 
Salah satu target dari bahasa kotlin adalah programmer java. Dalam bahasa pemrograman java, semicolon merupakan suatu hal yang wajib. Pada Kotlin, keberadaan semicolon bukanlah suatu hal yang penting. Itu artinya kita dapat menulis sebuah statement dengan atau tanpa menggunakan semicolon. Hal ini sangat memudahkan dalam transisi dari bahasa yang mewajibkan semicolon di setiap statement ke Kotlin.
 
  • Default Parameter
Seringkali kita dihadapkan pada suatu objek yang memiliki lebih dari satu macam jenis deklarasi. Kotlin mengakomodasi hal ini dengan fitur default parameter.

Pada kelas Money di atas, jika kita tidak menginisalisasikan nilai amount, dan currency, Kotlin akan otomatis menginisialisasikannya dengan default parameter yang telah kita tentukan saat mendefinisikan kelas Money, yaitu currency akan otomatis diinisialisasikan dengan string kosong, dan amount akan diinisialisasikan dengan nol. 

Conclusion

Terdapat banyak fitur dari kotlin yang dapat meningkatkan produktivitas dalam menulis program. Sebagai Software Enginner yang lahir dan besar dengan bahasa java, bagi saya mempelajari bahasa baru untuk menulis program bukanlah hal mudah dan menyenangkan. Meskipun demikian, setelah mengenali Kotlin saya tertarik untuk mempelajari bahasa ini dan menggunakannya sebagai bahasa dalam menulis program.

Kesimpulan dari tulisan ini adalah jangan ragu atau bahkan takut untuk mempelajari sebuah bahasa baru meskipun kita sudah familiar dan mahir dengan satu bahasa. Karena pada akhirnya, bahasa pemrogramman hanyalah sebuah alat yang kita gunakan untuk membuat program.

Reference

No comments:

Post a Comment