Bahasa Pemrograman Ruby

BAHASA PEMROGRAMAN RUBY TERBARU

Bahasa Pemrograman Ruby merupakan sebuah bahasa yang seimbang. Pencipta Ruby,¬†Yukihiro ‚ÄúMatz‚ÄĚ Matsumoto, menggabungkan bagian-bagian dari bahasa favorit beliau (Perl, Smalltalk, Eiffel, Ada dan Lisp) untuk membentuk sebuah bahasa baru yang seimbang antara Bahasa fungsional dengan Bahasa 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 ini1.

Bahasa Pemrograman Ruby pertama kali terilis ke publik pada tahun 1995, banyak programmer profesional dari seluruh dunia serius ikut mengembangkan pemrograman Ruby. Pada tahun 2006, Ruby terima oleh banyak orang. Dengan komunitas pengguna Ruby yang aktif di banyak kota-kota di seluruh dunia dan konferensi-konferensi beserta pertemuan Ruby terkait.

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.

Bahasa Pemrograman Ruby berada di peringkat 10 teratas pada indeks yang menghitung perkembangan dan popularitas bahasa-bahasa pemrograman di seluruh dunia (seperti TIOBE index). Kebanyakan dari perkembangan Ruby ber atribut pada terkenalnya software yang tulis dengan Ruby, terutama web framework Ruby on Rails.

Ruby juga sepenuhnya bebas. Tidak hanya gratis, tetapi juga bebas untuk kita pakai, modifikasi dan distribusikan.

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 Python2.‚ÄĚ

Di Ruby, semua adalah sebuah objek. Setiap informasi dan kode bisa kita beri property dan action. Pemrograman berorientasi objek memanggil property dengan nama variabel instan dan action, yang kita sebut sebagai metode. Pendekatan murni berorientasi objek terutama terlihat pada demonstrasi sedikit kode yang sudah terima pada sebuah number.

5.times { print “Kami *cinta* Ruby — Ruby sungguh aduhai!” }

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.

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

Blok Ruby juga sebagai sumber kekuatan Ruby yang sangat fleksibel. Programmer dapat menyertakan closure pada setiap metode, menjelaskan bagaimana metode yang bersangkutan seharusnya berperilaku. Closure tersebut blok dan telah menjadi satu antara 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 Ruby3.‚ÄĚ

search_engines =

  %w[Google Yahoo MSN].map do |engine|

¬†¬†¬†¬†“http://www.” + engine.downcase + “.com”

  end

Pada kode atas, blok akan jelaskan dalam bentuk¬†do … end. Metode¬†map¬†memberlakukan blok agar menerima array kata-kata (Google, Yahoo dan MSN). Banyak metode-metode lain Ruby dan biarkan mempunyai hole yang terbuka 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 inheritance dengan sengaja. Tetapi Ruby mengetahui konsep module (dengan nama 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

Bahasa Pemrograman Ruby tidak sering memakai ciri baca serta umumnya cenderung memakai kata kunci berbahasa Inggris, sebagian ciri baca terpakai buat memperjelas kode Ruby. Tidak butuh deklarasi variabel. Memakai ketentuan penamaan yang gampang buat melaporkan scope dari variabel- variabel.

  • var¬†adalah variabel lokal.
  • @var¬†adalah variabel instan.
  • $var¬†adalah variabel global.

Sigil-sigil tersebut bertujuan untuk memudahkan dan memperjelas ketika baca bagi programmer untuk mengidentifikasi fungsi dari setiap variabel. Sigil juga bisa menjadi hal yang tidak perlu bila harus kita gunakan pada setiap member instan self.

Langkah Selanjutnya

Bahasa Pemrograman Ruby kaya fitur, antara lain sebagai berikut:

  • Memiliki fitur-fitur yang menangani¬†exception, seperti Java atau Python, untuk mempermudah menangani¬†error.
  • Ruby menyediakan¬†mark-and-sweep garbage collector¬†untuk semua objek Ruby. Tidak perlu menjaga¬†reference count¬†pada¬†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 memuat¬†extension library¬†secara dinamis jika sistem operasi mengizinkan.
  • Ruby menyediakan fitur OS¬†threading¬†yang independen. Maka, untuk semua¬†platform¬†yang mana 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 berkembang GNU/Linux, tetapi juga berjalan di banyak tipe UNIX, macOS, Windows, DOS, BeOS, OS/2, dan lain-lain.

Implementasi Lain dari Ruby

Ruby, sebagai sebuah bahasa, memiliki beberapa implementasi yang berbeda. Halaman ini telah mendiskusikan referensi implementasi, di dalam komunitas sering disebut sebagai¬†MRI¬†(‚ÄúMatz‚Äôs Ruby Interpreter‚ÄĚ) atau¬†CRuby¬†(karena ditulis dalam bahasa C), tetapi ada juga bahasa lainnya. Mereka sangat bermanfaat pada situasi tertentu, menyediakan integrasi dengan bahasa atau lingkungan lainnya, atau memiliki fitur khusus yang tidak dimiliki oleh MRI. Berikut ini daftarnya:

  • JRuby¬†adalah Ruby yang berjalan di atas JVM (Java Virtual Machine), memanfaatkan optimisasi JIT¬†compiler-nya JVM,¬†garbage collector,¬†concurrent thread,¬†tool ecosystem, dan kumpulan pustaka yang luas.
  • Rubinius¬†adalah ‚ÄėRuby written in Ruby‚Äô. Buat atas LLVM, Rubinius memakai sebuah¬†virtual machine¬†yang bagus yang bahasa lainnya sedang buat atasnya, juga.
  • TruffleRuby¬†adalah sebuah implementasi Ruby di atas GraalVM yang memiliki performa tinggi.
  • mruby¬†adalah sebuah implementasi¬†lightweight¬†dari bahasa Ruby yang dapat terhubungkan dan tertanamkan dengan sebuah aplikasi.
  • IronRuby¬†adalah sebuah implementasi ‚Äútightly integrated with the .NET Framework‚ÄĚ.
  • MagLev¬†adalah ‚Äúa fast, stable, Ruby implementation with integrated object persistence and distributed shared cache‚ÄĚ.
  • Cardinal¬†adalah ‚ÄúRuby compiler for¬†Parrot¬†Virtual Machine‚ÄĚ (Perl 6).

Bahasa Pemrograman Ruby Inilah Kelebihan

  • Sintaks sederhana.
  • Memiliki¬†exception handling¬†yang baik.
  • Bahasa Pemrograman Berorientasi Objek.
  • Mengusung konsep¬†single inheritance.
  • Open source, siapa saja dapat menggunakannya dengan cuma-cuma dan dapat ikut berpartisipasi mengembangkannya.
  • Memiliki¬†garbage collector¬†yang secara otomatis akan menghapus informasi tak terpakai dari memori.

Kutip dari : https://www.ruby-lang.org/id/about/

Gambar di kutip dari : https://www.immersa-lab.com/mengenal-bahasa-pemrograman-ruby.htm

Atau bisa juga kunjungi website kami : COMTELINDO

 

1 komentar untuk “BAHASA PEMROGRAMAN RUBY TERBARU”

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *