Hopp til innhold
NorscodeNorscode

Norscode eller Rust?

ArtikkelAv Norscode-prosjektet

Rust er både lynraskt og trygt. Men «trygt» kan bety to forskjellige ting — og der ligger forskjellen.

To slags trygghet Rust minnesikkerhet ingen bruk-etter-frigjøring, ingen dataraces Norscode tilgangssikkerhet ingenting når disk, nett eller miljø uten fullmakt

Rust har rykte på seg for å være både lynraskt og trygt, og det ryktet er fortjent. Så hvorfor ikke bare bruke Rust? Fordi «trygt» kan bety to forskjellige ting.

Der Rust er på topp

Rust gir deg minnesikkerhet uten en søppelsamler, og ytelse på nivå med C. Låne-sjekkeren fanger en hel klasse feil før programmet i det hele tatt kjører, og språket er et førstevalg for systemprogramvare der du trenger full kontroll over minnet og hvert mikrosekund teller. På rå ytelse og lavnivåkontroll ligger Norscode ikke i nærheten — og prøver heller ikke.

To slags trygghet

Her er den viktige forskjellen. Rust sin trygghet handler om minne: ingen bruk-etter-frigjøring, ingen dataraces. Norscode sin trygghet handler om tilgang: et program når ikke disk, nettverk eller miljø før du gir det lov. Det er to ulike akser. Rust beskytter deg mot en klasse programmeringsfeil; Norscode begrenser hva koden — også kode du ikke skrev selv — får lov til å gjøre.

Der Norscode er lettere å ta i bruk

Rust er kraftig, men bratt. Låne-sjekkeren tar tid å bli venn med. Norscode er laget for å leses og læres raskt, på norsk, med et bredt standardbibliotek og én utgivbar fil med sjekksum. Det er et annet mål: tilgjengelighet og driftstrygghet framfor å presse metallet.

Hva bør du velge?

Bygger du en operativsystemkjerne, en spillmotor eller noe annet der ytelse og minnekontroll er alt — velg Rust. Vil du komme raskt i gang med et lesbart språk der tilgang er noe du styrer bevisst, passer Norscode. De to formene for trygghet utelukker ikke hverandre som idé — de løser ulike problemer.

Låne-sjekkeren mot søppelsamleren

Forskjellen mellom de to formene for «trygghet» merkes tydeligst i hverdagen. Rust ber deg tenke gjennom hvem som eier hvilken data, gjennom låne-sjekkeren — det gir enorm kontroll, men tar tid å bli venn med. Norscode rydder minnet for deg med en søppelsamler, så du kan holde oppmerksomheten på logikken. Det er to ulike bytter: Rust gir deg kontroll mot en brattere læringskurve; Norscode gir deg en mykere start mot mindre kontroll over det aller siste laget av ytelse.

Når hver av dem skinner

Rust skinner der ytelse og minnekontroll er alt — operativsystemkjerner, spillmotorer, innebygde systemer, kryptografiske primitiver. Norscode skinner der lesbarhet, rask innlæring og innebygd tilgangssikkerhet betyr mest — tjenester, verktøy, undervisning, og alt som skal være lett å forstå seks måneder senere.

Ikke et enten–eller for alltid

De to formene for trygghet — minne og tilgang — er ikke konkurrenter, men svar på ulike problemer. Å ha lært den ene gjør det lettere å forstå den andre. Velger du Norscode først, har du et solid grep om hvordan et program bør henge sammen når du en dag møter Rust.

Les også

Tilbake til oversikten