Programmering

Ruby 3 får vist paralleludførelse

Ruby 3.0.0, en planlagt opgradering til det langvarige dynamiske open source-sprog, er nu tilgængelig som en forhåndsvisning. Højdepunkter i den nye version inkluderer parallel udførelse og typebeskrivelsesfunktioner.

Parallel udførelse kommer i form af en eksperimentel funktion kaldet "Ractor", som er en skuespillermodelignende samtidige abstraktion beregnet til at give parallel udførelse uden bekymringer om trådsikkerhed. Udviklere kan fremstille flere raktorer og køre dem parallelt. Disse parallelle programmer kan gøres trådsikre, fordi raktorer ikke kan dele normale objekter. Kommunikation mellem raktorer understøttes af meddelelsesoverførsel.

Ruby 3.0.0 introducerer også RBS, faktureret som et sprog til beskrivelse af typerne af Ruby-programmer. Ruby 3.0.0 leveres med rbs-perlen, hvilket muliggør parsing og behandling af definitioner skrevet i RBS. Typekontrol inklusive typeprofiler og andre værktøjer, der understøtter RBS, vil forstå Ruby-programmer bedre med RBS-definitioner.

RBS er beregnet til at understøtte almindeligt set mønstre i Ruby-programmer. Avancerede typer kan skrives inklusive unionstyper, metodeoverbelastning og generiske. Andetypning med interface-typer understøttes også.

Bortset fra Ractor og RBS er Ruby 3.0.0-udgivelsen planlagt til at tilbyde en række andre muligheder:

  • En planlægning, også i den eksperimentelle fase, til at opfange blokeringsoperationer. Identificeret som Tråd # planlægningmuliggør letvægts samtidighed uden at ændre eksisterende kode.
  • Memory view, en anden eksperimentel funktion, er et C-API-sæt til at udveksle et rå hukommelsesområde, såsom et numerisk array eller et bitmapbillede mellem udvidelsesbiblioteker. Disse biblioteker kan også dele metadataene for hukommelsesområdet, der består af formen, elementformen osv.
  • Forbedret ydeevne i Ruby MJIT (metodebaseret Just In Time) kompilator.
  • Adskillelse af søgeordsargumenter fra andre argumenter.
  • Hash # undtagen indbygget.
  • En erklæring om opgaver til højre.
  • En endeløs metode definition.
  • Tilføjelsen af ​​find mønster.

Afsløret 25. september, kan Ruby 3.0.0 preview downloades fra ruby-lang.org. Til den anden forhåndsvisning planlægger Rubys bygherrer at inkludere en typeprofiler, der fungerer som en statisk analysefunktion. De nuværende stabile udgivelser af Ruby er version 2.7.1 og 2.6.6.

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