Programmering

Ruby 3 forhåndsviser parallell kjøring

Ruby 3.0.0, en planlagt oppgradering til det veletablerte dynamiske språket med åpen kildekode, er nå tilgjengelig som forhåndsvisning. Høydepunktene i den nye versjonen inkluderer muligheter for parallell kjøring og type beskrivelse.

Parallell utførelse kommer i form av en eksperimentell funksjon kalt "Ractor", som er en aktormodellignende samtidige abstraksjon ment å gi parallell utførelse uten bekymringer om trådsikkerhet. Utviklere kan lage flere raktorer og kjøre dem parallelt. Disse parallelle programmene kan gjøres trådsikre fordi raktorer ikke kan dele normale gjenstander. Kommunikasjon mellom raktorer støttes av meldingsoverføring.

Ruby 3.0.0 introduserer også RBS, fakturert som et språk for å beskrive typene Ruby-programmer. Ruby 3.0.0 leveres med rbs-perlen, som tillater parsing og behandling av definisjoner skrevet i RBS. Typekontrollere inkludert typeprofilerere og andre verktøy som støtter RBS vil forstå Ruby-programmer bedre med RBS-definisjoner.

RBS er ment å støtte vanlige mønstre i Ruby-programmer. Avanserte typer kan skrives, inkludert fagforeningstyper, metodeoverbelastning og generiske. Andetyping med grensesnitttyper støttes også.

Bortsett fra Ractor og RBS, er Ruby 3.0.0-utgivelsen beregnet på å tilby en rekke andre muligheter:

  • En planlegger, også i eksperimentfasen, for å avlytte blokkeringsoperasjoner. Identifisert som Tråd # planlegger, muligheten tillater lett samtidighet uten å endre eksisterende kode.
  • Memory view, en annen eksperimentell funksjon, er et C-API-sett for å utveksle et rå minneområde, for eksempel en numerisk matrise eller et bitmapbilde, mellom utvidelsesbiblioteker. Disse bibliotekene kan også dele metadataene til minneområdet som består av formen, elementformen, etc.
  • Forbedret ytelse i Ruby MJIT (Method-based Just In Time) kompilatoren.
  • Separasjon av søkeordargumenter fra andre argumenter.
  • Hash # unntatt innebygd.
  • En uttalelse til høyre.
  • En endeløs metodedefinisjon.
  • Tillegget av finnemønster.

Avslørt 25. september kan forhåndsvisning av Ruby 3.0.0 lastes ned fra ruby-lang.org. For den andre forhåndsvisningen planlegger Rubys byggherrer å inkludere en typeprofiler, som fungerer som en statisk analysefunksjon. De nåværende stabile utgivelsene av Ruby er versjoner 2.7.1 og 2.6.6.

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