Ruby 3 pregledava paralelno izvršavanje

Ruby 3.0.0, planirana nadogradnja na već dugo uspostavljeni dinamički jezik otvorenog koda, sada je dostupan kao pregled. Izdvajamo novu verziju uključuju paralelno izvršavanje i mogućnosti opisa tipa.

Paralelno izvršavanje dolazi u obliku eksperimentalne značajke nazvane "Raktor", koja je supstraktna apstrakcija nalik glumčevom modelu, a namijenjena je paralelnom izvršavanju bez zabrinutosti za nit. Programeri mogu napraviti više raktora i paralelno ih pokretati. Ovi paralelni programi mogu se učiniti nitima sigurnima jer raktori ne mogu dijeliti normalne objekte. Komunikacija između raktora podržana je prosljeđivanjem poruka.

Ruby 3.0.0 također uvodi RBS, koji se naplaćuje kao jezik za opisivanje vrsta Ruby programa. Ruby 3.0.0 isporučuje se s rbs draguljem, koji omogućuje raščlanjivanje i obradu definicija tipa napisanih u RBS-u. Provjeri tipova, uključujući profile profila i druge alate koji podržavaju RBS, bolje će razumjeti Ruby programe s RBS definicijama.

RBS je namijenjen podršci uobičajenih obrazaca u programima Ruby. Mogu se napisati napredni tipovi, uključujući tipove unija, preopterećenje metoda i generičke lijekove. Podržana je i vrsta patke s vrstama sučelja. 

Osim Ractora i RBS-a, izdanje Ruby 3.0.0 trebalo bi ponuditi i niz drugih mogućnosti:

  • Planer, također u eksperimentalnoj fazi, za presretanje operacija blokiranja. Identificirana kao Thread#scheduler, mogućnost omogućuje laganu istodobnost bez mijenjanja postojećeg koda.
  • Pogled memorije, još jedna eksperimentalna značajka, C-API je postavljen za razmjenu neobrađenog memorijskog područja, poput numeričkog niza ili bitmap slike, između knjižnica proširenja. Te knjižnice također mogu dijeliti metapodatke memorijskog područja koje se sastoji od oblika, oblika elementa itd.
  • Poboljšane performanse u sastavljaču Ruby MJIT (Metoda zasnovana na Tačno vrijeme).
  • Odvajanje argumenata ključnih riječi od ostalih argumenata.
  • Hash#except ugrađena u.
  • Izjava o dodjeli udesno.
  • Definicija beskrajne metode.
  • Dodatak uzorka nalaza.

Otkriven 25. rujna, pregled Ruby 3.0.0 možete preuzeti s ruby-lang.org. Za drugi pregled, Rubyjevi graditelji planiraju uključiti profilni tip, koji služi kao značajka statičke analize. Trenutna stabilna izdanja Rubyja su verzije 2.7.1 i 2.6.6.