4 poin oleh GN⁺ 2024-12-26 | 2 komentar | Bagikan ke WhatsApp
  • Seperti tahun-tahun sebelumnya, Ruby 3.4.0 dirilis pada 12/25.

  • Pembaruan utama mencakup penambahan referensi parameter blok it, penggantian parser default ke Prism, penambahan dukungan Happy Eyeballs Version 2 pada pustaka socket, penyempurnaan YJIT, penambahan GC modular, dan lain-lain.

  • Referensi Parameter Blok it

    • Diperkenalkan it yang dapat digunakan untuk mereferensikan parameter blok tanpa nama variabel. Ini bekerja mirip dengan _1 dan nyaman digunakan pada blok yang sederhana.
  • Perubahan ke Prism sebagai Parser Default

    • Parser default diubah dari parse.y menjadi Prism. Tidak akan ada perubahan besar yang terlihat bagi pengguna; jika ada masalah kompatibilitas, silakan laporkan.
  • Happy Eyeballs Version 2 pada Pustaka Socket

    • Dukungan untuk Happy Eyeballs Version 2 (RFC 8305) ditambahkan pada pustaka socket. Fitur ini menyediakan koneksi jaringan yang lebih efisien dan andal untuk kondisi internet modern.
  • Penyempurnaan YJIT

    • Peningkatan kinerja pada sebagian besar benchmark, pengurangan penggunaan memori, berbagai perbaikan bug, dan penambahan fitur-fitur baru.
  • GC Modular

    • Fitur GC modular ditambahkan agar implementasi garbage collector alternatif bisa dimuat secara dinamis. Dibutuhkan toolchain Rust.
  • Perubahan Bahasa

    • Pada berkas yang tidak memiliki komentar frozen_string_literal, perubahan literal string akan memunculkan peringatan. Termasuk juga dukungan keyword splatting **nil serta berbagai perubahan lain.
  • Pembaruan Kelas Inti

    • Termasuk beberapa pembaruan kelas inti, seperti Exception#set_backtrace yang sekarang menerima array Thread::Backtrace::Location.
  • Pembaruan Pustaka Standar

    • Peningkatan kinerja dan penambahan fitur pada berbagai pustaka standar seperti RubyGems, Bundler, JSON, Tempfile, dan sebagainya.
  • Masalah Kompatibilitas

    • Termasuk perubahan terkait kompatibilitas, seperti perubahan pesan error dan cara menampilkan backtrace, serta perubahan cara merender Hash#inspect.
  • Pembaruan C API

    • Termasuk pembaruan C API, seperti penghapusan fungsi rb_newobj dan rb_newobj_of.
  • Perubahan Lainnya

    • Berbagai perubahan lain, seperti kemunculan peringatan saat mengirim blok yang tidak dipakai ke suatu metode.

2 komentar

 
GN⁺ 2024-12-26
Komentar Hacker News
  • Antusiasme terhadap perubahan parser Ruby sangat besar. Dulu saya diajari untuk menggunakan yacc, tetapi Ruby kini masuk daftar bahasa yang menggunakan parser yang ditulis tangan.

    • Mengganti parse.y 16k baris dengan prism.c 22k baris adalah gerakan yang berani.
  • Ruby 3.4.1 sudah ketinggalan zaman.

  • Kinerja Ruby dalam beberapa tahun terakhir meningkat secara signifikan. Sejak versi 3.3, menjalankan semua aplikasi dengan opsi --yjit membuat perbedaan besar.

  • Strategi Shopify sama dengan kisah YJIT: jika layanan tidak memungkinkan untuk direfaktor, niatnya adalah merefaktor Ruby itu sendiri.

  • Senang sekali ada peningkatan performa di level JIT dan GC.

  • Kami sudah berharap rilis Ruby sebagai tradisi menjelang Natal setiap tahun.

  • Kami memperbarui aplikasi Rails tiap akhir tahun, dan baru-baru ini hal itu menjadi lebih mudah berkat semakin stabil dan performanya yang meningkat.

  • Mengucapkan selamat dan terima kasih kepada tim Ruby.

  • Sejak ada kabar tentang Rails 8, saya ingin mencoba Ruby, tetapi akhirnya menyerah karena proses instalasinya terlalu sulit.

    • Menginstal Ruby 3.3 di Mac dan Windows adalah tantangan besar.
    • Di Docker juga perlu penyesuaian versi, dan devContainers pun bermasalah.
    • Setelah terinstal, penyorotan sintaks pada file html.erb Rails di VSCode dan editor lain sepenuhnya rusak.
    • Mencari solusi di internet tidak berhasil, jadi akhirnya menyerah.
    • Saya mencoba di Mac, Windows, dan Linux, semuanya gagal, dan akan jadi hadiah Natal jika ada yang bisa menyelesaikan masalah ini.
 
eajrezz 2024-12-26

Setelah mendengar kabar tentang Rails 8, saya ingin mencoba Ruby, tetapi menyerah karena proses instalasinya terlalu sulit.

macOS ada skrip yang memudahkan instalasi Rails.
=>
https://rails.new/