Ruby 4.0, Ruby'nin ilk halka açık sürümünün 30. yıl dönümünü kutlamak amacıyla önümüzdeki hafta Noel günü yayınlanacak. Bu büyük sürüm yükseltmesi, önemli bir sürüm numarası artışı olsa da, ciddi bir geriye dönük uyumsuzluk içermemesi bekleniyor. Yeni sürüm, performansı ve geliştirici deneyimini artıracak bir dizi yenilikle geliyor.
En dikkat çekici yeniliklerden biri, izole edilmiş isim alanları (namespaces) sunan deneysel bir özellik olan Ruby::Box. Bu özellik, geliştiricilere aynı anda bir kütüphanenin farklı sürümlerini yükleme esnekliği sağlayarak bağımlılık yönetiminde yeni kapılar açıyor. Ayrıca, eşzamanlı programlama için kullanılan Ractor'ın API'si de Ractor::Port üzerinden iletişim kuracak şekilde yeniden tasarlandı; bu da Ractor.yield ve Ractor#take gibi eski yöntemlerin yerini alıyor.
Performans tarafında ise, Ruby'ye ZJIT adında yeni bir JIT compiler entegre edildi. YJIT'e kıyasla daha geleneksel, metot tabanlı bir yaklaşım benimseyen ZJIT, yorumlanmış koda göre daha hızlı olsa da, henüz üretim ortamları için önerilen YJIT'in hızına ulaşabilmiş değil. Ancak bu, gelecekteki hız iyileştirmeleri için önemli bir temel oluşturuyor. Ek olarak, mantıksal operatörlerin (&&, ||) bir sonraki satırda kullanılabilmesi gibi küçük ama kullanışlı sözdizimi iyileştirmeleri ve Ruby üst düzey modülünde sürüm ve açıklama gibi yeni sabitlerin tanımlanması da bu sürümle birlikte geliyor.
Ruby 4.0, 30. yıl dönümünü kutlarken, performansı artıran yeni bir JIT compiler, eşzamanlılık için Ractor API güncellemeleri ve geliştiricilere daha fazla esneklik sunan izole isim alanları gibi önemli yenilikler getiriyor.