Ohjelmointi

Ruby 3 esikatselee rinnakkaista suoritusta

Ruby 3.0.0, suunniteltu päivitys vakiintuneeseen avoimen lähdekoodin dynaamiseen kieleen, on nyt saatavana esikatseluna. Uuden version kohokohdat sisältävät rinnakkaisen suorituksen ja tyyppikuvausominaisuudet.

Rinnakkainen toteutus tapahtuu kokeellisen ominaisuuden muodossa, jonka nimi on "Ractor", joka on näyttelijämallin kaltainen samanaikainen abstraktio, jonka tarkoituksena on tarjota rinnakkainen suoritus ilman langan turvallisuusongelmia. Kehittäjät voivat tehdä useita traktoreita ja käyttää niitä rinnakkain. Nämä rinnakkaiset ohjelmat voidaan tehdä langattomiksi, koska raktorit eivät voi jakaa normaaleja esineitä. Raktoreiden välistä viestintää tukee viestien välittäminen.

Ruby 3.0.0 esittelee myös RBS: n, jota laskutetaan kielenä kuvaamaan Ruby-ohjelmatyyppejä. Ruby 3.0.0 toimitetaan rbs-helmi, joka mahdollistaa jäsentämisen ja käsittelyn RBS: ssä kirjoitetuista tyyppimäärityksistä. Tyyppitarkistimet, mukaan lukien tyypin profiloijat ja muut RBS: ää tukevat työkalut, ymmärtävät Ruby-ohjelmat paremmin RBS-määritelmien avulla.

RBS on tarkoitettu tukemaan Ruby-ohjelmien yleisesti havaittuja malleja. Edistyneitä tyyppejä voidaan kirjoittaa, mukaan lukien liitostyypit, menetelmien ylikuormitus ja yleiset. Ankan kirjoittamista käyttöliittymätyypeillä tuetaan myös.

Ractorin ja RBS: n lisäksi Ruby 3.0.0 -julkaisu on suunniteltu tarjoamaan monia muita ominaisuuksia:

  • Ajastin, myös kokeiluvaiheessa, estotoimintojen sieppaamiseksi. Tunnistettu nimellä Viestiketju # ajastin, ominaisuus mahdollistaa kevyen samanaikaisuuden muuttamatta olemassa olevaa koodia.
  • Muistinäkymä, toinen kokeellinen ominaisuus, on C-API, joka on asetettu vaihtamaan raakamuistialue, kuten numeerinen taulukko tai bittikarttakuva, laajennuskirjastojen välillä. Nämä kirjastot voivat myös jakaa muistista metadatan, joka koostuu muodosta, elementtimuodosta jne.
  • Parannettu suorituskyky Ruby MJIT (Method-based Just In Time) -kääntäjässä.
  • Avainsana-argumenttien erottaminen muista argumenteista.
  • Hash # paitsi sisäänrakennettu.
  • Oikeanpuoleinen toimeksianto.
  • Loputon menetelmän määritelmä.
  • Löytökuvion lisääminen.

Paljastettu 25. syyskuuta Ruby 3.0.0 -esikatselu on ladattavissa osoitteesta ruby-lang.org. Toista esikatselua varten Rubyn rakentajat aikovat sisällyttää tyypin profiloijan, joka toimii staattisena analyysiominaisuutena. Rubyn nykyiset vakaat julkaisut ovat versiot 2.7.1 ja 2.6.6.

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