25 Alasan Java Masih Tetap Populer pada 2024
(medium.com)“Ada dua jenis bahasa pemrograman: bahasa yang dikeluhkan orang dan bahasa yang tidak digunakan siapa pun.” — Bjarne Stroustrup.
“Orang-orang yang mengkritik dan mengeluhkan Java biasanya masih muda, dan tampaknya lebih banyak terpapar JavaScript dibanding apa pun yang lain. Dibandingkan JS, Java mungkin terasa agak berat dan membatasi. Boilerplate ada di mana-mana, begitu juga sistem tipe yang ditegakkan dengan ketat oleh compiler. Tetapi jika diberi pilihan, saya akan memilih codebase Java yang kurang optimal ketimbang JS. Tidak diragukan lagi.”
“Baru setelah Anda mendapatkan pengalaman nyata menangani kode yang tersebar di puluhan atau ratusan file, Anda mulai menyadari bahwa apa yang disebut 'batasan' di Java sebenarnya adalah pengaman yang mencegah Anda menembak kaki sendiri.”
“Menemukan Java dan beralih kembali ke sana terasa seperti sebuah pencerahan. Saya menyadari bahwa saya mencintai Java dan ekosistemnya. Jadi saya memutuskan untuk menuliskan beberapa hal yang paling saya sukai dari ekosistem Java. Jadi, jika seseorang mencela Java, berikut 25 alasan yang bisa Anda gunakan untuk menjelaskan mengapa mereka keliru.”
- Ekosistem yang matang
- WRITE ONCE, RUN EVERYWHERE
- Kompatibilitas dengan versi sebelumnya (backward compatibility)
- Bahasa bertipe kuat (strongly typed)
- Siklus rilis cepat, peningkatan berkelanjutan
- IDE yang bagus
- Dukungan Native Image dari GraalVM
- Library dan framework open source
- Multithreading
- Pemrograman berorientasi objek yang matang
- Manajemen memori dan garbage collection
- Observability dan monitoring
- Dukungan pemrograman fungsional
- Dokumentasi yang kaya
- Build tool dan manajemen dependensi
- Kemampuan testing yang kuat
- Komunitas yang sangat besar
- Annotation
- Fitur keamanan
- Kumpulan API yang kaya
- Performa
- Structured concurrency
- Virtual thread
- Pattern matching untuk statement
switch - String template
62 komentar
Semua hal yang dituliskan sebagai keunggulan Java sebenarnya terasa seperti justru merupakan hal-hal yang jauh lebih baik di bahasa lain selain Java.
Tidak ada yang menyebut Spring.
Saya sendiri tidak punya keluhan terhadap bahasa Java itu sendiri,
tetapi realitas di dalam negeri yang mengharuskan belajar Spring terasa agak menyesakkan, jadi jadinya terasa kurang menarik.
Java memang bagus, tapi Spring itu... mengerikan sob
Semua 25 poin itu tidak punya daya beda. Terlepas dari soal rasa hormat, ini cuma para hiena di pesta besar warisan legacy.
Mereka memang memaparkan sampai 25 alasan mengapa Java masih populer pada 2024,
namun sepertinya ada cukup banyak bahasa lain yang bisa menjadi pengganti meskipun bukan Java...
Yang populer itu JVM.
Sebagian besar alasannya, jika dibandingkan dengan ekosistem bahasa modern lainnya,
sebenarnya bukanlah keunggulan yang terlalu menonjol, dan tampaknya penulis menulis artikel ini tanpa benar-benar membedakan antara Spring dan Java.
Bahasa seperti Java wajar disukai karena ekosistem pengembangannya sudah sangat matang.
Demikian juga, karena kita bisa bekerja paling optimal hanya di dalam ekosistem itu, kita jadi ingin tetap bekerja di sana saja, dan kalau diminta ke lingkungan lain pun bisa timbul rasa enggan.
Namun ke depan, AI akan makin mahir dalam coding untuk bahasa-bahasa seperti ini, dan tampaknya kemampuan beradaptasi untuk bertahan di beragam lingkungan, bukan hanya di lingkungan yang paling nyaman bagi diri sendiri, akan lebih dibutuhkan daripada sebelumnya.
Dari sudut pandang itu, kemampuan beradaptasi dengan berbagai bahasa kini terasa bukan lagi pilihan, melainkan keharusan.
Kalau harus membuat web app Entries, saya kemungkinan pasti akan memakai Java. Karena rasanya cukup selesai hanya dengan alasan nomor 1... Kalau pengembangannya sederhana dan perlu cepat, sepertinya Python bagus. JS sih... menurut saya terlalu ribet jadi bikin kesal.
Kalau mau memilih Java, saya lebih memilih Kotlin, dan saya menilai bahwa dibanding Java sebagai bahasa, keluarga bahasa .NET adalah yang lebih mampu mengikuti perkembangan Kotlin.
Java sebaiknya tetap menjadi bahasa untuk pemeliharaan server instansi pemerintah yang dulu dibangun dengan Java; para CEO di Korea cenderung bersikeras memakai Java karena sudah akrab dengan kata Java dari iklan yang mereka lihat. Cobalah Kotlin dan .NET, lalu pertimbangkan Java.
Ngomong-ngomong karena Java sempat dibahas... bagaimana dengan Go? Saya sendiri sebenarnya lebih suka Kotlin daripada Java, tetapi karena terlalu sering merasakan frustrasi dengan Gradle, akhirnya saya menetap di Go. Dari sudut pandang orang yang sempat memakainya sebentar, saya jadi berpikir: bukankah di mana pun Java dibutuhkan, Go juga bisa menutupinya?
Kalau JS/TS, saya juga suka, tetapi bagaimanapun membandingkannya sejajar dengan Java rasanya agak dipaksakan. Bagaimanapun juga tetap ada batasan single-thread, dan memang ada yang menjalankan multi-processing dengan pm2 dan semacamnya, tetapi Java juga sudah bagus dengan virtual thread, dan menurut saya justru ini lebih baik. Tentu saja alur pikiran saya sempat bergerak ke arah itu, lalu setelah melihat goroutine saya malah menetap di Go... wkwkwk;;
Menurut saya, yang terbaik adalah menggunakan bahasa di tempat yang paling sesuai sesuai kebutuhan. Bahkan sekarang pun di tahun 2024 saya masih sangat menyukai PHP, dan saya juga menyukai JS serta Java(Kotlin), meski tidak sebesar Go. Bahasa hanyalah alat, jadi bukankah yang penting adalah memakainya dengan baik sesuai tujuan alat tersebut? Itulah sebabnya saya meninggalkan komentar ini.
Menurut saya sekarang sudah benar-benar mencapai tingkat yang layak dipakai. Saya juga di kantor hanya bekerja dengan go.
Dulu, pada masa masih memakai godep dan glide, kalau ada dependency yang sedikit meleset saja, butuh seharian penuh untuk menyesuaikannya, sampai-sampai saya sempat berpikir ini benar-benar bahasa pemrograman atau cuma sesuatu yang berada di pinggirannya.. 😂
Meski ada batasan single-thread, di era orkestrasi dengan membungkusnya dalam container lalu mengatur agar konsumsi CPU per pod tidak berlebihan, saya merasa batasan itu tidak sebesar itu, ya?
Kalau seperti dulu, saat banyak container dijalankan di satu server dan container tersebut memang memakan CPU sangat besar, itu lain cerita.
Untuk kebanyakan web server, CPU biasanya tidak terlalu banyak terpakai dan throughput IO justru tinggi, jadi menurut saya Node juga bisa diperlakukan sebagai salah satu opsi.
Tentu saja, jika domain-nya memang membutuhkan CPU besar, kita bisa mempertimbangkan bahasa lain, atau memanggil kode native melalui
napi.Saya rasa ini bahasa yang berguna untuk pekerjaan asinkron karena memiliki karakteristik abstraksi yang baik untuk pekerjaan asinkron melalui goroutine. Kode asinkron di Rust atau Python terasa seperti terlalu banyak dipikirkan. Baik saat menulis maupun membacanya, beban kognitifnya cenderung cukup tinggi.
Saya hanya pernah memakai Go sebelum ada generic, dan menurut saya itu bahasa yang hebat. Pada awalnya tool-nya memang sangat kurang bagus, tetapi sekarang sudah banyak berkembang.
Sintaksnya memang agak kasar, tetapi justru karena itu jadi mudah dipelajari.
Jangan berantem....
Diskusi semakin memanas.
Jika ada sanggahan, mohon tuliskan hanya isinya saja.
Komentar yang melanggar aturan penggunaan situs telah dihapus.
Selain itu, akun yang berulang kali melakukan aktivitas yang tidak sesuai dengan aturan penggunaan telah diblokir, harap maklum.
Mohon jaga diskusi tetap sehat.
Java 1.8 benar-benar versi yang luar biasa!
Menurut saya, slogan
write once run everywheresekarang mungkin sudah saatnya mulai ditinggalkan juga.. wkwkTapi ya karena itu Java! wkwkwk
Ngoding Java di IDEA itu menyenangkan, tapi kalau tidak ada IDEA saya pasti sengsara. (Dan dulu memang sengsara.)
Di dalam negeri, ada keuntungan dalam perekrutan dan juga Electronic Government Framework, sampai-sampai muncul ungkapan "Republik Java", jadi memang ada banyak developer Java.
Di perusahaan juga banyak kasus beralih dari bahasa lain ke Java, dan dari pengalaman saya, sebagian? developer Java tampaknya hanya ingin mengerjakan Java saja.
Katanya bahasa lain yang sudah dibangun sebelumnya bermasalah dan harus dialihkan ke Java. Tapi Kotlin pun tidak mau dikerjakan.
Terlihat seperti ada penolakan untuk mempelajari sesuatu yang baru. Rasanya seperti, kalau semuanya bisa dikerjakan dengan Java, untuk apa repot?
Bukankah orang yang mengerjakan SI biasanya tidak memakai generic?
Sepertinya yang Anda maksud justru itulah masalahnya .. wkwkwk
Kalau sudah begini, rasanya Java itu seperti agama.
Orang-orang yang mengkritik dan mengeluhkan Java kebanyakan masih muda, dan tampaknya lebih banyak terpapar JavaScript daripada apa pun yang lain.Kalau pernyataan itu dibalik, artinya bisa juga dipahami bahwa orang-orang yang pernah benar-benar memakai js justru mengalami sendiri bahwa java itu kurang bagus.
Kenapa tidak mengakui saja bahwa masing-masing punya kelebihan dan kekurangan, dan yang dibicarakan malah cuma bahwa java lebih baik...
Mirip seperti orang-orang yang belum pernah memakai document db tapi tetap bilang sql itu lebih baik tanpa peduli karakteristiknya seperti apa.
Sepertinya mereka juga mengabaikan fakta bahwa Java tetap tidak tergantikan karena sebelumnya sudah sangat banyak dipakai, dan banyak developer senior hanya bisa Java serta tidak ingin mengubahnya. Kalau dilihat dari titik sekarang, menurut saya kekuatan khas Java sendiri sudah hampir tidak ada.
Berdasarkan pengalaman saya selama ini, saya rasa Python dan JS memiliki proporsi penggemar fanatik yang lebih besar.
Mungkin itu karena posisinya adalah harus lebih menonjolkan JS/Python dibanding bahasa Java, jadi bisa terasa seperti argumennya lebih kuat.
Secara pribadi, saya memang pernah melihat beberapa orang yang bahkan tidak bisa membayangkan memakai bahasa lain selain Java. Sementara itu, kebanyakan orang yang sebelumnya memakai bahasa lain umumnya punya kemauan untuk menggunakan bahasa yang berbeda tergantung situasinya.
Saya bisa membayangkan itu mungkin terjadi jika bahasa pertama seseorang adalah Java, tetapi saya sendiri belum pernah melihat kasus seperti itu di sekitar saya, jadi agak sulit membayangkannya.
Saya juga pertama kali belajar bahasa C++ saat masuk kuliah dan mengikutinya di kelas, lalu seiring naik tingkat saya secara alami mengenal bahasa-bahasa lain, jadi saya tidak merasa terlalu terbebani saat harus mempelajari bahasa baru... Sebenarnya sintaks dasarnya pun mirip-mirip, seperti deklarasi variabel, struktur kontrol, fungsi, dan sebagainya.
Dalam kasus seperti itu, kemungkinan saat pertama kali belajar bahasa pemrograman, cara belajarnya terlalu sempit sehingga spektrumnya ikut menjadi sempit. Dan saya justru lebih sering melihat hal seperti itu pada orang-orang yang pertama kali mengenal Python untuk tujuan deep learning atau statistika matematis. Saya juga begitu, dan karena keduanya sama-sama berdasarkan pengalaman pribadi, mungkin dua-duanya benar.
Saya juga punya pengalaman serupa, jadi saya berpikir sama.
Orang yang menyukai Python biasanya tidak ngotot bilang Python adalah bahasa yang bagus. Begitu juga dengan JS, hampir tidak ada yang memaksa bilang bahasanya bagus. Python maupun JS hanya punya ekosistem yang baik untuk pengembangan di bidang tertentu. Entah kenapa, justru hanya orang-orang Java yang terkesan selalu ngotot bilang Java itu pasti bagus..
JS bahkan sering dijadikan bahan lelucon oleh para pengembang JS sendiri. Ini bisa disebut bahasa, ya... kalau tidak ada TS, aduh terisak
Kalau mau membela Java, di sisi lain rasanya justru Java yang paling sering jadi bahan olok-olok karena berbagai alasan. Posisi seperti om tetangga yang akrab bagi semua orang...?
Akhir-akhir ini kalau mencari konten terkait Java di Google,
yang bermunculan adalah blog berbahasa Korea dengan isi yang sama persis seperti yang diajarkan di tempat kursus,
jadi sulit menemukan referensi yang benar-benar layak dan itu sangat menjengkelkan.
Pencarian Google memang jadi jauh lebih buruk...
18, 25, 20, 10, 8, 6, 5, 3, 2, 1, dan seterusnya, bukan hak eksklusif Java. Perbandingan yang keliru
Kalau dilihat sekarang, Java juga punya fitur-fitur seperti ini dan tidak ada alasan untuk terus dicela; rasanya ini bukan berarti menyuruh orang memakai Java hanya karena hal itu hanya bisa dilakukan di Java.
Malah saat membacanya saya cuma kepikiran, hmm.. bukannya .NET lebih bagus ya?
Saya juga suka C#, tetapi di lingkungan selain Windows, rasanya tidak perlu memaksakan untuk menggunakannya.
Isinya sama seperti komentar di atas. Masa itu sudah benar-benar berakhir sejak lama.
Pilihan MS yang terlambat ternyata merusak persepsi orang sampai seperti ini.
Kalau hanya membuat aplikasi Windows, ekosistem MS memang punya banyak keunggulan sehingga bagus, tetapi di Linux atau macOS saya rasa tidak ada yang lebih baik daripada Java. Walaupun MS belakangan ikut mendukungnya, tidak ada alasan khusus untuk harus memakainya. Momennya sedang kurang bagus.
Itu bukan lagi .NET pada era .NET Framework, jadi apakah harus dibatasi hanya untuk aplikasi Windows?
Bahkan game engine berbasis .NET sudah berjalan di ponsel yang kalian pegang sekarang;
222
333
Bukannya mengkritik Java, tetapi alasan Java terasa menjengkelkan adalah karena hanya pengembang Java yang sering merendahkan dan membanding-bandingkan pengembang bahasa lain, serta punya kebanggaan aneh terhadap Java. Saya suka Java, tetapi tidak mengerti kenapa mereka begitu. Setiap bahasa punya filosofi, kelebihan dan kekurangan, serta ekosistem yang berbeda; hanya itu saja. Namun mereka tiba-tiba menunjukkan kebanggaan Java yang aneh, sehingga menimbulkan kesan tidak menyenangkan.
Sepertinya perlu ada materi yang bisa diajukan sebagai dasar kebanggaan pengembang Java terhadap Java. Jika sulit untuk diajukan, menurut saya itu adalah klaim yang sulit diterima.
Sepertinya memang selalu ada orang-orang seperti itu untuk bahasa atau alat apa pun. Saya rasa Java lebih menonjol karena pada saat dirilis merupakan bahasa yang lebih hip dibanding C/C++ sekaligus dipakai luas untuk kebutuhan enterprise, sehingga basis pengembangnya juga besar.
Dan belakangan ini, sepertinya para pengembang Rust yang mengambil peran itu.
Lucunya, alasan Java bisa menjadi arus utama adalah karena mereka menghabiskan biaya pemasaran yang sangat besar wkwkwk
https://www.youtube.com/watch?v=NVuTBL09Dn4
Ada video YouTube tentang bagaimana sebuah bahasa bisa menjadi arus utama, dan menurut saya orang lain juga akan merasa itu menarik untuk ditonton!
https://www.youtube.com/watch?v=QyJZzq0v7Z4
Seharusnya Anda kesal pada pengembang Java, tapi malah melampiaskannya ke Java...
Itu masalah literasi pihak sana…
Bahkan tanpa saya menjawab, orang lain sudah menuliskannya.
Bukan begitu?
Sepertinya bahkan tidak tahu apa itu literasi?
Tiba-tiba saya teringat Eclipse yang dibuat dengan Java dan VSCode yang dibuat dengan JavaScript (TypeScript)... apakah itu perbandingan yang keliru? Tentu saja, fitur Eclipse memang lebih banyak.
Itu perbandingan yang keliru..
Harus dilihat kapan kemunculannya.
Setelah Eclipse muncul, untuk beberapa waktu Eclipse punya posisi yang sama seperti VS Code sekarang.
Saya juga benar-benar tidak memakainya karena Eclipse sangat tidak nyaman digunakan,
tetapi pada saat itu tidak ada pilihan lain yang layak selain Eclipse.
Keunggulan JavaScript adalah mesin V8 dikelola oleh Google.
Java yang ditinggalkan..
Backend aplikasi Electron memang JavaScript, kan.. Proses utama dan proses renderer berjalan terpisah, tetapi keduanya sama-sama beroperasi dengan kode JavaScript.
Begitu juga JVM, pada akhirnya bukankah itu juga runtime yang diimplementasikan secara native?