Ruby adalah bahasa pemrograman berorientasi
objek yang dikembangkan oleh Yukihiro “Matz” Matsumoto dan dirilis pertama kali
pada tahun 1995, dengan versi yang lebih baru dirilis pada tahun 2011. Ruby
kini semakin populer terutama ketika digunakan dengan Framework Rails.
Ruby adalah bahasa
pemrograman yang bersifat Open Source, mudah digunakan dan bisa sangat
fleksibel yang mana bagus untuk programmer pemula
Melihat Semua sebagai Objek.
Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari
sintaks yang ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa scripting
yang lebih hebat daripada Perl dan lebih berorientasi objek daripada Python.”
Di bahasa Ruby, semua adalah sebuah objek. Setiap informasi dan
kode bisa diberi property dan action. Pemrograman berorientasi objek memanggil property
dengan nama variabel
instan dan action, yang disebut sebagai metode.
Pendekatan murni berorientasi objek terutama terlihat pada demonstrasi sedikit
kode yang diberikan pada sebuah number.
Di banyak
bahasa-bahasa lain, number dan tipe primitif bukan objek. Ruby mengikuti
pengaruh bahasa Smalltalk dengan memberikan metode dan variabel instan pada
semua tipe. Ini memudahkan menggunakan Ruby, karena peraturan-peraturan
mengenai objek semua berlaku pada Ruby.
Tentang Perkembangan Ruby
Sejak Ruby pertama kali dirilis ke publik pada tahun 1995, banyak
programmer profesional dari seluruh dunia serius ikut mengembangkan Ruby. Pada
tahun 2006, Ruby diterima oleh banyak orang. Dengan komunitas pengguna Ruby
yang aktif di banyak kota-kota di seluruh dunia.
Ruby-Talk, milis utama untuk
diskusi Ruby (dalam bahasa Inggris), telah mencapai kisaran 200 email setiap
hari pada tahun 2006. Namun, telah menurun di beberapa tahun terakhir karena
ukuran diskusi komunitas dari satu tempat terpusat menjadi banyak
kelompok-kelompok lebih kecil.
Ruby berada di peringkat 10 teratas pada indeks yang menghitung
perkembangan dan popularitas bahasa-bahasa pemrograman di seluruh dunia.
Kebanyakan dari perkembangan Ruby beratribut pada terkenalnya software
yang ditulis dengan Ruby, terutama web frameworkRubyonRails.Ruby juga sepenuhnya bebas. Tidak hanya gratis,
tetapi juga bebas untuk digunakan, dimodifikasi dan didistribusikan.
Melihat Semua sebagai Sebuah Objek.
Pertama kali, Matz melihat bahasa-bahasa lain untuk mencari
sintaks yang ideal. Terkenang pencariannya, Matz berkata, “Saya mau bahasa scripting
yang lebih hebat daripada Perl dan lebih berorientasi objek daripada Python.”
Di bahasa Ruby, semua adalah sebuah objek. Setiap informasi dan
kode bisa diberi property dan action. Pemrograman berorientasi objek memanggil property
dengan nama variabel
instan dan action, yang disebut sebagai metode.
Pendekatan murni berorientasi objek terutama terlihat pada demonstrasi sedikit
kode yang diberikan pada sebuah number.
Di banyak bahasa-bahasa lain, number
dan tipe primitif bukan objek. Ruby mengikuti pengaruh bahasa Smalltalk dengan
memberikan metode dan variabel instan pada semua tipe. Ini memudahkan
menggunakan Ruby, karena peraturan-peraturan mengenai objek semua berlaku pada
Ruby.
Fleksibilitas Ruby
Ruby dianggap
sebagai sebuah bahasa yang fleksibel, karena bagian-bagian dari Ruby bisa
diubah-ubah dengan bebas. Bagian-bagian penting di Ruby bisa dihapus maupun
didefinisikan ulang. Bagian-bagian yang sudah ada bisa ditambahkan.
Misalnya,
penambahan dilakukan dengan operator plus (+).
Tetapi, jika Anda ingin menggunakan kata plus
yang lebih mudah dibaca, maka Anda dapat menambahkan metode tersebut pada kelas
builtin Numeric.
Demi
kemudahan, operator-operator Ruby adalah juga metode.
Blok: Sebuah Fitur yang sungguh Ekspresif
Blok Ruby juga dianggap sebagai sumber kekuatan Ruby yang sangat
fleksibel. Programmer
dapat menyertakan closure pada setiap metode, menjelaskan bagaimana
metode yang bersangkutan seharusnya berperilaku. Closure disebut blok
dan telah menjadi satu diantara banyak fitur-fitur Ruby yang paling populer
pada banyak pendatang baru Ruby dari bahasa-bahasa imperatif lain seperti PHP
atau Visual Basic. Blok terinspirasi dari bahasa-bahasa fungsional. Matz
berkata, “Saya ingin menghormati kultur Lisp di closure Ruby.”
classNumericdefplus(x)self.+(x)endendy=5.plus6# y sekarang adalah 11
Pada
kode diatas, blok dijelaskan dalam bentuk do
... end. Metode map
memberlakukan blok agar menerima array kata-kata (Google, Yahoo dan MSN).
Banyak metode-metode lain di Ruby dibiarkan mempunyai hole yang dibuka untuk programmer
agar menulis blok mereka sendiri untuk mengisi dengan lebih lengkap apa saja
yang seharusnya sebuah metode lakukan.
Ruby dan Mixin
Tidak seperti banyak bahasa-bahasa berorientasi objek lain, Ruby
hanya menyediakan single inheritancedengan sengaja. Tetapi Ruby mengetahui konsep module
(disebut sebagai Categories di Objective-C). Module merupakan kumpulan dari metode-metode.
Kelas dapat
me-mixin
(menggabungkan) sebuah module dan menerima semua metode-metode (dari module
yang bersangkutan) dengan bebas. Contoh, setiap kelas yang mengimplementasikan
metode each bisa mixin moduleEnumerable, yang
menambahkan banyak metode-metode yang menggunakan each
untuk melakukan perulangan.