Vissza a hírekhez
Ruby 4.0 2025. 12. 31.

Ruby 4.0 megjelent: forradalmi Ruby Box izolációs technológia és új ZJIT fordító érkezik

December 25-én megjelent a Ruby 4.0.0, amely bemutatja a "Ruby Box" és "ZJIT" technológiákat, és számos fejlesztést tartalmaz. A Ruby 4.0 karácsony napján jelent meg 2025-ben, ezzel megünnepelve a Ruby első nyilvános kiadásának 30. évfordulóját.

Ruby Box: Forradalom az alkalmazás-izolációban

A Ruby Box egy új kísérleti funkció, amely definíciók elkülönítését biztosítja. A Ruby Box környezeti változóval (RUBY_BOX=1) aktiválható, és a Ruby::Box osztályt használja. A boxban betöltött definíciók izolálva vannak az adott boxban.

A Ruby Box képes izolálni/elkülöníteni a monkey patch-eket, globális/osztály változók módosításait, osztály/modul definíciókat, valamint a betöltött natív/ruby könyvtárakat más boxoktól.

A várható felhasználási területek között találjuk:

  • Teszt esetek futtatása boxban más tesztek védelmében, amikor a teszt eset monkey patch-eket használ
  • Webalkalmazás boxok párhuzamos futtatása blue-green deployment végrehajtásához egy app szerveren egy Ruby folyamaton belül
  • Webalkalmazás boxok párhuzamos futtatása függőségi frissítések értékeléséhez meghatározott ideig

ZJIT: Az új generációs fordító

A Ruby 4.0 ZJIT-tel érkezik, amely az új just-in-time fordítójuk az YJIT fordító új generációjaként. A ZJIT egy kísérleti, metódus-alapú JIT fordító, amelyet ugyanaz a Shopify csapat fejlesztett, amely az YJIT-et is készítette.

Míg az YJIT közvetlenül a Ruby VM YARV bájtkódját fordítja alacsony szintű IR-re, egy alapblokk után a másikat feldolgozva, addig a ZJIT Static Single Assignment Form (SSA) formát használ magas szintű köztes reprezentációként és teljes metódusokat fordít egyszerre.

A ZJIT célja, hogy hozzáférhetőbb legyen a közreműködők számára. Egy "tankönyvi" fordító architektúrát követ, amely könnyebben érthető és módosítható. Bár a ZJIT gyorsabb mint az interpretált kód, az YJIT marad az ajánlott választás a production környezethez. A ZJIT megalapozza a jövőbeli teljesítménybeli fejlesztéseket és közösségi hozzájárulásokat.

Ractor API átdolgozás és további újítások

A Ractorok, Ruby válasza az igazi párhuzamosságra, jelentős API átdolgozást kaptak. Az új design a Ractor::Port-ot használja a ractorok közötti kommunikációhoz. A régi Ractor.yield és Ractor#take metódusok eltávolításra kerültek. Ez a változás az inter process communication (IPC) szemantikát tükrözi, intuitívabbá téve az API-t a párhuzamos programozási mintákban jártas fejlesztők számára.

A Set osztály a standard könyvtárból a core osztállyá lett előléptetve. Többé nincs szükség a require 'set' használatára.

A fejlesztők számára a Ruby 4.0 elsősorban folytonosságot jelent: a meglévő kód továbbra is fut, a teljesítmény tovább javul, és a típusrendszer érettebb lesz. Az igazi innováció az infrastruktúrában rejlik a következő évtizedre – a ZJIT, Modular GC és a továbbfejlesztett Ractorok versenyképesen tartják majd a Ruby-t az elkövetkező években.

Forrás: Ruby-lang.org - https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/

A cikk AI segítségével készült, hiteles nemzetközi forrásokból származó információk alapján.

Ruby 4.0 ZJIT fordító Ruby Box programozási nyelv Ractor API

Tetszett a cikk? Oszd meg!