Setelah satu tahun pengembangan, rilis Ruby 2.6.0 diterbitkan, bahasa pemrograman berorientasi objek yang dinamis, yang ditandai dengan efisiensi pengembangan perangkat lunak yang tinggi dan menggabungkan fitur-fitur terbaik dari Perl, Java, Python, Smalltalk, Eiffel, Ada dan Lisp.
Kode proyek didistribusikan di bawah lisensi BSD ("2-clause BSDL") dan "Ruby", yang mengacu pada lisensi GPL terbaru dan sepenuhnya sesuai dengan GPLv3.
Ruby 2.6 adalah versi utama keenam, disiapkan sebagai bagian dari proses pengembangan yang direncanakan, yang melibatkan pengalokasian satu tahun untuk menyiapkan peningkatan fungsional dan membuat versi korektif setiap 2-3 bulan.
Fitur baru utama di Ruby 2.6.0
Dengan rilis baru Ruby ini menambahkan implementasi eksperimental dari compiler JIT, yang memungkinkan Anda meningkatkan kinerja aplikasi dalam bahasa Ruby secara signifikan.
Tidak seperti compiler JIT tradisional, yang menghasilkan instruksi mesin dengan cepat, compiler JIT yang diusulkan di Ruby terlebih dahulu menulis kode C ke disk, kemudian memanggil compiler C eksternal untuk membuat instruksi mesin (didukung GCC, Clang dan Microsoft VC ++).
Untuk mengaktifkan JIT, Anda harus menentukan opsi "–jit" saat memulai ruby atau menyetel opsi ini di variabel lingkungan RUBYOPT.
Dibandingkan dengan Ruby 2.5, penyertaan JIT rata-rata 1.7 kali kinerja aplikasi intensif CPU.
Pada saat yang sama, pengembangan masih bersifat eksperimental dan tidak sesuai untuk beban yang terkait dengan pekerjaan intensif memori.
Perbaikan lain yang diperoleh dalam versi ini adalah RubyVM :: Modul eksperimental AbstractSyntaxTree, yang menyediakan metode parsing yang memproses string yang diteruskan sebagai kode Ruby dan mengembalikan Abstract Syntax Tree (AST) untuk kode ini.
Sekarang alias "#then" dapat digunakan untuk mengakses metode "Kernel # yield_self". Untuk metode "Array # |" dan "Array # -" menyarankan alias yang lebih mudah dibaca "Array # union" dan "Array # Difference".
Nama konstanta sekarang dapat dimulai dengan huruf besar selain ASCII.
Dukungan juga diberikan untuk Transient Heap, theap ditujukan untuk objek dengan umur pendek menggunakan kelas tertentu (Array, Hash, Object, Struct).
Misalnya, berkat theap, membuat hash kecil yang berumur pendek sekarang dua kali lebih cepat. Uji rdoc menunjukkan peningkatan rendemen 6-7%.
Untuk meningkatkan kinerja sakelar konteks, implementasi asli coroutine diusulkan untuk arsitektur arm32, arm64, ppc64le, win32, win64, x86, dan amd64. "Fiber.yield" dan "Fiber # resume" pada sistem Linux 64-bit sekarang berjalan hampir 5 kali lebih cepat.
Secara umum program intensif menunjukkan peningkatan kinerja sebesar 5%.
Perbaikan besar di Ruby 2.6.0
Versi terbaru dari RubyGems 3.0.1 telah diterima, di mana dukungan untuk opsi "–ri" dan "–rdoc" telah dihentikan, alih-alih Anda harus menggunakan "–document" dan "–no-document".
Bundler sekarang diinstal secara default untuk mengelola dependensi gem.
Menambahkan dukungan untuk rentang yang belum selesai, misalnya, "ary [1 ..]" atau "(1 ..). Setiap {…} ».
Dari peningkatan lain yang dapat disorot, Anda dapat menemukan:
- Opsi pengecualian telah ditambahkan ke metode sistem Kernel # untuk memunculkan pengecualian pada kesalahan alih-alih mengembalikan salah.
- Mode oneshot telah ditambahkan ke modul cakupan, yang memeriksa apakah setiap baris dijalankan setidaknya sekali.
- Kelas Enumerator :: Chain dan metode "Enumerable # chain" dan "Enumerator # +" yang diimplementasikan di dalamnya ditambahkan untuk membuat rantai nilai yang disebutkan.
- Dukungan untuk operator «<<» dan «>>» telah ditambahkan ke modul Proc dan Metode, misalnya, konstruksi «(f << g) .call (3)» identik dengan «f (g (3) )) ".
Bagaimana cara menginstal Ruby 2.6.0 di Linux?
Untuk mendapatkan Ruby versi baru ini, cukup buka terminal di sistem Anda dan ketik salah satu dari perintah berikut
Debian, Ubuntu, dan turunannya
sudo apt-get install ruby-full
CentOS, Fedora, dan RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos, dan turunannya
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Perintah apt-get yum etc pergi ke repositori default dari distribusi, yang umumnya lama dan Anda tidak akan memiliki versi 2.6 tetapi versi lama lainnya.