Tanggapan terhadap “Ruby bukan bahasa pemrograman yang serius”
(robbyonrails.com)- Ruby dipandang bertentangan dengan anggapan sebagai ‘bahasa yang tidak serius’; sebaliknya, Ruby adalah bahasa yang membuat pemrograman lebih manusiawi dan menyenangkan
- Komunitas Ruby pada masa awal bermula seperti pemberontakan kecil yang ceria, dan lebih mengutamakan kejelasan serta kemudahan didekati daripada kerumitan
- Dengan mencontohkan layanan berskala besar yang benar-benar dijalankan dengan Ruby seperti Shopify, Doximity, GitHub, artikel ini menunjukkan capaian nyata Ruby
- Inti Ruby terletak pada pengalaman orang yang menulis kode dan budaya pengembangan yang berkelanjutan, dan ini bukan sekadar nostalgia melainkan sikap syukur dan penghormatan
- Dalam pengembangan perangkat lunak masa depan pun, keterbacaan, kemudahan pemeliharaan, dan kesenangan akan menjadi semakin penting, dan nilai Ruby akan tetap menjadi tolok ukur yang bermakna
Ruby dan konsep ‘keseriusan’
- Pertanyaan “Apakah Ruby bahasa yang serius?” memperlihatkan perbedaan cara pandang tentang emosi seperti apa yang seharusnya hadir dalam pemrograman
- Sebagian orang menganggap alat yang menyenangkan untuk digunakan sebagai sesuatu yang ‘tidak serius’, tetapi Ruby tidak menerima definisi seperti itu
- Pada masa awalnya, Ruby dipenuhi komunitas kecil dan energi yang penuh kelakar, serta menunjukkan bahwa pemrograman tidak harus terasa mengintimidasi
- Para pengkritik saat itu umumnya adalah arsitek Java atau pengembang enterprise tradisional, sementara komunitas Ruby tidak terlalu memedulikannya dan tetap fokus pada pembangunan produk nyata
Bahasa yang mengutamakan kemudahan didekati dan produktivitas
- Ruby tidak mengejar kesederhanaan semata, melainkan approachability sehingga pemula dan tim kecil bisa tumbuh dengan cepat
- Ruby lebih mengutamakan momentum dan kejelasan daripada teori yang rumit, sehingga pengembangan dapat terus berjalan tanpa rasa cemas
- Berkat karakteristik ini, bootcamp dan startup mengadopsi Ruby, karena cocok dengan lingkungan yang menekankan kecepatan dan kreativitas
- Seperti pada kasus Twitter, Ruby cukup berkontribusi terhadap pertumbuhan perusahaan, dan perpindahan ke teknologi lain setelahnya diposisikan sebagai hasil dari kesuksesan
Keandalan di dunia kerja dan contoh nyata
- Dalam pengalaman konsultasi selama puluhan tahun, tidak ada tim yang gagal karena memilih Ruby; justru kompleksitas, keragu-raguan, dan terlalu banyak ‘keseriusan’ yang menjadi penyebab kegagalan
- Ruby dinilai sebagai bahasa yang tidak menghalangi pengembang sehingga mereka bisa fokus pada pekerjaan inti
- Layanan besar seperti Shopify, Doximity, GitHub berjalan dengan Ruby, dan ini diajukan sebagai bukti nyata (proof), bukan emosi
Budaya Ruby dan filosofi pengembangan yang berpusat pada manusia
- Ruby menarik orang-orang yang menghargai rasa saat menulis kode dan pengalaman saat membacanya, dan ini bukan nostalgia melainkan cara membuat perangkat lunak yang berkelanjutan
- Komunitas Ruby mengutamakan ekspresivitas dan orientasi pada manusia, serta mengingatkan bahwa pemrograman adalah tindakan untuk manusia
- Perbedaan dengan orang yang lebih menyukai bahasa lain adalah soal selera, dan Ruby tidak berusaha meyakinkan semua orang
Pemrograman masa depan dan peran Ruby
- Pengembangan perangkat lunak masa depan tidak akan didominasi oleh satu bahasa, paradigma, atau ideologi, melainkan berkembang dalam bentuk yang campuran dan fleksibel
- Di era ketika AI menulis kode, keterbacaan dan kemudahan pemeliharaan menjadi semakin penting, dan dalam lingkungan ketika burnout menjadi hal biasa, kesenangan akan muncul sebagai nilai utama
- Nilai Ruby seperti kejelasan, empati, dan orientasi pada manusia bukan warisan masa lalu, melainkan tolok ukur untuk masa depan
Kode yang beresonansi, bukan sekadar ‘serius’
- Masyarakat dan bisnis memberi penghargaan pada resonansi, kejelasan, dan kemanusiaan alih-alih sekadar ‘keseriusan’
- Kandidat, musisi, seniman, startup, atau insinyur yang serius tidak selalu berhasil
- Ruby mengarah pada kode untuk tim dan pemrograman untuk manusia, dan pendekatan ini membuat industri tetap lebih manusiawi
- Pengembang yang penuh rasa ingin tahu dan ceria akan memainkan peran penting dalam ekosistem teknologi masa depan, dan Ruby akan tetap menjadi bahasa yang bermakna dalam arus tersebut
Kesimpulan
- Pertanyaan “Apakah Ruby bahasa yang serius?” adalah pertanyaan yang keliru
- Pertanyaan yang lebih tepat adalah “Apakah Ruby masih dapat memberikan kontribusi yang bermakna pada perangkat lunak generasi berikutnya”, dan jawabannya adalah ya
- Jika itu berarti ‘tidak serius’, maka justru itulah alasan Ruby harus tetap ada dalam percakapan
2 komentar
Tanggapan terhadap "Ruby bukan bahasa pemrograman yang serius"
Komentar Hacker News
Bahkan jika Ruby memang penyebabnya, pilihan itu tetap memungkinkan bisnisnya dimulai dan meraih sukses awal
Masalah Twitter bukan karena bahasanya, melainkan karena situasi khusus berupa fan-out skala besar (tweet selebritas → jutaan pengikut)
Selain itu, tidak ada yang membicarakan startup yang gagal meski sejak awal memakai bahasa yang “bisa diskalakan” — ini tipikal survivorship bias
Jika melihat halaman penulis tersebut di Wired, tampaknya ia sengaja menulis secara provokatif untuk memancing kontroversi
Saya akan kembali menjadi bagian dari mayoritas yang diam dan tetap membuat perangkat lunak berguna dengan Ruby
Ia hanya mencantumkan keterbatasan masa lalu, padahal besar kemungkinan masalah sebenarnya ada pada codebase yang ia tangani
Inti tulisan pertama adalah “tidak ada alasan memilih Ruby baru pada 2025”, dan seharusnya itulah pusat pembahasannya
Tulisan kali ini bergerak ke arah yang lebih emosional, dan ironisnya justru membuktikan sendiri klaim tulisan sebelumnya bahwa Ruby digerakkan oleh perasaan
Banyak orang yang menyukai Elixir memandang Ruby sebagai bahasa yang ‘tidak serius’, padahal Elixir juga sangat dipengaruhi oleh Ruby
Banyak orang tertarik pada Elixir karena menggabungkan sintaks Ruby yang familier dengan fondasi fungsional
Terutama karena runtime BEAM, karakteristik operasionalnya jadi sepenuhnya berbeda
BEAM terasa bukan sekadar bahasa, melainkan sistem untuk sistem — semuanya bisa dilacak, di-restart, dan diobservasi
Hanya saja, Crystal punya masalah kurang populer yang bahkan lebih berat daripada Elixir
Berdasarkan peringkat TIOBE, Elixir masih masuk 50 besar
Tulisan pertama hanya bicara soal statistik StackOverflow dan Twitter, sementara tulisan kedua cuma nostalgia dan estetika
Fakta bahwa ini ditulis manusia, bukan LLM, justru terasa lebih menyedihkan
melainkan “apakah saya ingin sistem produksi saya ditulis dengan bahasa ini”
Tidak banyak orang yang jawabannya sama untuk dua pertanyaan itu
Saya suka Ocaml, tetapi saya tidak ingin memakainya untuk sistem produksi karena ekosistemnya lemah dan sulit mencari talenta
Python dengan anotasi tipe dan alat pemeriksa cocok untuk dirawat, tetapi tanpa itu budaya dokumentasi menjadi wajib
Untuk yang pertama, COBOL bisa masuk akal; untuk yang kedua, pilihan lain jadi lebih menarik
Bukan karena sentimental, tetapi karena memang menyenangkan untuk ditulis — terutama jauh lebih menyenangkan daripada JavaScript
Tulisan yang menyerang Ruby terasa aneh bagi saya
Ada contoh sukses seperti Github, Twitter, Coinbase, dan Shopify, dan masalah skalabilitas hanyalah produk sampingan dari kesuksesan
Ruby adalah alat yang hebat, dan saya menyarankan untuk menilai sendiri apakah ia cocok untuk proyek berikutnya
Jika klaimnya adalah “Ruby tidak akan pernah bisa diskalakan”, maka sebagian besar bahasa lain juga demikian
Pada akhirnya kedua tulisan itu sama-sama sepakat bahwa “Ruby tidak akan bekerja selamanya”
Yang menarik, tulisan asli merendahkan peringkat Ruby di StackOverflow sebagai peringkat 18,
padahal sebenarnya pada 2024 Ruby berada di peringkat 14, dan Scala yang ia puji justru 9 tingkat di bawahnya
Tautan survei StackOverflow 2024
Kode Ruby yang saya tulis 10 tahun lalu, misalnya kompiler offlineasm milik WebKit, masih berjalan dengan baik sampai sekarang
Ruby memang punya sintaks yang rapi dan ekspresif, tetapi terasa sulit dipakai karena pengetikan dinamis dan magic (perilaku implisit)
Bahasa ini tidak cocok untuk saya, tetapi bisa sangat cocok untuk sebagian orang
Para penggemarnya menganggap ini luar biasa dan menyenangkan, tetapi bagi sebagian orang terasa menakutkan
Flask di Python juga memakai context local proxy dengan cara serupa
Sebaliknya, Zig dan Go muncul sebagai reaksi dengan prinsip “semuanya harus eksplisit”, sementara Rust berada di tengah-tengah
Rust memang ketat, tetapi tetap memberikan ekspresivitas ala DSL dengan bersih
Performa algoritme meningkat 10 kali lipat, bug berkurang berkat immutability, dan dukungan konkurensi juga sangat baik
Berkat pattern matching dan guard, boilerplate menghilang, tidak ada GIL, dan GC berjalan per proses
Kurva belajarnya memang sedikit ada, tetapi Elixir jauh lebih mudah diskalakan untuk pemeliharaan jangka panjang maupun beban kerja
Komunitas Ruby tetap luar biasa
Saya hanya berharap Elixir bisa dikompilasi menjadi berkas executable native atau dijalankan di browser
Saya masih “berpikir dalam Ruby”, tetapi proyek pribadi saya kerjakan dengan Elixir/Erlang
Di kantor saya memakai Golang dan Python, tetapi tidak menikmatinya
Skrip pribadi masih tetap saya tulis dengan Ruby
Saya rasa diskusi yang lebih bernilai adalah analisis dingin tentang bagaimana karakteristik bahasa memengaruhi kualitas kode, bukan soal popularitas atau keakraban
Diskusi seperti itu sering menjauhkan orang karena konsep seperti monad atau applicative, tetapi justru itulah pembahasan yang benar-benar bermanfaat
Semakin banyak tipe dan batasan, kualitas bisa naik, tetapi kecepatan pengembangan dan fleksibilitas menurun
Tulisan seperti ini ibarat racun yang memicu perang bahasa di HN
Tidak perlu ditanggapi serius
Tetapi sekarang Kotlin lebih cocok untuk saya — berkat pengetikan statis dan desain sintaks yang ergonomis
Ruby terasa mengkhawatirkan ketika proyek membesar, tetapi untuk pekerjaan kecil ia tetap bahasa yang menggemaskan
Mungkin itu bukan salah bahasanya, tetapi bahasa dengan sedikit pengaman cenderung menjadi tempat berkumpulnya kode berisiko
if.class, ternyata tidak sepenuhnya begituMeski begitu, di antara bahasa populer, Ruby tetap salah satu yang paling mendekati