JavaRush /Java Blog /Random-ID /Rehat kopi #68. Pendapat jujur tentang Jawa dan ekosistem...

Rehat kopi #68. Pendapat jujur tentang Jawa dan ekosistemnya. Tiga Alat Java Baru yang Perlu Dipertimbangkan pada tahun 2021

Dipublikasikan di grup Random-ID

Pendapat jujur ​​tentang Jawa dan ekosistemnya

Sumber: Dev.to Oke, saya akui bahasa utama saya adalah C#. Namun ini adalah pendapat saya yang tidak memihak tentang Jawa dan ekosistem sekitarnya. Saya cukup sering menggunakan perintah bash di Java, melihat segala kekurangannya. Misalnya, Java tidak memiliki properti, secara native tidak memiliki event, tidak ada struct, tidak ada operator yang kelebihan beban, dan hingga Java 10 tidak ada inferensi, jadi tidak ada 'var'. Segala sesuatu yang ada di C#! Juga, saya menggunakan bash untuk Java karena kurangnya LINQ, var dan enums. Padahal saya cukup banyak menulis di Java, terutama saat saya membuat aplikasi untuk Android, tapi untuk hal lain juga. Proyek pertama saya juga di Jawa! Jadi, pada Jumat malam, karena terdesak, saya harus menulis dalam bahasa Jawa selama beberapa jam berturut-turut. Dan coba tebak apa yang saya temukan? SUNGAI KECIL! Rehat kopi #68.  Pendapat jujur ​​tentang Jawa dan ekosistemnya.  Tiga Alat Java Baru yang Perlu Dipertimbangkan pada tahun 2021 - 1Rupanya Java 8 memperkenalkan thread! Dan saya tidak tahu tentang itu! Bagi Anda yang belum tahu, Streams adalah implementasi Java dari LINQ. Saya juga menemukan bahwa Java 10 memiliki tipe inferensi, jadi Java sekarang memiliki fungsi var! Saya tidak percaya betapa ketinggalan jaman pengetahuan saya, tapi sejujurnya, ada alasannya. Kedua hal ini membuat perbedaan besar dalam pemikiran saya! Tahukah Anda bahwa Java selalu memeriksa pengecualian, tetapi C# tidak? Saya akui saya sangat merindukan fitur ini di C#! Ya, tidak ada struktur, properti, dll., tapi sialnya, elegan! Saya pikir Java secara desain memaksa pengembang untuk menulis aplikasi yang lebih kuat. Sedangkan di dunia .NET, hal ini sebagian besar bergantung pada kebijaksanaan pembuat kode. Beberapa pengembang menyukai pembatasan ini, sementara yang lain lebih menyukai kebebasan. Meskipun kedua bahasa tersebut cukup aman, Java jelas memiliki sedikit keunggulan. Lantas, mengapa perusahaan besar lebih memilih Java? Saya rasa saya tahu jawabannya sekarang! Yang paling membuat saya frustrasi adalah... di sebagian besar contoh kode yang Anda lihat di internet, fitur-fitur canggih ini tidak selalu digunakan... Saya rasa jika pengembang Java baru melihat 'var' tertulis di seluruh basis kode , dia akan menjadi gila! Bagaimana dengan streaming? Apa itu stream? Pengembang Java menyukai loop For! Faktanya, bahkan perulangan foreach cukup jarang terjadi di dunia Java (dan mungkin ada alasannya: perulangan For jauh lebih optimal). Tapi ini bukan fitur buruk! Saya akan melangkah lebih jauh dan mengatakan bahwa fitur-fitur ini luar biasa! Sungguh menyakitkan saya ketika saya menulis aplikasi Android dan memperhatikan bahwa hampir tidak ada tempat di API Android yang menggunakan enum! Dan ini wajar karena Android dibuat bertahun-tahun yang lalu. Yang paling mengganggu saya adalah saya harus menggunakan konstanta setiap kali saya perlu menggunakan fungsi Aktivitas untuk Hasil di Android, seperti ini: int PICK_IMAGE_FROM_GALLERY = 3000 Aduh, ini gila! Namun orang-orang di seluruh dunia telah menerimanya. Dan bahkan aku. Java juga tidak memiliki implementasi acara asli! Kalau saja ada acara dan delegasi seperti C#... (Hai, pembuat bahasa Java, jika kalian membaca ini, Anda perlu menambahkan acara! Dan jika Anda sudah memilikinya atau sedang mengerjakannya, beri tahu saya ). Sekarang saya akan memberi tahu Anda apa yang mungkin menjadi kelemahan terbesar dalam ekosistem Java. DOKUMENTASI!!! Dokumentasi yang berantakan dan tidak membantu di situs Oracle terlihat bodoh dan ketinggalan jaman, pada level tahun 2007. Ia bahkan tidak selalu memiliki contoh kode. Jika Anda mulai mencari fitur atau metode API yang relatif tidak biasa, Anda akan menemukan definisi, deklarasi, argumen yang membosankan, paket mana yang dimilikinya - dan hanya itu. Menurut saya ini tidak masuk akal. Tidakkah menurut Anda ini tidak masuk akal? Tidak ada cuplikan kode? Jadi kami para pengembang harus sangat bergantung pada forum seperti StackOverflow, atau situs web pemrograman lain seperti TutorialsPoint... Terkadang mereka sangat membantu dengan contoh kode bagus yang menunjukkan fitur ini, tetapi di lain waktu mereka tidak begitu berguna. Saya sarankan membandingkan dokumentasi Microsoft di C# dengan dokumentasi Oracle di Java... Surga dan bumi! Tidak percaya padaku? Pergi dan periksa: Oracle dan Microsoft. Dokumentasi di situs Microsoft terlihat bagus! Mereka bahkan memiliki mode gelap! Kami para pengembang tergila-gila dengan mode gelap. Bagaimana dengan dokumentasi Oracle? Seperti yang saya katakan, itu tetap pada tahun 2007. Mungkin saat itu belum ada mode gelap? Jadi, saya ingin mengatakan bahwa Java itu luar biasa! Namun bahasa ini sangat menderita karena dokumentasinya yang sudah ketinggalan zaman. Ini sebagian besar adalah dokumen lama dan manual lama yang tidak menyoroti fitur baru yang sangat dibutuhkan seperti thread, vars, dan enum. Saat ini orang bilang Java mulai ketinggalan jaman dan akan digantikan oleh Kotlin, tapi saya tidak setuju. Karena kalaupun benar, dia tidak akan menggantikannya untuk waktu yang lama. Ini akan memakan waktu bertahun-tahun. Apakah Anda ingat Scala mencoba menggantinya juga? Jadi apa hasilnya? Java masih menguasai seluruh ekosistem JVM. Meskipun saya akui Scala sangat berbeda dengan Java, terutama dari segi fungsionalitas. Sekarang, akhirnya... satu hal lagi yang memberi saya lebih banyak emosi daripada apa pun di dunia Java. Ini mendapatkan JDK. Mengapa mengunduh JDK sangat sulit? Maksud saya adalah jika saya memerlukan JDK, pencarian Google sederhana akan mengarahkan saya ke situs web Oracle, saya pergi ke sana dan menemukan versi JDK yang saya perlukan. Sejauh ini semuanya relatif mudah, tetapi untuk mendownloadnya saya harus mendaftar. Mengapa saya membuat akun di Oracle dan kemudian menangani email mereka setiap minggu daripada hanya mengunduh JDK? Ingatlah bahwa Java adalah open source sejak hari pertama! Berbeda dengan C# yang baru menjadi open source pada tahun 2015. Jadi, saya sudah frustasi dan pergi ke website kedua di hasil pencarian Google. Itu mengarahkan saya ke situs OpenJDK. Saya menemukan JDK di sana dan klik "unduh". Tapi (kejutannya mengejutkan!) mereka menyediakan link ke implementasi JDK dari situs lain! Di antara situs-situs tersebut ada Oracle terkutuk ini, tetapi ada juga tautan ke situs Red Hat. Ya, Red Hat memang hebat, merupakan salah satu pionir perusahaan open source di dunia. Oke, saya akan mengunjungi situs web mereka! Saya akan mendownloadnya dari sana! Saya mengklik link ini, menemukan versi JDK yang saya cari, dan coba tebak? Saya harus mendaftar di sana juga... (jeda dramatis) Ini menyedihkan... Persetan! Ada apa dengan orang-orang ini? Akhirnya, saya menyerah dan menginstal Chocolatey (seperti apt-get, tetapi untuk Windows. Menurut saya ini adalah manajer paket pertama yang didistribusikan dan digunakan secara luas untuk Windows). Jadi setelah semua ini saya perlu menulis perintah sederhana di PowerShell seperti: choco install jdk-1.8. Dan saya melakukannya! (jika Anda seorang pengembang C#, Anda pasti tahu betapa mudahnya mendapatkan .Net SDK hanya dalam 2-3 klik, tanpa registrasi atau semacamnya). Sebagai kesimpulan kata-kata kasar saya yang panjang: Java adalah bahasa pemrograman yang hebat. Itu indah, dapat diandalkan dan (menurut saya) memiliki IDE terbaik di dunia - IntelliJ IDEA yang terkenal dari JetBrains. Selain itu, Jawa memiliki komunitas yang sangat membantu dan ekosistem yang besar dan beragam. Dan saya mengatakan ini - pengembang C#... Tapi kita perlu memperbarui dokumentasinya. Contoh kode. API. Kita perlu mempermudah mendapatkan JDK. Secara keseluruhan, Java bergerak ke arah yang benar, popularitasnya mungkin sedikit menurun akhir-akhir ini, namun hal itu tidak akan membuat Java hilang begitu saja. Selama bertahun-tahun, bahasa ini telah menduduki puncak daftar bahasa terbaik di dunia! Saya menggunakan Java sepanjang waktu dan akan terus melakukannya di masa mendatang.

Tiga Alat Java Baru yang Perlu Dipertimbangkan pada tahun 2021

Sumber: OpenSource Terlepas dari popularitas Python, Go, dan Node.js, yang telah digunakan secara aktif dalam beberapa tahun terakhir untuk mengimplementasikan proyek yang berkaitan dengan kecerdasan buatan, pembelajaran mesin, dan Kubernetes, teknologi Java masih memainkan peran penting dalam pengembangan aplikasi perusahaan. Menurut Developer Economics, terdapat 8 juta pengembang Java perusahaan di seluruh dunia pada kuartal ketiga tahun 2020. Rehat kopi #68.  Pendapat jujur ​​tentang Jawa dan ekosistemnya.  Tiga Alat Java Baru yang Perlu Dipertimbangkan pada tahun 2021 - 2Bahasa pemrograman Java telah ada selama lebih dari 25 tahun dan terus diperbarui. Alat dan kerangka kerja baru bermunculan yang dapat memberdayakan aplikasi dan karier Anda. Sebagian besar platform Java diciptakan untuk mengimplementasikan proses yang berjalan lama dengan perilaku dinamis, dirancang untuk berjalan di server atau mesin virtual. Hal ini berubah pada tahun 2014 dengan munculnya container Kubernetes. Saat ini, tantangan terbesar saat menjalankan Java di Kubernetes adalah: mengoptimalkan kinerja aplikasi dengan mengurangi jejak memori, mempercepat waktu startup dan respons, serta mengurangi ukuran file.

Tiga kerangka kerja dan alat Java baru

Pengembang Java selalu mencari cara termudah untuk mengintegrasikan alat populer dan proyek sumber terbuka ke dalam aplikasi Java mereka. Alat baru yang berkinerja tinggi secara signifikan meningkatkan produktivitas pengembangan dan mendorong lebih banyak perusahaan dan pengembang individu untuk menggunakan Java stack. Hari ini kita akan membahas tiga framework dan alat Java baru:

kuarkus

Quarkus dirancang untuk mengembangkan layanan mikro cloud dan aplikasi tanpa server. Ia memiliki waktu boot yang cepat, ukuran memory Resident Set (RSS) yang kecil, dan kepadatan memori yang tinggi dalam platform orkestrasi container seperti Kubernetes. Menurut laporan tahunan JRebel yang kesembilan, penggunaan Quarkus di kalangan pengembang Java tumbuh 6% (kurang dari 1% pada tahun sebelumnya). Micronaut dan Vert.x masing-masing tumbuh menjadi 4% dan 2% (tahun lalu - sekitar 1%).

Gerhana JKube

Dengan Eclipse JKube, pengembang Java membuat image container berdasarkan aplikasi Java berbasis cloud menggunakan strategi build Docker, Jib, atau Source-To-Image. Alat ini juga menghasilkan manifes Kubernetes dan OpenShift pada waktu kompilasi dan meningkatkan pengalaman dengan alat debugging, pemantauan, dan logging.

Profil Mikro

MicroProfile memecahkan masalah yang terkait dengan optimalisasi arsitektur perusahaan layanan mikro Java tanpa memperkenalkan kerangka kerja baru atau memfaktorkan ulang seluruh aplikasi. Selain itu, spesifikasi MicroProfile (misalnya Health, Open Tracing, Open API, Fault Tolerance, Metrics, Config) terus berkembang sejalan dengan penerapan EE di Jakarta.

Kesimpulan

Sulit untuk mengatakan kerangka kerja atau alat Java mana yang terbaik untuk pengembang Java perusahaan. Selama masih ada peluang untuk meningkatkan Java stack dan mempercepat pertumbuhan bisnis perusahaan, kita dapat mengharapkan munculnya kerangka kerja, alat, dan platform baru. Periksa untuk melihat apakah mereka dapat meningkatkan aplikasi Java Anda pada tahun 2021.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION