Programování

Ruby 3 zobrazuje náhled paralelního provedení

Ruby 3.0.0, plánovaný upgrade na dlouho zavedený dynamický jazyk s otevřeným zdrojovým kódem, je nyní k dispozici jako náhled. Mezi hlavní vlastnosti nové verze patří možnosti paralelního provádění a popisu typu.

Paralelní provádění přichází ve formě experimentální funkce nazvané „Ractor“, což je abstrakce souběžnosti podobná herci, která má zajistit paralelní provádění bez obav o bezpečnost vláken. Vývojáři mohou vytvořit několik raktorů a provozovat je paralelně. Díky těmto paralelním programům je možné vlákno zabezpečit, protože výrobci nemohou sdílet normální objekty. Komunikace mezi raktory je podporována předáváním zpráv.

Ruby 3.0.0 také zavádí RBS, účtovaný jako jazyk popisující typy programů Ruby. Ruby 3.0.0 se dodává s drahokamem rbs, který umožňuje analyzovat a zpracovávat definice typů napsané v RBS. Kontrola typu včetně profilovačů typů a dalších nástrojů podporujících RBS lépe porozumí programům Ruby s definicemi RBS.

RBS je určen k podpoře běžně viditelných vzorů v programech Ruby. Lze zapisovat pokročilé typy, včetně typů spojení, přetížení metody a generik. Podporováno je také kachní psaní s typy rozhraní.

Kromě Ractor a RBS má vydání Ruby 3.0.0 nabídnout celou řadu dalších funkcí:

  • Plánovač, také ve fázi experimentu, pro zachycení blokujících operací. Identifikováno jako Plánovač # vlákna, funkce umožňuje lehkou souběžnost beze změny stávajícího kódu.
  • Paměťový pohled, další experimentální funkce, je sada C-API pro výměnu oblasti surové paměti, jako je numerické pole nebo bitmapový obraz, mezi knihovnami rozšíření. Tyto knihovny také mohou sdílet metadata oblasti paměti, která se skládá z tvaru, formy prvku atd.
  • Vylepšený výkon v kompilátoru Ruby MJIT (založeném na metodách Just In Time).
  • Oddělení argumentů klíčových slov od ostatních argumentů.
  • Hash # kromě zabudováno.
  • Pravostranné prohlášení o přiřazení.
  • Nekonečná definice metody.
  • Přidání vyhledávacího vzoru.

Odhalen 25. září, náhled Ruby 3.0.0 si můžete stáhnout z ruby-lang.org. U druhého náhledu plánují stavitelé Ruby zahrnout profilovač typů, který slouží jako funkce statické analýzy. Aktuální stabilní vydání Ruby jsou verze 2.7.1 a 2.6.6.

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