Bule juga udah rame di X. Cek reply2nya, banyak yang senada dengan komentar saya. Sekedar rewrite aja, bahkan dengan tech stack yang sama, pasti bakalan improve performance. x.com/dimitrov2k/status/1856038973350785229
Setuju, artikel tersebut sedikit terlihat seperti artikel jualan untuk membenarkan penggunaan Rust. rada bias. Tapi ini bagus juga membuka sekat dan opportunity baru.
memang sih karena si rust di design untuk performant pada saat runtime dan ngorbanin compile time nya, beda dengan golang justru kebalikannya kalo dibandingin dengan rust.
Performa, memory safety, low level control, itu bukan kelebihan utama dari Rust kalau di level enterprise. Kelebihan utamanya itu: - Garansi no breaking changes forever, nggak akan ada Rust v2 (sekarang v1.82) - Very strict type, nggak ada cara untuk curangi compiler macam interface {} di golang atau any di typescript Saya pribadi sudah pakai Rust 4 tahun. Selain poin-poin di atas, yang saya suka dari Rust itu syntaxnya yang elegant. Yang pernah coba enum & trait di Rust pasti kangen kalau lagi ngoding di bahasa lain.
curangi compiler.. void pointer in c, apakah itu juga termasuk curangi compiler ? entah yang anda maksud non-tolerance dynamic type atau very strict type diluar pemahaman saya. di math pun top type (T) itu digunakan symbol sebagai ANY yang setara dengan, std::any c++17, interface {} golang, ANY/unknown js/ts, di rust pun sepertinya ada Any Trait juga
@@Marhaenism1930 Iya, Rust itu very strict type bahkan untuk fitur meta programmingnya kaya macros. Any trait di Rust std itu sifatnya mirip unknown di Typescript. Wajib dicast dulu pakai `downcast_ref` sampai berhasil kalau mau pakai valuenya. Kalau valuenya dicast ke tipe yang salah, program nggak bakal jalan.
menurut gua sih paling mudah nggak usah takut pake clone() dan arc mutex. seenggak effisiennya dua code itu masih lebih cepat daripada bahasa yg ada gc.
kalo saya sih ngelihat dari sisi positifnya, bahwa ada opsi tech stack lain di enterprise selain dominasi Java, sehingga bisa membuka oportunity baru buat programmer rust bisa masuk kesana. tinggal dibuktikan saja. . 😄
Gw ada feeling, memory usagenya yang 4GB itu karena jvm heap settingnya (Xms) di set segitu. Terus actual heap usagenya ngga ke monitor, soalnya liat dari graphnya sih itu kaya based on memory usage dari si k8s pod / semacamnya. Bukan dari actual jvm heap usage.
Walaupun Rust lebih cepet secara performance, apakah worth it untuk kecepatan development process jangka panjang? Contoh, kalo dibanding ama Go yg udah lumayan cepet secara performance, dengan syntax yg lebih simple, compiling time lebih cepet.
Semakin manual manajemen memorinya, berarti semakin banyak effort coding buat ngurusin memory. Sedangkan kalau pakai Java atau Go, udah ngga perlu coding. Tau beres aja. Apakah kerepotannya sebanding dengan peningkatan kinerja? Entahlah, di artikel aslinya ngga dibahas
Worth it lah.., for govern, finance, and internal ecommerce. Yg tidak worth it, "punya warung kopi, or whatever, anggaplah cabangnya bru 3".. Buat apa ke rust, boleh jika developermu udh ngerti, dn mereka niat jg, 😂😂
Kalo rewrite dari Java ke Rust ya memang sudah pasti dapet performance boost dan server cost reduction yang signifikan. Cuma yang jadi pertanyaan apakah engineering effort nya worth it dari segi bisnis?
Lebih ke ini sih bro... Bisnis apa dulu? Umkm? Finance? Govern? Ya kli system warung kopi hanya beberpa cabang, mau migrate ke rust... Disitulah komunkasi penting dev and stackholder, sarankan lah mending ke go aja klo ttap mau migrate for cost reduction (less effort)
Kalau menurut chat gpt seperti ini pak: NullPointerException adalah jenis kesalahan (error) yang terjadi dalam pemrograman, terutama di Java, ketika program mencoba menggunakan atau mengakses objek atau variabel yang sebenarnya bernilai null. Dalam konteks pemrograman, null menandakan bahwa variabel tidak menunjuk ke objek apa pun. Jika program mencoba memanggil metode atau mengakses properti dari variabel yang null, maka NullPointerException akan terjadi. tapi bukannya kalau dari bahasanya tidak membolehkan NullPointerException maka user akan dipaksa untuk memeriksa setiap object sebelum digunakan dan otomatis akan lebih aman ya?. dan user-user yang bikin paket (crate) juga lebih aman?
Programmer yang baik harusnya ya ngecek setiap variabel yang diterima. Bukan cuma cek null, tapi cek juga apakah isinya sesuai yang diharapkan. Misalnya harusnya angka saja, tapi diisi huruf dan angka. Atau huruf angka saja, tapi diisi tanda baca (koma, titik, kutip, dsb). Kemudian apabila ketemu isi yang tidak sesuai, dihandle dengan benar (ditolak, diperbaiki, dicatat di log, dsb)
@artivisi sdh ada aturan ojk dan BI utk penggunaan cloud selain on prem.. Tergantung kebutuhan, umumnya basih banyak yg onprem Di bank utk bottle neck bisa di cek juga dari in out core bankingnya.. Di bank perubahan code prosedurenya panjang beda dgn internal Masa Migrasi memang nikmat banget deh.. Selama di bayar dan sesuai target
12:54 Maaf Bang mungkin 4G bukan 3G, karena setahu saya 3G udah dimatikan, apalagi di daerah saya hilang total 3G, adanya 4G atau 2G (utk koneksi low level sperti edc electronic data capture)
Ya jangan lah. Justru yang pakai Rust ga mau ada garbage collection. Mau buang sampah sendiri 😅 Paling kalo mau, Spring Boot versi Rust. github.com/spring-rs/spring-rs
Ingat sodara", belajar Rust tidak seindah yg kalian bayangkan 😂 Kalo punya codebase Java dan lelet , sebelum migrasi ada baiknya coba dulu pake GraalVM dan lakukan kompilasi native image. Ingat, migrasi code di running system tidak worth it kecuali kalian ada tim besar dg resource memadai. Hal semacam ini berlaku untuk semua jenis bahasa pemrograman. Jangan termakan FOMO, lakukan betul" sesuai kemampuan dan kebutuhan. Sekelas Microsoft saja pernah kejadian di era 2014an. Tim development Azure mereka full pake NodeJS karena JS kan mulai naik di 2014 itu. Tapi sekitar 2016-2017 mereka angkat tangan 😂😂😂 Karena ribet nya maintenance dan tentu maslaah dependensi yg amat kompleks di node_modules, akhirnya mereka putuskan switch ke Python. 😂😂😂 So, be careful
Teman sy blg untuk junior dev "bljar c atau c++ dulu supaya kamu tau, masalah apa yg dipecahkan rust"... Yah gk salah sih, karna kembali lgi lu niat pasti ad jalan 😅 Sy bisa blg rust punya dokumentasi yg sangat bagus sekli buat dev junior, (reading skill required)... kebanyakan yg blg sulit, karna dia hanya dengar dri orng lain, nonton video dengar term" yg bru, syntaxnya... 😂 Dokumentasi easy rust, dn official book selalu ku sarankan buat beginner (basic like variable, expression, statement, loop, dll)...
Pengalaman working with Java in 2013-2015, eh tiba" JavaScript news came out.. ES6 😅, ku liat lah teman sy yg ngerjain web FE, beljar buat migrate dri jQuery, dengan hanya modal "liat sekilas", ku berkata: "sulit yah ngerjain web", dengan refleknya dy berkata "lebih sulit ngerjain kerjaan lo,"... Jdi kesimpulannya mana yg sulit, JavaScript or Java? 😅, beda minat, problem, motivasi..
@@rp_3000 Java jauh lebih kompleks dari JS. Tetapi, secara language design dan implementasi , Java jauh lebih konsisten dari JS. JS masih punya masalah dasar yg tidak mungkin ada di Java. Misal di JS : [] == ![]; // -> true document.all instanceof Object; // -> true typeof document.all; // -> 'undefined' jadi meski Java lebih kompleks dan lebih "besar" secara APIs dan language, tapi java jauh lebih enak untuk level enterprise. Types jelas, classes jelas, dependency management jauh lebih matang ketimbang di JS (maven/gradle/ant vs npm) dll. makanya lahirlah Typescript
@@rp_3000 kalo sekedar "kalu lu niat pasti ada jalan", coba suruh beginner yg noob belajar Assembly sekalian. ada niat ada jalan, tapi apa jaminan bahwa dia mampu melewati jalan itu? niat bisa membuka jalan, tapi tidak serta merta membuat orang bisa lewat hingga garis finish
Bule juga udah rame di X. Cek reply2nya, banyak yang senada dengan komentar saya. Sekedar rewrite aja, bahkan dengan tech stack yang sama, pasti bakalan improve performance.
x.com/dimitrov2k/status/1856038973350785229
Rujukan update teknologi, Klo ngg pak endy yaa pak eko, yg pembawaan nya meresep very nice dan best dah, panutan saya java komunity #JVM
Alhamdulillah, Nemu Channel keren.
Setuju, artikel tersebut sedikit terlihat seperti artikel jualan untuk membenarkan penggunaan Rust. rada bias. Tapi ini bagus juga membuka sekat dan opportunity baru.
Iya artikelnya kurang detail pembahasannya. Nanti kita tunggu artikel lanjutannya. Mudah²an ada data yang lebih teknis.
Kalau di perusahaan kami migrate dari c# ke rust. Sangat jauh kecepatannya. Masalah pada rust hanya satu yakni compiling time nya lama 😅
Padahal udah c#
ini server side kan pak? penasaran compiling nya Selamat apa sampe di bilang lama..
memang sih karena si rust di design untuk performant pada saat runtime dan ngorbanin compile time nya, beda dengan golang justru kebalikannya kalo dibandingin dengan rust.
Luar biasa, pak. Terima kasih wawasannya.
Performa, memory safety, low level control, itu bukan kelebihan utama dari Rust kalau di level enterprise. Kelebihan utamanya itu:
- Garansi no breaking changes forever, nggak akan ada Rust v2 (sekarang v1.82)
- Very strict type, nggak ada cara untuk curangi compiler macam interface {} di golang atau any di typescript
Saya pribadi sudah pakai Rust 4 tahun. Selain poin-poin di atas, yang saya suka dari Rust itu syntaxnya yang elegant. Yang pernah coba enum & trait di Rust pasti kangen kalau lagi ngoding di bahasa lain.
Yaa pattern matching am enum ny rust 🫡
Nah faktor2 ini justru ga dibahas di artikel aslinya. Yang dibahas mostly performance, resource usage, dan memory safety.
C elegan ga ?
curangi compiler.. void pointer in c, apakah itu juga termasuk curangi compiler ? entah yang anda maksud non-tolerance dynamic type atau very strict type diluar pemahaman saya.
di math pun top type (T) itu digunakan symbol sebagai ANY yang setara dengan, std::any c++17, interface {} golang, ANY/unknown js/ts, di rust pun sepertinya ada Any Trait juga
@@Marhaenism1930 Iya, Rust itu very strict type bahkan untuk fitur meta programmingnya kaya macros.
Any trait di Rust std itu sifatnya mirip unknown di Typescript. Wajib dicast dulu pakai `downcast_ref` sampai berhasil kalau mau pakai valuenya. Kalau valuenya dicast ke tipe yang salah, program nggak bakal jalan.
Sangat Bermanfaat insightnya Pak Endy 🙏
Keren sekali
Tiap pilihan pasti ada pros & cons. Kalau tiap declare &string kita dipaksa utk mikir lifetime nya (...atau clone() ) udah pasti "produktifitas" berkurang. Ada alasannya kenapa framework yg pakai garbage collector itu laris sekali.
Btw halo Mas Endy apa kabar :) ngopi yuu Mas bareng Nazrul
Alhamdulillah baik. Yuk ngopi. Saya belum lama ketemu nasrul, kalo ga salah sebulanan yang lalu.
menurut gua sih paling mudah nggak usah takut pake clone() dan arc mutex. seenggak effisiennya dua code itu masih lebih cepat daripada bahasa yg ada gc.
kalo saya sih ngelihat dari sisi positifnya, bahwa ada opsi tech stack lain di enterprise selain dominasi Java, sehingga bisa membuka oportunity baru buat programmer rust bisa masuk kesana. tinggal dibuktikan saja. . 😄
Bener om. Daripada kita nyobain sendiri, resiko waktu dan biaya development, bagus ini ada yang berani coba.
Kita tinggal tonton aja hasilnya 😁
Terimakasih insightnya Pak Endy
Sama². Mudah²an manfaat
Gw ada feeling, memory usagenya yang 4GB itu karena jvm heap settingnya (Xms) di set segitu.
Terus actual heap usagenya ngga ke monitor, soalnya liat dari graphnya sih itu kaya based on memory usage dari si k8s pod / semacamnya.
Bukan dari actual jvm heap usage.
Kayaknya begitu. Soalnya memorinya flat gitu. Kalo memori terpakai biasanya kan naik turun
Meskipun Rust akhir-akhir ini jadi topik perbincangan dimana mana, saya tetap pada pendirian saya pakai Ruby 💎
Pakai rails? Masih rame ya komunitasnya?
Walaupun Rust lebih cepet secara performance, apakah worth it untuk kecepatan development process jangka panjang? Contoh, kalo dibanding ama Go yg udah lumayan cepet secara performance, dengan syntax yg lebih simple, compiling time lebih cepet.
Semakin manual manajemen memorinya, berarti semakin banyak effort coding buat ngurusin memory. Sedangkan kalau pakai Java atau Go, udah ngga perlu coding. Tau beres aja.
Apakah kerepotannya sebanding dengan peningkatan kinerja?
Entahlah, di artikel aslinya ngga dibahas
Worth it lah.., for govern, finance, and internal ecommerce.
Yg tidak worth it, "punya warung kopi, or whatever, anggaplah cabangnya bru 3".. Buat apa ke rust, boleh jika developermu udh ngerti, dn mereka niat jg, 😂😂
untuk startup kecil mending Golang. Utk perusahaan besar yg critical kayak bank, hospital harus jadikan Rust sebagai opsi.
mantap euy
masih proper Golang sih
Kalo rewrite dari Java ke Rust ya memang sudah pasti dapet performance boost dan server cost reduction yang signifikan. Cuma yang jadi pertanyaan apakah engineering effort nya worth it dari segi bisnis?
Lebih ke ini sih bro...
Bisnis apa dulu? Umkm? Finance? Govern?
Ya kli system warung kopi hanya beberpa cabang, mau migrate ke rust...
Disitulah komunkasi penting dev and stackholder, sarankan lah mending ke go aja klo ttap mau migrate for cost reduction (less effort)
Dari java ke rust pak, tapi masih belum paham knp pilih rust dibanding go.
Go nanggung bro...
Ane pakao rust utk ewallet engine. Asli emang cepet. Butuh resource kecil. Dan paatinya memory safe
Mudah-mudahan ada artikel selanjutnya yang lebih teknis penjelasannya
@@lebahsaham9947 Bang untuk memahami sebuah apps cukup sekian cpu & ramnya itung-itunganya gmna ? gw baru belajar coding makasih
@@alimahrusyusa9256 pasang monitoring tools bro.. atau benchmark stress test
Wah ane kesebut, yuk ngopi bareng bang ama yesie 😂
Wkwkwk ... kan ente udah gak disana lagi. Apa jangan2 kegusur rezim Rust? 😅
i thought i am gonna learn something, but those article just somehow just showoff. nothing more than that.
Kalau menurut chat gpt seperti ini pak:
NullPointerException adalah jenis kesalahan (error) yang terjadi dalam pemrograman, terutama di Java, ketika program mencoba menggunakan atau mengakses objek atau variabel yang sebenarnya bernilai null. Dalam konteks pemrograman, null menandakan bahwa variabel tidak menunjuk ke objek apa pun. Jika program mencoba memanggil metode atau mengakses properti dari variabel yang null, maka NullPointerException akan terjadi.
tapi bukannya kalau dari bahasanya tidak membolehkan NullPointerException maka user akan dipaksa untuk memeriksa setiap object sebelum digunakan dan otomatis akan lebih aman ya?. dan user-user yang bikin paket (crate) juga lebih aman?
Programmer yang baik harusnya ya ngecek setiap variabel yang diterima. Bukan cuma cek null, tapi cek juga apakah isinya sesuai yang diharapkan. Misalnya harusnya angka saja, tapi diisi huruf dan angka. Atau huruf angka saja, tapi diisi tanda baca (koma, titik, kutip, dsb).
Kemudian apabila ketemu isi yang tidak sesuai, dihandle dengan benar (ditolak, diperbaiki, dicatat di log, dsb)
sejenis Undefined Behaviour kah?
Ijin masuk kelas pak. Trims
Silahkan, tolong sekalian hapus papan tulisnya ya
Sewa di cloud kl banyak banyak setting resourcenya mahal.. Tujuannya dgn rust berharap lebih kecil dan bayarnya lebih hemat..
Bank biasanya ngga pakai public cloud sih. Umumnya on-premise. Jadi tetap aja beli hardware, bukan bayar sesuai pemakaian.
@artivisi sdh ada aturan ojk dan BI utk penggunaan cloud selain on prem.. Tergantung kebutuhan, umumnya basih banyak yg onprem
Di bank utk bottle neck bisa di cek juga dari in out core bankingnya..
Di bank perubahan code prosedurenya panjang beda dgn internal
Masa Migrasi memang nikmat banget deh.. Selama di bayar dan sesuai target
12:54 Maaf Bang mungkin 4G bukan 3G, karena setahu saya 3G udah dimatikan, apalagi di daerah saya hilang total 3G, adanya 4G atau 2G (utk koneksi low level sperti edc electronic data capture)
Iya ya? Saya malah belum tau. Di jabodetabek sih udah jarang drop ke 3g atau G. Yang lebih sering, kebaga 4g tapi lemot atau loading terus
@artivisi Kominfo udah mengirim edaran bahwa 3G di nonaktifkan Bang
Dari Rust ke Java atau dari Java ke Rust...?
java ke rust
pakai macbook apa pak
Macbook Pro M1
kalo sepuh mah lebih bijak yaa.. hehehe....
Di dunia per gadget an paling banyak terjadi ledek2 an, toxic bngt dunia nya wkwkw
Dibawa seru aja om. Kalo dibuat baper ya malah stres 😅
Maap pemirsah, kurang fokes. Jadi judulnya terbalik 😅
Sudah diperbaiki yak ...
Untung thumbnailnya gak salah juga wkwkw
mantab anti jvm2 club
Wkwk ... ngga lah. Pakai yang sesuai kebutuhan aja. OOP, order oriented programming. Maju tak gentar membela yang bayar 🤣
cukupkan tidur pak
Siap. Terima kasih sarannya
Ga bikin java di atas rust aja
Ya jangan lah. Justru yang pakai Rust ga mau ada garbage collection. Mau buang sampah sendiri 😅
Paling kalo mau, Spring Boot versi Rust.
github.com/spring-rs/spring-rs
Ingat sodara", belajar Rust tidak seindah yg kalian bayangkan 😂
Kalo punya codebase Java dan lelet , sebelum migrasi ada baiknya coba dulu pake GraalVM dan lakukan kompilasi native image.
Ingat, migrasi code di running system tidak worth it kecuali kalian ada tim besar dg resource memadai.
Hal semacam ini berlaku untuk semua jenis bahasa pemrograman. Jangan termakan FOMO, lakukan betul" sesuai kemampuan dan kebutuhan.
Sekelas Microsoft saja pernah kejadian di era 2014an. Tim development Azure mereka full pake NodeJS karena JS kan mulai naik di 2014 itu.
Tapi sekitar 2016-2017 mereka angkat tangan 😂😂😂
Karena ribet nya maintenance dan tentu maslaah dependensi yg amat kompleks di node_modules, akhirnya mereka putuskan switch ke Python. 😂😂😂
So, be careful
Naahh bener. Harus punya modal kuat dan napas panjang 😁
Makanya saya bilang di video, kita lihat dulu 6 bulan sampai 1 tahun
Teman sy blg untuk junior dev "bljar c atau c++ dulu supaya kamu tau, masalah apa yg dipecahkan rust"...
Yah gk salah sih, karna kembali lgi lu niat pasti ad jalan 😅
Sy bisa blg rust punya dokumentasi yg sangat bagus sekli buat dev junior, (reading skill required)... kebanyakan yg blg sulit, karna dia hanya dengar dri orng lain, nonton video dengar term" yg bru, syntaxnya... 😂
Dokumentasi easy rust, dn official book selalu ku sarankan buat beginner (basic like variable, expression, statement, loop, dll)...
Pengalaman working with Java in 2013-2015, eh tiba" JavaScript news came out.. ES6 😅, ku liat lah teman sy yg ngerjain web FE, beljar buat migrate dri jQuery, dengan hanya modal "liat sekilas", ku berkata: "sulit yah ngerjain web", dengan refleknya dy berkata "lebih sulit ngerjain kerjaan lo,"...
Jdi kesimpulannya mana yg sulit, JavaScript or Java?
😅, beda minat, problem, motivasi..
@@rp_3000 Java jauh lebih kompleks dari JS. Tetapi, secara language design dan implementasi , Java jauh lebih konsisten dari JS.
JS masih punya masalah dasar yg tidak mungkin ada di Java. Misal di JS :
[] == ![]; // -> true
document.all instanceof Object; // -> true
typeof document.all; // -> 'undefined'
jadi meski Java lebih kompleks dan lebih "besar" secara APIs dan language, tapi java jauh lebih enak untuk level enterprise.
Types jelas, classes jelas, dependency management jauh lebih matang ketimbang di JS (maven/gradle/ant vs npm) dll.
makanya lahirlah Typescript
@@rp_3000 kalo sekedar "kalu lu niat pasti ada jalan", coba suruh beginner yg noob belajar Assembly sekalian.
ada niat ada jalan, tapi apa jaminan bahwa dia mampu melewati jalan itu?
niat bisa membuka jalan, tapi tidak serta merta membuat orang bisa lewat hingga garis finish
Keseringan "mmm" dan "aaa" pak