Java vs Kotlin untuk Android: pendapat pengembang

Dalam survei Stack Overflow pada 2018, 45,3% responden menyebut Jawa sebagai bahasa pemrograman paling populer, dan Kotlin hanya memilih 4,5% pengembang. Namun, pada Mei 2019, Google mengumumkan Kotlin sebagai bahasa pemrograman prioritas. Korporasi tidak menyerukan untuk meninggalkan C ++ dan Java, tetapi perselisihan antara programmer semakin memanas.

Netology telah belajar dari pengembang bahasa pemrograman yang mereka gunakan dan bagaimana mereka melihat masa depan Jawa dan Kotlin.

"Utas utama akan tetap di Jawa, dan Kotlin akan digunakan untuk pengembangan cepat"



Dmitry Kachalov, Programmer Utama, Kelly IT Solutions

Bahasa apa yang dia tahu. Awalnya, saya mempelajari bahasa pengembangan web, tetapi pada beberapa titik saya ingin melakukan pengembangan ponsel juga. Saya mulai mempelajari pengembangan untuk Android dan menguasai bahasa Jawa pada tingkat minimum yang diperlukan sehingga saya bisa menulis aplikasi pertama, berjalan di telepon, menerbitkan di pasar. Ini kembali ketika Kotlin hanya muncul dan tidak dikenal oleh kalangan luas pengembang.

Yang menggunakan. Sekarang ketika mengembangkan aplikasi perusahaan, saya menggunakan Java. Banyak perpustakaan tersedia untuknya, ada modul yang sudah jadi. Selain itu, Android Studio mendukungnya sedemikian rupa sehingga Anda benar-benar dapat menulis satu huruf, dan kodenya akan dituliskan untuk Anda. Sangat nyaman.

Dalam praktik saya, tidak ada yang membutuhkan pengetahuan tentang bahasa lain. Biasanya Java sudah cukup, karena memiliki banyak perpustakaan dan dimungkinkan untuk melakukan tugas apa pun secara prinsip. Satu-satunya hal yang patut dipertimbangkan adalah keterbatasan platform Android itu sendiri. Karena apa pun bahasanya, semua pembatasan cepat atau lambat bersandar pada pembatasan platform. Menurut pendapat saya, tidak ada banyak perbedaan di mana bahasa untuk melaksanakan tugas, yang utama adalah menemukan solusi yang baik yang akan bekerja dalam platform tertentu.

Mengapa memilih Java. Di dalamnya Anda dapat membuat layanan gratis, metode API Anda sendiri, situs tulis, server, aplikasi seluler. Ini pada dasarnya adalah bahasa universal di mana Anda dapat melakukan sejumlah besar operasi dan mengembangkan berbagai aplikasi. Baginya ada banyak perkembangan dan perpustakaan. Dan juga - komunitas besar yang selalu siap menjawab pertanyaan dan bantuan.

Tentang konfrontasi dan masa depan bahasa. Kotlin jelas merupakan langkah maju yang menarik, tetapi menurut saya, tidak membawa pendekatan dan paradigma baru. Ini hanya mengurangi waktu yang diperlukan untuk menulis kode dengan konstruksi yang lebih pendek. Pada saat yang sama, masih berbasis di Jawa yang sama.

Dalam waktu dekat, Jawa masih akan menjadi yang paling populer. Utas utama akan tetap berada di Jawa, dan Kotlin akan digunakan untuk pengembangan cepat dalam konteks pembuatan prototipe aplikasi sederhana atau pembuatan prototipe. Meskipun ini adalah sudut pandang yang sangat provokatif. Kotlin kompatibel dengan Java, jadi Anda tidak bisa mengatakan bahwa sesuatu akan berubah secara mendasar.

“Jika Anda seorang pemula dan ingin bekerja dengan Android, pelajari Kotlin. Kalau tidak, saya akan memilih Java "



Artem Pervushov, spesialis Android ATC berlisensi, penulis program kursus Pengembang Android di Netology

Mengapa memilih Java. Pertama-tama, Anda perlu memahami apa itu Kotlin. Kotlin lebih lanjut tentang gula sintaksis. Apakah saya membutuhkan banyak gula? Mungkin tidak, saya sudah terbiasa membaca kode Java dan tidak membuat kesalahan (hampir). Haruskah seorang pemula dalam pemrograman memilih Java yang jelas lebih kompleks? Mungkin juga tidak.

Masih perlu mempertimbangkan manfaat menginvestasikan waktu Anda. Java adalah cerita tidak hanya tentang Android dan desktop. Ada banyak proyek lain di dalamnya. Dan jika Anda ingin pergi dari Android ke tempat lain, mengetahui bahasanya akan berguna.

Tentang masa depan bahasa. Mungkin di masa depan Kotlin akan mengambil alih dunia, atau mungkin tidak. "Capture the world" Go, Python, Ruby, JS, <gantikan yang diperlukan> jauh lebih jarang daripada yang dikatakan oleh penggemar teknologi ini. Karenanya, saran saya adalah ini - jika Anda seorang pemula dan bertekad untuk menghubungkan takdir Anda dengan Android - pelajari Kotlin, itu mudah dan modis. Kalau tidak, saya akan fokus pada Java.

"Pengembang Kotlin dapat menggunakan kerangka kerja Java dan perpustakaan dan menulis kode yang lebih mudah dimengerti dan sederhana."



Semyon Pilunts, pengembang Android, pakar dalam kursus Netologi

Bahasa apa yang dia tahu. Kenalan saya dengan pemrograman terjadi di institut saya, saya mulai dengan Pascal, saya juga belajar Basic, QBasic. Sudah di akhir tahun sekolah saya, saya mulai belajar C. Saya tidak berhenti di situ dan mulai belajar bahasa lain - Javascript, VB 6.0, MS SQL, Java. Dia segera menyadari bahwa Jawa paling dekat dengan saya, jadi dia memutuskan untuk fokus padanya.

Setelah beberapa tahun, secara kebetulan, saya mulai menggunakan Java untuk membuat aplikasi seluler untuk Android. Terkadang perlu menggunakan Javascript, HTML, SQL di Android itu sendiri. Mengetahui bahasa lain selalu membantu.

Yang menggunakan. Saat ini saya bekerja di Jawa dan Kotlin. Sejauh ini, kami tidak bisa sepenuhnya meninggalkan Jawa, tetapi kami secara bertahap terus maju.

Dalam praktiknya, sebelum melakukan tugas, Anda perlu mengevaluasinya, memilih pendekatan dan cara untuk mencapainya. Di sini akan menjadi jelas bahasa mana yang lebih baik untuk digunakan. Dalam hal ini, tidak akan ada situasi ketika Anda tidak dapat mengatasi tugas tersebut. Pada saat yang sama, pengembang Kotlin dapat menggunakan kerangka kerja Java dan perpustakaan dan menulis kode yang lebih mudah dimengerti dan sederhana.

Kenapa Kotlin lebih suka. Menggunakan Kotlin lebih mudah dan lebih nyaman daripada Jawa. Di dalamnya, kode program diperoleh rata-rata 40% lebih pendek. Dan itu memungkinkan Anda untuk mencegah beberapa kesalahan yang mungkin terjadi selama eksekusi program. Ketika kode lebih sederhana dan lebih mudah dipahami, kesalahan lebih sulit dibuat dan lebih mudah dideteksi, sehingga jumlahnya berkurang dengan cepat. Anda menghabiskan lebih sedikit waktu untuk mengembangkan dan menguji.

Tentang masa depan bahasa. Saya pikir dalam waktu dekat Kotlin akan dapat hampir sepenuhnya menggantikan Jawa. Sudah, ini mencakup pasar Android sebesar 50%, dan ini hanya 3 tahun setelah kemunculannya. Tapi tetap saja, Jawa perlu tahu, tanpa itu, akan sulit untuk mentransfer kode ke Kotlin. Di sini saya perhatikan bahwa Kotlin sepenuhnya kompatibel dengan Java, artinya, sama sekali tidak perlu untuk segera sepenuhnya menulis ulang aplikasi. Seringkali lebih mudah untuk melakukan ini secara bertahap.

Dan pengembangan aplikasi Android bukan satu-satunya arah Kotlin. Ini mendukung JavaScript, programmer dapat mentransfer antarmuka ke sana, Kotlin sangat bagus untuk mengembangkan aplikasi server, memungkinkan Anda untuk menulis kode pendek dan ekspresif, sambil mempertahankan kompatibilitas penuh dengan tumpukan berbasis teknologi Java yang ada. Pembuatnya juga menambahkan dukungan Gradle sehingga pengembang dapat menulis file Gradle di atasnya. Secara aktif adalah pengembangan Kotlin Native, yang dengannya Anda dapat membuat aplikasi-aplikasi iOS.

“Kotlin tidak lebih baik dari Jawa pada umumnya, tetapi lebih baik di dunia Android”



Ilnaz Gilyazov, salah satu pendiri AIMS, penulis kursus Pengembang Kotlin di Netologi

Bahasa apa yang dia tahu. Awalnya, saya belajar beberapa bahasa sesuai kebutuhan: Assembler, C / C ++, kemudian Java, JS, PHP, Python. Karena saya bekerja dan bekerja di bidang keamanan informasi, saya tidak bisa berhenti dalam satu bahasa.

Yang menggunakan. Sekarang saya memilih alat tergantung pada tugas dan preferensi pelanggan. Untuk backend - Java / Kotlin, untuk hal-hal ringan tanpa banyak integrasi - Go / NodeJS, untuk frontend - kerangka kerja JS / TypeScript +, untuk hal-hal sistem - C ++ / Go. Artinya, saya memperhitungkan bukan preferensi pribadi, tetapi melanjutkan dari tugas dan kemampuan bahasa dan ekosistemnya.

Kenapa Kotlin lebih suka. Kelebihan dari bahasa Kotlin dalam hal-hal baru, dalam keinginan untuk menyediakan pengembang dengan alat sederhana dan nyaman yang tidak memerlukan banyak kode. Ini adalah gula sintaksis dan coroutine. Kotlin memungkinkan Anda untuk menulis lebih sedikit kode - itu menyenangkan.

Di Android, memilih Kotlin sebagai ganti Java sudah jelas. Di dunia backend, posisi Kotlin jauh lebih lemah, meskipun di sana pun ia berhasil. Kerangka Kerja Pegas (yang bagi banyak orang merupakan standar di backend) termasuk chip untuk Kotlin yang tidak tersedia untuk Java. Ini sudah mengatakan banyak hal. Di backend yang besar dan kompleks, kami masih bekerja di Jawa, meskipun kami menggunakan Kotlin di beberapa tempat. Dalam kasus arsitektur microservice, di mana microservice spesifik tidak memerlukan sejumlah besar integrasi, Kotlin merasa hebat.

Kotlin tidak lebih baik dari Jawa pada umumnya, tetapi lebih baik di dunia Android. Meskipun ini juga dapat diperdebatkan, itu semua tergantung pada parameter yang kami evaluasi.

Tentang konfrontasi dan masa depan bahasa. Konfrontasi antara pengembang di Kotlin dan Jawa kadang-kadang diamati dalam proyek-proyek di mana tidak ada kesepakatan bersama dan menggunakan kedua bahasa. Dan ada fanatik yang percaya pada satu-satunya bahasa yang benar. Kalau tidak, semuanya lebih atau kurang lancar, meskipun kekasaran tetap pada masalah integrasi. Jika Anda ingin menjadi pro di Android, Anda harus tahu kedua bahasa. Ngomong-ngomong, ada baiknya membiasakan diri dengan fakta bahwa Anda harus terus-menerus mempelajari bahasa, perpustakaan, kerangka kerja, gagasan, dan pendekatan baru.

Sekarang masa depan Java di Android tidak jelas. Ketika kami mentransfer semua proyek Android kami ke Kotlin, Java di Android macet di versi ketujuh dengan beberapa chip dari yang kedelapan. Dan masih belum jelas apakah Google bermaksud untuk menyelesaikan perselisihannya dengan Oracle dan memperkenalkan dukungan untuk versi baru, atau akan memikirkan posisi saat ini. Oleh karena itu, berinvestasi dalam belajar, menggunakan, dan mendukung Java di Android tampaknya setidaknya berisiko dalam jangka menengah.

Kotlin berkembang kurang lebih dapat diprediksi dan menyediakan pembungkus yang memungkinkan Anda untuk menggunakan semua fitur modern bahasa, menambah sejumlah fasilitas dan kemampuan khusus untuk pengembangan untuk Android. Ini adalah faktor penting yang mempengaruhi kepuasan pengembang.

Dalam waktu dekat, saya tidak berpikir Kotlin akan menggantikan Jawa. Sebaliknya, ia akan dapat hidup berdampingan dengan Jawa, karena pada awalnya berorientasi pada ini. Berharap bahwa sebagian besar perpustakaan Java populer yang ada tidak akan ditulis ulang di Kotlin. Tetapi Anda dapat menulis di Kotlin (setelah memahami nuansa Kotlin <-> integrasi Java, misalnya, refleksi dan semua perangkap) dan menggunakan perpustakaan yang ditulis dalam Java.

“Sekarang tidak ada yang mencari pengembang dengan pengetahuan hanya Jawa atau hanya Kotlin. Anda harus menjadi spesialis universal ”



Dmitry Gordin, pengembang Android di RoadAR

Tentang konfrontasi. Agar tidak membiakkan penghasutan dan tidak didasarkan pada perasaan pribadi, mari kita lihat pemain pasar utama. Pertama, Google mengakui Kotlin sebagai bahasa pengembangan utama untuk Android. Kedua, ini adalah bagaimana lowongan di HH.ru dari perusahaan top terlihat seperti:

  • Tinkoff - “Nilai tambah yang signifikan: pengalaman dalam mengembangkan aplikasi di Kotlin”;
  • Yandex - "Selamat datang: pengalaman pengembangan di Kotlin";
  • Redmadrobot - “Diinginkan: pengalaman pengembangan Kotlin”;
  • bahkan "Russian Post" - "Kami mengharapkan pengetahuan dan kompetensi berikut dari Anda: pengetahuan tentang tumpukan teknologi Android SDK, Kotlin / Java".

Tentang pilihan bahasa. Anda harus tahu kedua bahasa. Tidak mungkin mengenal Kotlin dan tidak mengenal Jawa. Liga yang membosankan mungkin menemukan kesalahan dan memperhatikan bahwa ada penduduk asli Kotlin yang tidak terkait Java. Tetapi kita berbicara tentang pengembangan Android, yang berarti runtime Dalvik / ART. Karena itu, semua pengusaha yang menulis bahwa mereka mencari pengembang di Kotlin sebenarnya mencari kedua bahasa tersebut.

Menurut pendapat saya, cara terbaik adalah merasa nyaman dengan Java, dan kemudian mulai beralih ke Kotlin dengan lancar. Kotlin tidak membalik semua yang Anda tahu dari Jawa terbalik. Anda dapat beralih ke bahasa baru dengan sedikit perubahan dan menulis dalam "gaya Java", secara bertahap mengklarifikasi kode Anda, menambahkan gula dan chip khusus Kotlin ke dalamnya.

Dari para editor


Kami memperhitungkan situasi saat ini dengan bahasa pemrograman dan pendapat dari para pengembang itu sendiri - kami mengajar Java dan Kotlin pada kursus “ Pengembang Android dari awal ”. Berkat ini, siswa dapat memilih bahasa yang akan digunakan di masa depan, atau menggunakan keduanya.

Source: https://habr.com/ru/post/id461877/


All Articles