Jumat, 19 Februari 2010

BAHASA PEMROGRAMMAN RUBY





Anda heran mengapa Ruby sangat populer? Penggemar Ruby menyebut Ruby sebagai bahasa yang cantik dan artistik. Mereka juga menyebut Ruby praktis dan mudah. Apa lagi?

Ruby merupakan bahasa yang seimbang. Pencipta Ruby, Yukihiro “matz” Matsumoto, menggabungkan bagian-bagian dari bahasa-bahasa favorit beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk bahasa baru yang seimbang antara pemrograman fungsional dengan pemrograman imperatif.

Matz sering menyebutkan bahwa beliau sedang “mencoba membuat Ruby natural, bukan sederhana,” dengan cara membuatnya mirip dengan kehidupan nyata.

Berprinsip pada hal ini, Matz menambahkan:

Penampilan Ruby dari luar sederhana, tetapi sangat rumit di bagian dalam, seperti badan manusia kita ini.

Ruby Fleksibel

Ruby dianggap sebagai bahasa yang fleksibel, karena bagian-bagian dari Ruby bisa diubah-ubah dengan bebas. Bagian-bagian yang esensi di Ruby bisa dihapus maupun didefinisikan ulang. Bagian-bagian yang sudah ada bisa ditambahkan. Ruby mencoba untuk tidak membatasi programmer.

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.

class Numeric
def plus(x)
self.+(x)
end
end

y = 5.plus 6
# y sekarang adalah 11

Demi kemudahan, operator-operator Ruby adalah juga metode. Anda juga bisa mendefinisikan ulang operator.

Ruby dan Mixin

Tidak seperti banyak bahasa-bahasa berorientasi obyek lain, Ruby hanya menyediakan single inheritance dengan 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 module Enumerable, yang menambahkan banyak metode-metode yang menggunakan each untuk melakukan perulangan.

class MyArray
include Enumerable
end
Secara umum, Rubyist menganggap ini sebagai cara yang lebih jelas ketimbang multiple inheritance, yang rumit dan bahkan terlalu membatasi.

Tampilan Ruby secara Visual

Ruby jarang menggunakan tanda baca dan biasanya cenderung menggunakan keyword berbahasa Inggris, biasanya beberapa tanda baca digunakan untuk memperjelas kode Ruby

Ruby tidak perlu deklarasi variabel. Ruby menggunakan aturan penamaan yang mudah untuk menyatakan scope suatu variabel.

var adalah variabel lokal.
@var adalah variabel instan.
$var adalah variabel global.
Sigil-sigil tersebut bertujuan untuk memudahkan dan memperjelas ketika dibaca bagi programmer untuk mengidentifikasi fungsi dari setiap variabel. Sigil juga bisa menjadi hal yang tidak perlu bila harus digunakan pada setiap member instan self.

Langkah Selanjutnya

Ruby kaya fitur, antara lain sebagai berikut:

Ruby memiliki fitur-fitur yang menangani exception, seperti Java atau Python, untuk mempermudah menangani error.
Ruby menyediakan mark-and-sweep garbage collector untuk semua obyek Ruby. Tidak perlu me-maintain reference count pada library extension. Seperti yang Matz katakan, “Ini lebih baik untuk kesehatan Anda.”
Menulis extension C di Ruby lebih mudah daripada di Perl ataupun di Python, dengan API yang elegan untuk memanggil Ruby dari C. Ini termasuk memanggil Ruby embedded di software, untuk digunakan sebagai bahasa scripting. Interface SWIG juga tersedia.
Ruby bisa load library extension secara dinamis jika Sistem Operasi mengijinkan.
Ruby menyediakan fitur OS threading yang independent. Maka, untuk semua platform dimana Ruby berjalan, Anda juga punya multithreading, terlepas dari apakah Sistem Operasi mendukung multithreading atau tidak, bahkan pada MS-DOS sekalipun!
Ruby sangat portable: Ruby kebanyakan dikembangkan di GNU/Linux, tetapi juga berjalan di banyak tipe UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, dan lain-lain.

Referensi diambil dari :

1 Matz, berbicara di milis Ruby-Talk, 12 Mei 2000.

2 Lihat situs Ruby on Rails untuk info lebih lengkap.

3 Matz, An Interview with the Creator of Ruby, (Wawancara dengan Pencipta Ruby, dalam Bahasa Inggris), 29 November 2001.

4 Matz, Blocks and Closures in Ruby, (Blok dan Closure di Ruby, dalam Bahasa Inggris), 22 Desember 2003.

semoga bermanfaat...^^

Tidak ada komentar:

Posting Komentar