Ruby 2.3.0 Final Telah Rilis

Yana Permana 26 Desember 2015

Ruby 2.3.0 Final Telah Rilis

Apa kabar programmer Ruby? Kabar baik datang dari pengembang Ruby yang telah mengumumkan rilis final Ruby 2.3.0. Perkembangan bahasa pemrograman Ruby cukup pesat, padahal baru beberapa hari kemarin, dirilis Ruby 2.2.4.

Rilis Ruby 2.3.0 merupakan rilis yang sudah stabil untuk seri Ruby 2.3.x. dan didalamnya banyak fitur baru yang ditambahkan. Apa saja? Ini dia.

Frozen String Literal Pragma

Semenjak Ruby 2.1, "str".freeze sebenarnya telah dioptimalkan untuk mengurangi alokasi objek, sedangkan untuk Ruby 2.3 mengenalkan opsi command line dan komentar untuk membekukan semua string literal dalam file source code. Fitur ini berguna untuk tambahan debugging, pembaca dapat mengetahui objek yang mempunyai kesalahan "can't modify frozen String" dengan opsi command line --debug=frozen-string-literal.

Safe Navigation Operator

Safe navigation operator disebut juga dengan lonely operator yang disimbolkan dengan &., fitur ini sebenarnya telah ada di bahasa pemrograman lainnya seperti C#, Groovy, dan Swift. Ruby menambahkan safe navigation operator untuk menangani nilai nil yang bisa dianggap sebagai obj&.foo. Sedangkan untuk Array#dig dan Hash#dig juga ditambahkan. Fitur ini sudah diimplementasikan pada try! of ActiveSupport yang khususnya menangani nilai nil saja.

Instruction Sequence RubyVM::InstructionSequence#to_binary dan .load_from_binary telah dikenalkan sebagai fitur uji coba pada versi ini. Dengan fitur ini, kita dapat membuat ISeq (bytecode) pre-compilation system.

Selain itu, ada banyak peningkatan performa diantaranya metode pengembalian entri struktur data yang mengenalkan tabel baru, optimasi Proc#call, pengaturan kode mesin (low level) untuk alokasi objek dan method calling code, instans variabel struktur data yang lebih pintar, Socket and I/O yang kini bisa menggunakan “exception:” untuk high-performance non-blocking I/O dan seterusnya.

Semenjak Ruby 2.2.0, telah dilakukan perubahan sebanyak 2496 perubahan file, 104057 penambahan (+), dan penghapusan 59478. Hmm, cukup banyak bukan? Untuk daftar lengkap mengenai fitur baru dan masalah kompatibilitas, pembaca bisa membaca catatan rilis lengkapnya di Changelog Ruby 2.3.0. Sedangkan untuk binary dan source code bisa diunduh di situs resmi Ruby.

(yp/rubylang)