Programiranje

Ruby 3 predogleduje vzporedno izvedbo

Ruby 3.0.0, načrtovana nadgradnja dolgo uveljavljenega odprtokodnega dinamičnega jezika, je zdaj na voljo kot predogled. Poudarki nove različice vključujejo zmožnosti vzporednega izvajanja in opisa tipa.

Vzporedno izvajanje je v obliki eksperimentalne funkcije, imenovane "Ractor", ki je podobna igralcu abstrakcija, podobna modelu igralca, katere namen je zagotoviti vzporedno izvajanje brez pomislekov glede varnosti niti. Razvijalci lahko izdelajo več raktorjev in jih vodijo vzporedno. Te vzporedne programe lahko naredite varne za nit, ker raktorji ne morejo deliti običajnih predmetov. Komunikacija med raktorji je podprta s prenosom sporočil.

Ruby 3.0.0 prav tako uvaja RBS, ki se kot jezik opisuje vrste programov Ruby. Ruby 3.0.0 je dobavljen z gem rbs, ki omogoča razčlenitev in obdelavo definicij vrst, zapisanih v RBS. Preverjevalniki tipov, vključno s profili tipa in drugimi orodji, ki podpirajo RBS, bodo programe Ruby bolje razumeli z definicijami RBS.

RBS je namenjen podpori običajnih vzorcev v programih Ruby. Napredne vrste lahko napišete, vključno z vrstami zvez, preobremenitvijo metode in generiki. Podprto je tudi tipkanje rac z vrstami vmesnikov.

Poleg programa Ractor in RBS naj bi izdaja Ruby 3.0.0 ponujala še številne druge zmogljivosti:

  • Načrtovalnik, tudi v poskusni fazi, za prestrezanje blokadnih operacij. Identificirano kot Načrtovalnik niti #, zmožnost omogoča lahka sočasnost brez spreminjanja obstoječe kode.
  • Pogled pomnilnika, druga eksperimentalna funkcija, je nabor C-API za izmenjavo neobdelanega pomnilniškega območja, na primer številskega polja ali bitne slike, med knjižnicami razširitev. Te knjižnice si lahko delijo tudi metapodatke pomnilniškega območja, ki je sestavljeno iz oblike, oblike elementa itd.
  • Izboljšana zmogljivost v prevajalniku Ruby MJIT (Metoda, ki temelji na pravi čas).
  • Ločevanje argumentov ključnih besed od drugih argumentov.
  • Hash # razen vgrajen.
  • Izjava o dodelitvi desno.
  • Neskončna definicija metode.
  • Dodatek vzorca iskanja.

Predogled Ruby 3.0.0, ki je bil predstavljen 25. septembra, je na voljo na ruby-lang.org. Za drugi predogled nameravajo Rubyjevi graditelji vključiti profilirnik tipov, ki služi kot funkcija statične analize. Trenutni stabilni izdaji Ruby sta različici 2.7.1 in 2.6.6.

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