Vlog #42 - Reaction Artikel Migrasi Bank CIMB dari Java ke Rust

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 93

  • @artivisi
    @artivisi  8 วันที่ผ่านมา +4

    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

  • @KamalMaulanaAdha
    @KamalMaulanaAdha 10 วันที่ผ่านมา +7

    Rujukan update teknologi, Klo ngg pak endy yaa pak eko, yg pembawaan nya meresep very nice dan best dah, panutan saya java komunity #JVM

  • @HENDZZ_SHORT
    @HENDZZ_SHORT 2 วันที่ผ่านมา

    Alhamdulillah, Nemu Channel keren.

  • @MuchlisNopq
    @MuchlisNopq 9 วันที่ผ่านมา +3

    Setuju, artikel tersebut sedikit terlihat seperti artikel jualan untuk membenarkan penggunaan Rust. rada bias. Tapi ini bagus juga membuka sekat dan opportunity baru.

    • @artivisi
      @artivisi  9 วันที่ผ่านมา +1

      Iya artikelnya kurang detail pembahasannya. Nanti kita tunggu artikel lanjutannya. Mudah²an ada data yang lebih teknis.

  • @SyakibZidane
    @SyakibZidane 10 วันที่ผ่านมา +10

    Kalau di perusahaan kami migrate dari c# ke rust. Sangat jauh kecepatannya. Masalah pada rust hanya satu yakni compiling time nya lama 😅

    • @unangrioda
      @unangrioda 10 วันที่ผ่านมา

      Padahal udah c#

    • @cecepwandy9098
      @cecepwandy9098 9 วันที่ผ่านมา

      ini server side kan pak? penasaran compiling nya Selamat apa sampe di bilang lama..

    • @hafidhpradipta811
      @hafidhpradipta811 9 วันที่ผ่านมา +1

      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.

  • @ramabookstroremalang9131
    @ramabookstroremalang9131 10 วันที่ผ่านมา

    Luar biasa, pak. Terima kasih wawasannya.

  • @izumiosana
    @izumiosana 10 วันที่ผ่านมา +11

    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.

    • @udakyv2
      @udakyv2 10 วันที่ผ่านมา

      Yaa pattern matching am enum ny rust 🫡

    • @artivisi
      @artivisi  10 วันที่ผ่านมา +2

      Nah faktor2 ini justru ga dibahas di artikel aslinya. Yang dibahas mostly performance, resource usage, dan memory safety.

    • @hagaitsolution
      @hagaitsolution 8 วันที่ผ่านมา

      C elegan ga ?

    • @Marhaenism1930
      @Marhaenism1930 7 วันที่ผ่านมา

      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

    • @izumiosana
      @izumiosana 3 วันที่ผ่านมา

      @@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.

  • @ariosetiawan173
    @ariosetiawan173 10 วันที่ผ่านมา

    Sangat Bermanfaat insightnya Pak Endy 🙏

  • @adyanon240
    @adyanon240 4 วันที่ผ่านมา

    Keren sekali

  • @bungrudi
    @bungrudi 6 วันที่ผ่านมา +2

    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

    • @artivisi
      @artivisi  6 วันที่ผ่านมา

      Alhamdulillah baik. Yuk ngopi. Saya belum lama ketemu nasrul, kalo ga salah sebulanan yang lalu.

    • @umaktinah9167
      @umaktinah9167 6 วันที่ผ่านมา

      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.

  • @yadirosadi8370
    @yadirosadi8370 5 วันที่ผ่านมา +1

    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. . 😄

    • @artivisi
      @artivisi  4 วันที่ผ่านมา

      Bener om. Daripada kita nyobain sendiri, resiko waktu dan biaya development, bagus ini ada yang berani coba.
      Kita tinggal tonton aja hasilnya 😁

  • @yosafatwillyy
    @yosafatwillyy 8 วันที่ผ่านมา

    Terimakasih insightnya Pak Endy

    • @artivisi
      @artivisi  7 วันที่ผ่านมา

      Sama². Mudah²an manfaat

  • @MaxingMix
    @MaxingMix 4 วันที่ผ่านมา

    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.

    • @artivisi
      @artivisi  4 วันที่ผ่านมา

      Kayaknya begitu. Soalnya memorinya flat gitu. Kalo memori terpakai biasanya kan naik turun

  • @yogapratama90s
    @yogapratama90s 7 วันที่ผ่านมา

    Meskipun Rust akhir-akhir ini jadi topik perbincangan dimana mana, saya tetap pada pendirian saya pakai Ruby 💎

    • @artivisi
      @artivisi  7 วันที่ผ่านมา

      Pakai rails? Masih rame ya komunitasnya?

  • @slowtyper95
    @slowtyper95 10 วันที่ผ่านมา +1

    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.

    • @artivisi
      @artivisi  9 วันที่ผ่านมา +3

      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

    • @rp_3000
      @rp_3000 8 วันที่ผ่านมา +1

      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, 😂😂

    • @yusufmalikul
      @yusufmalikul 4 วันที่ผ่านมา

      untuk startup kecil mending Golang. Utk perusahaan besar yg critical kayak bank, hospital harus jadikan Rust sebagai opsi.

  • @bambanghermanto9032
    @bambanghermanto9032 9 วันที่ผ่านมา

    mantap euy

  • @jjs44dhd88
    @jjs44dhd88 10 วันที่ผ่านมา +1

    masih proper Golang sih

  • @izu517
    @izu517 9 วันที่ผ่านมา

    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?

    • @rp_3000
      @rp_3000 8 วันที่ผ่านมา

      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)

  • @matriks_yang_bikin_bingung
    @matriks_yang_bikin_bingung 10 วันที่ผ่านมา +1

    Dari java ke rust pak, tapi masih belum paham knp pilih rust dibanding go.

    • @lebahsaham9947
      @lebahsaham9947 10 วันที่ผ่านมา

      Go nanggung bro...

    • @lebahsaham9947
      @lebahsaham9947 10 วันที่ผ่านมา

      Ane pakao rust utk ewallet engine. Asli emang cepet. Butuh resource kecil. Dan paatinya memory safe

    • @artivisi
      @artivisi  10 วันที่ผ่านมา

      Mudah-mudahan ada artikel selanjutnya yang lebih teknis penjelasannya

    • @alimahrusyusa9256
      @alimahrusyusa9256 10 วันที่ผ่านมา +1

      @@lebahsaham9947 Bang untuk memahami sebuah apps cukup sekian cpu & ramnya itung-itunganya gmna ? gw baru belajar coding makasih

    • @lebahsaham9947
      @lebahsaham9947 10 วันที่ผ่านมา

      @@alimahrusyusa9256 pasang monitoring tools bro.. atau benchmark stress test

  • @febryAMZ
    @febryAMZ 9 วันที่ผ่านมา

    Wah ane kesebut, yuk ngopi bareng bang ama yesie 😂

    • @artivisi
      @artivisi  8 วันที่ผ่านมา

      Wkwkwk ... kan ente udah gak disana lagi. Apa jangan2 kegusur rezim Rust? 😅

  • @budiardjo6610
    @budiardjo6610 10 วันที่ผ่านมา +2

    i thought i am gonna learn something, but those article just somehow just showoff. nothing more than that.

  • @codewithagus
    @codewithagus 10 วันที่ผ่านมา +1

    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?

    • @artivisi
      @artivisi  10 วันที่ผ่านมา +4

      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)

    • @Marhaenism1930
      @Marhaenism1930 7 วันที่ผ่านมา

      sejenis Undefined Behaviour kah?

  • @pojiajaib
    @pojiajaib 9 วันที่ผ่านมา

    Ijin masuk kelas pak. Trims

    • @artivisi
      @artivisi  8 วันที่ผ่านมา

      Silahkan, tolong sekalian hapus papan tulisnya ya

  • @ogi_meow
    @ogi_meow 10 วันที่ผ่านมา

    Sewa di cloud kl banyak banyak setting resourcenya mahal.. Tujuannya dgn rust berharap lebih kecil dan bayarnya lebih hemat..

    • @artivisi
      @artivisi  10 วันที่ผ่านมา +3

      Bank biasanya ngga pakai public cloud sih. Umumnya on-premise. Jadi tetap aja beli hardware, bukan bayar sesuai pemakaian.

    • @ogi_meow
      @ogi_meow 10 วันที่ผ่านมา

      @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

  • @danimusbar
    @danimusbar 8 วันที่ผ่านมา

    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)

    • @artivisi
      @artivisi  7 วันที่ผ่านมา

      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

    • @danimusbar
      @danimusbar 7 วันที่ผ่านมา

      @artivisi Kominfo udah mengirim edaran bahwa 3G di nonaktifkan Bang

  • @lauhilmahfud
    @lauhilmahfud 10 วันที่ผ่านมา

    Dari Rust ke Java atau dari Java ke Rust...?

  • @rikikrismawan1831
    @rikikrismawan1831 10 วันที่ผ่านมา

    pakai macbook apa pak

    • @artivisi
      @artivisi  10 วันที่ผ่านมา

      Macbook Pro M1

  • @marwanwae26
    @marwanwae26 10 วันที่ผ่านมา

    kalo sepuh mah lebih bijak yaa.. hehehe....

  • @InayaHaribo
    @InayaHaribo 4 วันที่ผ่านมา

    Di dunia per gadget an paling banyak terjadi ledek2 an, toxic bngt dunia nya wkwkw

    • @artivisi
      @artivisi  4 วันที่ผ่านมา

      Dibawa seru aja om. Kalo dibuat baper ya malah stres 😅

  • @artivisi
    @artivisi  10 วันที่ผ่านมา

    Maap pemirsah, kurang fokes. Jadi judulnya terbalik 😅
    Sudah diperbaiki yak ...
    Untung thumbnailnya gak salah juga wkwkw

  • @thebrindils1710
    @thebrindils1710 10 วันที่ผ่านมา +1

    mantab anti jvm2 club

    • @artivisi
      @artivisi  10 วันที่ผ่านมา +3

      Wkwk ... ngga lah. Pakai yang sesuai kebutuhan aja. OOP, order oriented programming. Maju tak gentar membela yang bayar 🤣

  • @timses_app
    @timses_app 10 วันที่ผ่านมา +1

    cukupkan tidur pak

    • @artivisi
      @artivisi  9 วันที่ผ่านมา

      Siap. Terima kasih sarannya

  • @m.jamaludinnur9365
    @m.jamaludinnur9365 10 วันที่ผ่านมา

    Ga bikin java di atas rust aja

    • @artivisi
      @artivisi  10 วันที่ผ่านมา

      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

  • @ZAcharyIndy
    @ZAcharyIndy 9 วันที่ผ่านมา +9

    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

    • @artivisi
      @artivisi  9 วันที่ผ่านมา +2

      Naahh bener. Harus punya modal kuat dan napas panjang 😁
      Makanya saya bilang di video, kita lihat dulu 6 bulan sampai 1 tahun

    • @rp_3000
      @rp_3000 9 วันที่ผ่านมา +2

      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)...

    • @rp_3000
      @rp_3000 8 วันที่ผ่านมา +1

      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..

    • @ZAcharyIndy
      @ZAcharyIndy 8 วันที่ผ่านมา +1

      @@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

    • @ZAcharyIndy
      @ZAcharyIndy 8 วันที่ผ่านมา

      ​@@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

  • @haritssyah7434
    @haritssyah7434 3 วันที่ผ่านมา

    Keseringan "mmm" dan "aaa" pak