Programovanie

Ruby 3 zobrazuje ukážky paralelného vykonania

Ruby 3.0.0, plánovaná aktualizácia na dlho zavedený dynamický jazyk s otvoreným zdrojom, je teraz k dispozícii ako ukážka. Medzi hlavné prvky novej verzie patrí možnosti paralelného vykonávania a opisu typu.

Paralelné vykonávanie má formu experimentálnej funkcie nazývanej „Ractor“, čo je abstrakcia súbežnosti podobná hercovi, ktorá má zabezpečiť paralelné vykonávanie bez obáv o bezpečnosť vlákna. Vývojári môžu vytvoriť niekoľko raktorov a prevádzkovať ich paralelne. Tieto paralelné programy možno zaistiť bezpečnosťou vlákien, pretože raktori nemôžu zdieľať bežné objekty. Komunikácia medzi raktormi je podporovaná odovzdávaním správ.

Ruby 3.0.0 tiež predstavuje RBS, účtovaný ako jazyk popisujúci typy programov Ruby. Ruby 3.0.0 sa dodáva s drahokamom rbs, ktorý umožňuje analyzovať a spracovávať definície typov napísané v RBS. Kontrola typov vrátane profilovačov typov a ďalších nástrojov podporujúcich RBS bude programom Ruby lepšie rozumieť s definíciami RBS.

RBS je určený na podporu bežne videných vzorov v programoch Ruby. Je možné písať pokročilé typy vrátane typov spojenia, preťaženia metód a generických typov. Podporované je aj písanie kačice s typmi rozhrania.

Okrem Ractor a RBS má vydanie Ruby 3.0.0 ponúknuť množstvo ďalších funkcií:

  • Plánovač, ktorý je tiež v experimentálnej fáze a zachytáva blokujúce operácie. Identifikované ako Plánovač # vlákna, táto funkcia umožňuje ľahkú súbežnosť bez zmeny existujúceho kódu.
  • Pamäťovým zobrazením, ďalšou experimentálnou funkciou, je sada C-API na výmenu oblasti surovej pamäte, napríklad číselného poľa alebo bitmapového obrazu, medzi knižnicami rozšírenia. Tieto knižnice tiež môžu zdieľať metadáta oblasti pamäte, ktorá sa skladá z tvaru, formy prvku atď.
  • Vylepšený výkon v kompilátore Ruby MJIT (Method-based Just In Time).
  • Oddelenie argumentov kľúčových slov od ostatných argumentov.
  • Hash # okrem zabudovaný.
  • Výpis o zadaní vpravo.
  • Nekonečná definícia metódy.
  • Doplnenie vzoru nálezu.

Odhalený 25. september, ukážku Ruby 3.0.0 si môžete stiahnuť z ruby-lang.org. Pre druhú ukážku plánujú stavitelia Ruby zahrnúť profilovač typov, ktorý slúži ako funkcia statickej analýzy. Aktuálne stabilné vydania Ruby sú verzie 2.7.1 a 2.6.6.

$config[zx-auto] not found$config[zx-overlay] not found