Bagian 1: Pengenalan Ruby
Apakah kalian sudah pernah mendengar bahasa pemrograman bernama Ruby? Bagi kalian yang baru dan/atau belum lama masuk kedalam dunia pemrograman pasti kurang familiar dengan nama Ruby. Namun jika penulis menyebut PHP atau Java misalnya, penulis jamin pasti kalian setidaknya pernah mendengarnya atau bahkan sudah pernah mencoba menggunakannya sebagai bahasa pemrograman. Ya, karena di Indonesia sendiri khususnya, hingga e-book ini ditulis, kebanyakan materi pelajaran pemrograman yang diajarkan di kampus-kampus di Indonesia masih berkutat pada bahasa pemrograman yang sudah disebutkan tadi, selain C++ (C plus plus), C dan C# (C Sharp). Untuk masalah bahasa pemrograman yang baru, sebenarnya pendidikan tentang pemrograman di Indonesia cukup tertinggal. Padahal bahasa pemrograman Ruby cukup digemari dan cukup populer diluar negeri, seperti Amerika Serikat dan negara-negara Eropa dikarenakan sintaksnya yang mudah dibaca dan bersih serta sifatnya yang fully berorientasi objek. Jika sistem pendidikan Indonesia masih saja terus memberikan materi bahasa pemrograman yang sama terus menerus dari tahun ke tahun tanpa memberikan sedikitpun satu atau dua bahasa pemrograman baru, Indonesia akan semakin tertinggal. Dan karena itulah salah satu alasan kenapa e-book ini dibuat.
Kembali ke topik utama, kita akan sedikit membahas sejarah dari Ruby. Ruby diciptakan oleh seorang berkebangsaan Jepang bernama Yukihiro Matsumoto ("Matz") dan koleganya pada tahun 1993. Mereka mendiskusikan tentang bahasa pemrograman yang berbasis objek. Matz bisa menggunakan bahasa pemrograman Perl, tapi tidak terlalu menyukainya dan juga bisa menggunakan Python, namun tidak sepenuhnya menyukai Pyhton karena dia menganggap tidak benar-benar sebagai bahasa pemrograman yang murni berbasis objek. Matz menginginkan bahasa pemrograman yang memiliki sintaks yang simpel, bersifat murni berbasis objek, memiliki fungsi closures dan iterators, memiliki fitur exception handling, portabel, dan memiliki garbage collection. Hingga pada akhirnya Matz memutuskan untuk membuat bahasa pemrogramannya sendiri.
Setelah menghabiskan beberapa bulan menulis kode interpreter, Matz mempublikasikan versi perdana Ruby, versi 0.95 pada tahun 1995. Ruby terus mendapatkan pembaruan dimulai dari naik ke versi 1.0 dibulan Desember tahun 1996, lalu ke versi 1.1 dibulan Agustus tahun 1997 dan versi stabil pertama Ruby versi 1.2 dibulan Desember tahun 1998. Buku pertama Ruby dibuat oleh Matz dan Keiju Ishitsuka pada bulan Oktober tahun 1999 berjudul: The Object-oriented Scripting Languange Ruby. Sejak saat itu, Ruby mulai menjadi sangat populer di Jepang dan negara-negara berbahasa Inggris turut mengikuti. Pada tahun 2001, buku berbahasa inggris pertama Ruby dirilis, dengan judul: Programming Ruby ("The Pickaxe") dan dengan ini, Ruby menjadi semakin populer. Pada tahun 2003, Ruby versi 1.8 dengan beberapa fitur besar seperti:
- Duck Typing (Istilah ini cukup melekat pada Ruby dengan tagline-_nya: _Looks like a duck, swims like a duck, quacks like a duck: it's a duck).
- Native YAML support
- WEBrick
- open-uri
StringIO
- Pretty Printer for
Hash#inspect
ruby -run
(perintah UNIX untuk semuaruby -run -e mkdir foo
)
Pada tahun 2004, RubyGems pertama kali dirilis. Pada tahun 2005, Ruby menjadi semakin populer, terima kasih untuk framework yang sangat fenomenal dengan beberapa terobosannya seperti konsep Model-View-Controller-nya, dialah Ruby on Rails. Dengan munculnya Ruby on Rails, semakin banyak orang yang mencoba menggunakan Ruby. Pada bulan Maret tahun 2007, dirilis Ruby versi 1.8.6, diikuti versi 1.8.7 dibulan Mei pada tahun 2008. Dititik ini, Ruby sedang dalam puncak kepopulerannya, bahkan MacOS X mulai memasukkan Ruby sebagai default ditahun 2007.
Dibulan Desember tahun 2007, dirilis Ruby 1.9 versi development, lalu distabilkan 4 (empat) tahun kemudian dengan dirilisnya Ruby 1.9.3 sebagai versi production dari Ruby 1.9.2. Diversi ini banyak fitur baru yang ditambahkan seperti:
- Lebih cepat
- Method baru
- Sintaks
Hash
baru - RubyGems sudah sebagai default
- Soket API baru (mendukung IPv6)
- Pembaruan
Test::Unit
- dan masih banyak lagi
Berikutnya, Ruby 2.0.0 dirilis dibulan Februari pada tahun 2013 dan membawa banyak pembaruan diantaranya:
- Perbaikan disisi kecepatan (lebih cepat dari versi terdahulu)
- Refinements (_Monkey Patching _yang lebih aman)
- Keyword arguments
- UTF-8 sudah menjadi default
- _Regular Expression Engine _yang baru
- Optimisasi Garbage Collection
Tidak seperti Ruby 1.9.x yang membuat banyak Gem harus melakukan pembaruan mengikuti pembaruan Ruby 1.9, Ruby 2.0.0 hampir sepenuhnya backward compatible, _yang artinya kode Ruby yang masih menggunakan Ruby 1.9.x masih akan tetap berjalan dengan baik di Ruby 2.0.0. Ruby 2.1.0 dirilis pada bulan Desember saat natal pada tahun 2013 dengan membawa pembaruan _minor. Berikutnya Ruby 2.1.1 dirilis pada ulang tahun Ruby yang ke-21 pada tanggal 24 Februari 2014. Hingga ebook ini ditulis, Ruby sudah mencapai versi 2.5.0-dev (berdasarkan rbenv install --list
).