Apa itu Ruby ?

Filosofi kebahagiaan pengembang dari Matz, warisan Rails, dan jangkauan Ruby dari skrip hingga aplikasi web.

Daftar isi

Ruby adalah bahasa pemrograman berorientasi objek yang menempatkan keterbacaan kode sebagai tujuan perancangan utamanya. Topik ini mengulas asal-usul Ruby, filosofi kebahagiaan pengembang yang menjadi latar perancangannya, warisan framework Ruby on Rails, serta jangkauan penggunaannya dari skrip otomasi hingga aplikasi web berskala besar. Setelah topik ini dibaca, karakter Ruby dan alasan pentingnya menjadi jelas.

Bahasa dinamis yang lahir di Jepang#

Ruby diciptakan oleh pemrogram Jepang Yukihiro Matsumoto, yang lebih dikenal dengan sebutan Matz. Perancangannya dimulai pada tahun 1993, dan versi publik pertama dirilis pada tahun 1995. Matz menggabungkan bagian-bagian dari bahasa favoritnya, yaitu Perl, Smalltalk, Eiffel, Ada, dan Lisp, untuk membentuk bahasa yang seimbang antara keluwesan menulis dan konsistensi struktur. Nama Ruby dipilih dari batu permata, mengikuti jejak Perl yang juga dinamai dari permata.

Ruby termasuk bahasa dinamis, yaitu bahasa yang memeriksa tipe nilai saat program berjalan sehingga variabel tidak perlu dideklarasikan dengan tipe tertentu. Bahasa ini juga sepenuhnya open source, yakni perangkat lunak yang kode sumbernya terbuka untuk digunakan, diubah, dan didistribusikan secara bebas. Status ini membuat Ruby bebas digunakan untuk proyek apa pun, termasuk proyek komersial, tanpa biaya lisensi. Karena sifat terbuka itu, pengembangan Ruby kini dilakukan oleh kontributor dari berbagai negara, dan bahasa ini berjalan pada hampir semua sistem operasi populer.

Perjalanan Ruby dari gagasan kecil di Jepang menjadi bahasa lintas benua melewati beberapa tonggak penting, sebagaimana dirangkum pada linimasa berikut.

1993Perancangandimulai1995Rilis publik0.952004Railsdirilis2007Ruby 1.9dengan YARV2024Ruby 3.4dengan Prism
Tonggak waktu perkembangan Ruby

Filosofi kebahagiaan pengembang#

Prinsip yang paling melekat pada Ruby adalah kebahagiaan pengembang (developer happiness), yakni keyakinan bahwa bahasa pemrograman sebaiknya dirancang untuk manusia terlebih dahulu, kemudian mesin. Matz sering menyatakan tujuannya membuat bahasa yang alami bagi manusia, bukan sekadar sederhana bagi komputer, sehingga bagian-bagian rumit disembunyikan di bagian dalamnya. Konsekuensinya terasa langsung pada sintaksnya: kode Ruby cenderung pendek, terbaca, dan mendekati cara manusia menyatakan maksud.

Prinsip tersebut diikuti oleh banyak keputusan desain. Perulangan ditulis dengan bentuk yang mengikuti cara bicara, penamaan metode cenderung penuh kata daripada singkatan, dan tanda baca yang tidak diperlukan dihilangkan. Perilaku bahasa pun dijaga agar sesuai dugaan yang wajar, sehingga ekspresi yang tampak jelas umumnya memang berperilaku sesuai dugaan tersebut. Bagi pemula, konsekuensi praktisnya nyaman, karena struktur program kecil maupun besar mengikuti pola yang sama.

Rasa menulis Ruby#

Rasa menulis Ruby paling mudah dirasakan dari contoh. Program berikut adalah berkas Ruby utuh yang menyapa tiga nama, dan seluruh barisnya dapat dibaca nyaris seperti kalimat biasa.

ruby sapa.rb
# menyapa tiga nama dengan perulangan bergaya Ruby
penerima = ["Ali", "Budi", "Citra"]

penerima.each do |nama|
  puts "Halo, #{nama}!"
end
text Keluaran
Halo, Ali!
Halo, Budi!
Halo, Citra!

Pernyataan pertama menyimpan sebuah array, yaitu struktur data berisi rangkaian nilai, ke dalam variabel bernama penerima. Metode (method), yaitu prosedur yang melekat pada sebuah objek dan dipanggil dengan tanda titik, digunakan di sini melalui penerima.each. Metode each menjalankan blok (block), yaitu rangkaian kode di antara do dan end, untuk setiap anggota array, satu per satu. Metode puts mencetak teks yang diberikan, kemudian pindah ke baris baru. Tanda #{} memasukkan isi variabel nama ke dalam string, yaitu teks yang diapit tanda kutip, dan mekanisme penyisipan nilai seperti itu disebut interpolasi (interpolation).

Tiga hal layak dicatat dari contoh singkat ini. Program berjalan tanpa fungsi utama, tanpa deklarasi tipe, dan tanpa tanda pemisah khusus di akhir baris. Pasangan do dan end membatasi blok secara eksplisit sehingga batas-batas logika mudah terlihat. Ciri-ciri inilah yang membuat kode Ruby tetap nyaman dibaca ulang ketika proyek kembali disentuh.

Warisan Rails dalam ekosistemnya#

Popularitas Ruby melonjak berkat framework web bernama Ruby on Rails, atau biasa disebut Rails saja. Framework adalah kerangka aplikasi yang menyediakan struktur dan perkakas siap pakai, sehingga pengembang dapat berfokus pada logika khas aplikasinya. Rails dirilis pada tahun 2004 oleh David Heinemeier Hansson setelah diekstrak dari perkakas pengelolaan pekerjaan internal sebuah perusahaan, dan pendekatannya memangkas jumlah kode yang harus ditulis untuk aplikasi web standar.

Kunci keberhasilan Rails terletak pada prinsip convention over configuration, yakni keputusan-keputusan teknis yang berulang telah ditetapkan secara bawaan. Nama berkas, struktur data, dan alur permintaan mengikuti konvensi yang sama di seluruh proyek, sehingga kode proyek lain dapat dibaca dengan cepat. Rails juga menyusun aplikasi mengikuti pola model-view-controller, yaitu pemisahan antara data, tampilan, dan pengatur alur permintaan (request).

Karena Rails ditulis dengan Ruby, sebagian besar konsep bahasa dapat langsung diamati pada kode sumbernya. Prinsip-prinsip Rails juga memengaruhi banyak framework web pada bahasa lain, sehingga pengetahuan tentang gaya kerjanya mudah terbawa ke tempat lain. Pengaruh terbesarnya tetap pada Ruby sendiri, karena komunitas dan pustakanya tumbuh pesat bersama Rails.

Jangkauan penggunaan Ruby#

Aplikasi web tetap menjadi ranah penggunaan Ruby yang paling menonjol, dan Rails menjadi pendorong utamanya. Banyak layanan web berskala besar dibangun di atas Ruby dan Rails, mulai dari jaringan sosial hingga layanan pembayaran. Keterbacaan bahasanya membantu tim menjaga aplikasi yang telah berjalan bertahun-tahun.

Di luar web, Ruby sering digunakan untuk skrip otomasi dan perkakas command line, misalnya menggabungkan berkas, merapikan data teks, atau menjadwalkan tugas berulang. Sintaks yang ringkas membuat skrip sekali pakai tetap layak dibaca kembali, sehingga banyak skrip kecil tumbuh menjadi perkakas tetap dalam tim. Sejumlah perkakas pengembangan yang dikenal luas juga ditulis dengan Ruby, seperti Vagrant untuk pengaturan mesin virtual dan Jekyll untuk pembuatan situs statis.

Ruby juga lama menjadi pilihan populer untuk pengujian perangkat lunak, karena sintaksnya yang terbaca membuat skenario uji mendekati deskripsi perilaku. Untuk pembaca jalur ini, jangkauan tersebut berarti keterampilan Ruby dapat digunakan lintas kebutuhan: satu bahasa untuk skrip harian, perkakas pengembangan, dan aplikasi web.

Ringkasan#

  • Ruby dirancang oleh Matz sejak 1993 dan dirilis secara publik pada 1995 dengan menggabungkan ide dari Perl, Smalltalk, Lisp, dan bahasa lain.
  • Filosofi kebahagiaan pengembang menjadikan keterbacaan kode dan perilaku yang sesuai dugaan sebagai prioritas desain bahasa.
  • Ruby on Rails, framework web yang dirilis 2004 dengan prinsip convention over configuration, menjadi pendorong utama popularitas Ruby.
  • Penggunaan Ruby membentang dari skrip otomasi dan perkakas command line hingga aplikasi web berskala besar.

Referensi#