Ruby adalah bahasa pemrograman dinamis berbasis skrip yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman skrip yang ada di dunia. Ruby ditulis dengan bahasa pemrograman C dengan kemampuan dasar seperti Perl dan Python.
Sejarah
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 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.
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 beratribut pada terkenalnya software yang ditulis dengan Ruby, terutama web framework Ruby on Rails.
Ruby juga sepenuhnya bebas. Tidak hanya gratis, tetapi juga bebas untuk digunakan, dimodifikasi dan didistribusikan.
Fungsi
Kelebihan Bahasa Pemrograman Ruby
Jika tadi sudah dijelaskan tentang apa itu Ruby, sekarang mari simak apa saja kelebihan bahasa pemrograman Ruby berikut ini :
1. Memilki sintaks sederhana
Ruby termasuk salah satu bahasa pemrograman dengan sintaks yang sederhana. Karena kesederhanaan kodenya, kerja programmer jadi lebih efektif.
Dibandingkan dengan bahasa pemrograman lain yang umumnya dibutuhkan sekitar 10 baris, Ruby hanya butuh 1 atau 2 baris saja. Selain itu juga tidak perlu menggunakan titik koma (;) di akhir sintaks.
2. Bahasa pemrograman berbasis objek (OOP)
Seperti yang diketahui, pemrograman dengan konsep OOP dinilai lebih fleksibel karena mudah dipelajari dan mudah untuk dikembangkan.
Dalam praktiknya, konsep pemrograman ini memanfaatkan kumpulan objek yang saling berinteraksi serta bertukar data untuk mencapai hasil akhir yang diinginkan.
3. Hemat waktu
Salah satu keunggulan utama dari bahasa pemrograman Ruby yang dikombinasikan dengan Framework Rails ialah memungkinkan untuk membuat aplikasi dengan cepat.
Ruby diyakini sebagai salah satu bahasa yang paling efisien, khususnya Ruby on Rails. Mengusung arsitektur MVC (Model-View-Controller) yang memudahkan para programmer untuk membangun aplikasi web dan desktop.
4. Keamanan yang tinggi
Penggunaan Ruby dengan Rails Framework dianggap dapat menghasilkan sistem keamanan yang tinggi. Memiliki built-in security yang membuat aplikasi selalu aman dari berbagai upaya penyusupan, seperti serangan XSS, CSRF dan SQL Injection yang dinilai sebagai serangan paling populer pada aplikasi web.
5. Open source
Bahasa pemrograman Ruby bersifat open source, sehingga siapa saja dapat memakainya dengan cuma-cuma. Para pengguna dapat dengan bebas mengembangkan atau memodifikasinya sesuai kebutuhan.
6. Memiliki garbage collector
Lewat fitur garbage collector, objek-objek atau informasi yang tidak terpakai akan terhapus secara otomatis, dan sekaligus menciptakan memori tambahan. Memori yang masih tersedia nantinya akan diisi oleh objek lain yang lebih signifikan.
7. Mengusung konsep single inheritance
Apabila memiliki suatu kelas baru tapi akan menggunakan metode dari kelas tertentu, maka tidak perlu menulis ulang metode tersebut. Inilah yang disebut konsep inheritance. Hanya perlu mewarisi dari kelas utamanya. Dengan kata lain, mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang telah ada.
Kekurangan Bahasa Pemrograman Ruby
Meski unggul di beberapa aspek, Ruby juga memiliki sisi kelemahannya. Berikut ini beberapa kekurangan Ruby sebagai bahasa pemrograman, yaitu :
1. Performa cenderung lebih lambat
Ruby masih fully interpreted untuk menjalankan kode-kodenya, sehingga program Ruby cenderung lebih lambat. Metode interpreted berarti menjalankan baris demi baris sambil mengubahnya menjadi bahasa mesin.
Hal ini membuatnya cenderung lebih lambat dibandingkan bahasa pemrograman lainnya yang menggunakan metode kompilasi.
2. Fleksibilitas tinggi bisa menjadi kendala
Fleksibilitas memang menjadi suatu keunggulan Ruby, namun hal ini juga memiliki dampak negatifnya. Sebab, satu kode dengan arti yang sama dapat direalisasikan dengan berbagai cara.
Akibatnya, ketika satu website dikerjakan oleh banyak orang dengan gaya pengkodean yang berbeda-beda, maka akan kurang efektif untuk pengembangan selanjutnya. Terlebih jika proyek tersebut berpindah tangan ke developer lain.
3. Popularitas masih kurang
Meski telah banyak berkembang sejak munculnya, Ruby masih bukan pilihan pertama bagi programmer back-end. Dilihat dari terbatasnya jumlah developer Ruby yang ada, akan jauh lebih mudah menemukan orang yang ahli Python atau Java.
Menurut data dari Stack OverFlow pada tahun 2020, Ruby berada di urutan keempat belas pada kategori bahasa pemrograman yang paling banyak digunakan. Sementara Javascript dan HTML/CSS menempati posisi pertama dan kedua.
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 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 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, macOS, Windows, DOS, BeOS, OS/2, dan lain-lain.
0 Komentar