Lær Rust: 19 beste ressurser for nybegynnere og eksperter

Rust har markert seg som et nyskapende programmeringsspråk som vekker stor interesse i utviklermiljøet. Det tar sikte på å overvinne svakhetene ved C/C++, samtidig som det opprettholder en lignende eller overlegen utførelseshastighet. Ikke overraskende har det tronet øverst i StackOverflows utviklerundersøkelse i hele syv år!

Denne anerkjennelsen har trolig fanget din oppmerksomhet, og du vurderer nå å lære Rust. Dette er et klokt valg, spesielt med tanke på de lovende jobbmulighetene som finnes for Rust-utviklere. For å assistere deg i denne læringsreisen, presenterer jeg en oversikt over de mest verdifulle ressursene for å tilegne deg Rust-kunnskap, inkludert kurs, bøker og blogger.

La oss starte.

Hva gjør Rust unikt, og hvorfor bør du lære det?

Rust ble lansert i 2015 og har gradvis vunnet anerkjennelse blant både selskaper og utviklere. De primære årsakene til denne popularitetsveksten inkluderer:

  • Høy hastighet og ytelse.
  • Robust minnesikkerhet.
  • Effektiv støtte for samtidighet.

I et sammenlignende perspektiv kan Rust karakteriseres som et høynivå programmeringsspråk som har likhetstrekk med Python, samtidig som det leverer ytelse som kan sammenlignes med C/C++. Dette gjør det mulig for utviklere å skape raske og pålitelige applikasjoner. Kort sagt, Rust gir utviklere tilgang til lavnivå minnehåndtering ved hjelp av høynivå programmeringskonsepter.

Det mest karakteristiske trekket ved Rust er imidlertid dens eierskaps- og lånemodell. Denne modellen tvinger utviklere til å følge en streng og gjennomtenkt tilnærming til programmering, noe som resulterer i kode som er fri for feil. Kompilatoren sikrer at eventuelle feil blir korrigert før koden kjøres, og dermed garanteres minne- og trådsikkerhet.

På arbeidsmarkedet er Rust også en attraktiv ferdighet. Her er noen interessante fakta om Rust:

  • Startlønnen for junior Rust-utviklere begynner på rundt $60 000 per år.
  • Gjennomsnittslønnen for Rust-utviklere ligger på rundt $120 000 per år.
  • For seniorutviklere kan lønnen nå opp til $140 000 per år.
  • Markedet for Rust har opplevd en betydelig vekst den siste tiden, med stor etterspørsel etter Rust-kompetanse.

Konklusjonen er at valget av Rust som primært programmeringsspråk er et velbegrunnet og fornuftig valg.

Er du fortsatt usikker på verdien av Rust? Da bør du undersøke argumentene for å benytte Rust i ditt neste utviklingsprosjekt.

De beste stedene å starte: Rust-dokumentasjon, «The Book» og Rustlings-kurset

Rust kjernedokumentasjon

For nybegynnere i Rust, er den offisielle Rust-dokumentasjonen et utmerket utgangspunkt. Denne dokumentasjonen er tilgjengelig på den offisielle Rust-nettsiden, og den dekker nesten alle aspekter ved programmeringsspråket. Det mangler imidlertid en strukturert læringsvei. For dette anbefales det å bruke den offisielle boken og kursene.

Rust programmeringsspråkbok

Den anerkjente boken, ofte omtalt som «The Book,» er en uvurderlig ressurs for Rust-programmering. Den går i dybden på alle tekniske aspekter ved språket, inkludert fundamentale konsepter, eierskaps- og lånemodellen, prosjekt- og pakkehåndtering, samt avanserte temaer som feilhåndtering, automatisert testing, usikker Rust, makroer og funksjonell programmering. Boken inneholder også flere prosjekter, som det klassiske «Hello, World»-eksemplet, et I/O-prosjekt og et større prosjekt der du bygger en flertrådet nettserver.

Rust by Example er også en nyttig ressurs, som viser Rust-eksempler for å illustrere ulike konsepter. Dette gjør det til et flott sted å starte for nybegynnere.

Rustlings-kurs fra GitHub

Rustlings-kurset er et annet fantastisk utgangspunkt. Dette kurset er spesielt designet for nybegynnere og dekker de grunnleggende elementene i Rust-syntaksen, oppsett av verktøy og mye mer.

Disse ressursene legger grunnlaget for å bli en dyktig «Rustacean» (et intern uttrykk for en person som bruker Rust).

Rust-programmering for nybegynnere

«Beginner Rust Programming» er en bok som er skrevet med tanke på nybegynnere. Ricc Messier introduserer de grunnleggende Rust-konseptene og praktiske eksempler fra virkeligheten i denne boken. Han utforsker de særegne egenskapene ved Rust, inkludert eierskapsmodellen og typesystemet. På denne måten lærer du hvordan du skaper minne- og trådsikre applikasjoner. Boken veileder deg også i arbeid med innebygde systemer.

Denne boken er et utmerket valg hvis du har grunnleggende kunnskaper i C/C++, og den passer også for nybegynnere innen programmering generelt.

WebAssembly-programmering med Rust

«Programming WebAssembly with Rust» er en imponerende ressurs som viser hvordan Rust kan benyttes til å utvikle nettapplikasjoner.

WebAssembly er et lavnivåspråk som kan kjøres i moderne nettlesere. Ved å lære å bruke Rust i kombinasjon med WebAssembly, kan du utvikle raske nettapplikasjoner som leverer ytelse på samme nivå som innebygde apper. I tillegg får du tilgang til lavnivå kontroll i nettleseren.

Boken veileder deg i å bruke de riktige verktøyene, integrere Rust-kode med JavaScript og gir en introduksjon til WebAssemblys grunnleggende mekanismer. Den forklarer hvordan det fungerer, integreres og hvordan det kan brukes til å skape raske nettapplikasjoner.

Denne boken er imidlertid kun anbefalt hvis du allerede er kjent med Rust og ønsker å bruke den i WebAssembly-sammenheng. Den egner seg ikke for fullstendige nybegynnere.

Rust i praksis

«Rust in Action» gir, som navnet antyder, en praktisk tilnærming til Rust-programmering. Den er godt skrevet og passer både for nybegynnere og erfarne Rust-utviklere.

Boken utforsker Rust gjennom eksempler og gir deg et innblikk i hvordan datamaskiner fungerer. Du lærer blant annet om minnehåndtering, nettverk, lagring og CPU-instruksjoner.

Den tar også for seg temaer som samtidig og parallell programmering, og gir deg verktøyene til å skrive rask, flertrådet kode. Hvis du er ute etter praktisk systemprogrammering i kombinasjon med grunnleggende og avansert Rust-programmering, er denne boken et utmerket valg.

Boken er også velegnet for viderekomne elever.

Programmering med Rust

Rust er kjent for sine evner innen systemprogrammering. Boken «Programming Rust,» skrevet av Jim og Jason, lærer deg alt om systemprogrammering med Rust. Etter at du har lest boken, vil du kunne skrive pålitelige og raske løsninger.

Jim og Jason demonstrerer gjennom eksempler hvordan Rust lar utviklere skrive feilfri kode, og viser hvordan sikkerhet og ytelse henger sammen.

Boken starter med det grunnleggende i Rust og går deretter over til å skrive effektiv og fleksibel kode. Den dekker også flertrådet kode og veileder deg i bruken av Rusts essensielle verktøy, som iteratorer, lukkinger og asynkron programmering.

Praktisk bruk av Rust

«Hands-on Rust» er en favoritt blant mange Rust-entusiaster. Den inviterer leseren til å lære grunnleggende om Rust, spesielt hvis man har erfaring med C og C++. Temaene forklares gjennom praktiske prosjekter, fra det enkle «Hello, World»-programmet til et komplett dungeon crawler-spill.

Det som gjør boken spesiell, er at den lærer deg verdifulle ferdigheter innen spillutvikling som du kan bruke med populære spillmotorer, som Unity og Unreal. Den dekker også viktige Rust-emner, som samtidighet og minnesikkerhet.

Kort sagt, hvis du vil bruke Rust i spillutvikling, bør du velge «Hands-on Rust.» Den gir praktiske eksempler slik at du kan forberede deg på å lage ditt eget spill!

Rust-webprogrammering

«Rust Web Programming» av Maxwell Flitton lærer deg hvordan du utvikler webapplikasjoner med Rust. Den bruker Rust for å skape høyytelses og sikre nettapper ved hjelp av webteknologier som Terraform, AWS-distribusjon og distroløse Rust-servere.

Boken presenterer også praktiske eksempler på bruk av Rust-nettrammeverk som Hyper, Rocket og Actix. Du lærer blant annet å bygge en grunnleggende oppgaveliste-webapplikasjon med skalerbar Rust, administrere autentisering, arbeide med distroløse Rust-servere og bygge applikasjoner i AWS.

Boken er hovedsakelig rettet mot webutviklere som ønsker å fordype seg i Rust-programmering for webutvikling.

Rust for Rust-utøvere

«Rust for Rustaceans» er en av de beste bøkene for å heve dine Rust-ferdigheter. Boken er ment for utviklere som allerede kjenner Rust, men ønsker å lære å bygge og vedlikeholde større kodebaser, administrere komplekse prosjekter og utvikle kraftige applikasjoner og biblioteker.

Boken dekker temaer som egenskaper, eierskap, usikker kode og samtidighet. Du vil også lære å designe pålitelige, ergonomiske og idiomatiske Rust-programmer. Asynkron programmering i Rust og deklarative og prosedyremakroer blir også grundig forklart.

Rust programmeringsspråk

«The Rust Programming Language», skrevet av Carol og Steve fra Rust Core Team, er en populær Rust-bok som har solgt mer enn 50 000 eksemplarer. Boken gir praktisk kunnskap om hvordan du kan skape skalerbar og pålitelig programvare.

Boken starter med det grunnleggende, som datatyper, funksjoner og variabler. Deretter diskuterer forfatterne avanserte konsepter som eierskap, lån, egenskaper, generikk, smartpointers, multithreading og mer. Den tar også for seg Cargo, Rusts pakkehåndterer og byggesystem.

Lær Rust ved å bygge ekte applikasjoner

Udemy-kurset «Learn Rust by Building Real Applications» er et utmerket sted å starte. Det dekker grunnleggende Rust-konsepter, lavnivå minnehåndtering, teknikker for å feilsøke kompilatorfeil og minnesikkerhet.

Kurset varer i over 6,5 timer og gir et bevis på fullført kurs.

Grunnleggende om Rust

Kurset «Rust Fundamentals» er et nybegynnervennlig kurs som dekker Rust-syntaksen og andre grunnleggende aspekter ved språket. I tillegg omhandler det også minnesikkerhet, mutabilitet, lån og andre avanserte Rust-konsepter. Kurset er relativt kort, med 4,5 timer med innhold.

Rust programmeringsspråkkurs

«Rust Programming Language Course» av Dmitri Nesteruk er et populært Udemy-kurs som lærer deg å bruke Rust som et systemprogrammeringsspråk.

I dette kurset demonstrerer Dmitri hvordan du løser problemer i Rust og belyser styrkene og svakhetene ved språket. Du lærer også hvordan du effektivt kan bruke Rusts minnesikkerhet for å skrive applikasjoner og biblioteker. Kurset avsluttes med veiledning i hvordan du tester og dokumenterer koden din.

Kurset er omfattende med 8,5 timer med videoinnhold.

Lær Rust fra bunnen av (gratis kurs)

«Learn Rust from Scratch» er et gratis kurs fra Educative. Det er et 9-timers kurs som introduserer deg til Rust. Kurset starter med grunnleggende elementer som variabler, datatyper, operatorer, betingede uttrykk og løkker, og går deretter over til mer komplekse konsepter som enums, moduler, minnehåndtering og vektorer.

Kurset passer også for nybegynnere uten tidligere programmeringserfaring!

Rust-programmering: Den komplette utviklerveiledningen

Hvis du er nybegynner, men ønsker en mer avansert tilnærming til Rust-programmering, er «Rust Programming: The Complete Developer’s Guide» av ZTM et godt valg.

Kurset dekker grunnleggende dataprogrammering og beveger seg raskt over til Rusts programmeringsspråkkonsepter, som egenskaper, skiver, minne, generikk og mutabilitet. Du lærer også om Rust-økosystemet og får praktiske, virkelige prosjekter å legge til porteføljen din.

Ultimate Rust Crash Course

«Ultimate Rust Crash Course» er et bestselgende kurs i Rust-programmering med over 30 000 studenter og en gjennomsnittlig vurdering på 4,6. Kurset dekker Rusts grunnleggende konsepter samt verktøy og økosystem.

I tillegg tar kursholder Nathan Stocks også for seg andre viktige Rust-relaterte konsepter som referanser, eierskapslån og minnemodell.

Bonus: Exercism Rust Track lar deg utforske Rust gjennom 97 øvelser. Det som er spesielt bra med dette er at det er 100 % gratis. Øvelsene er kategorisert i lett, middels og vanskelig. Kurset er imidlertid mest egnet for å lære Rust-syntaks og konsepter.

Rust-blogger

Rust-blogger er en fin måte å lære om Rust-konsepter, veiledninger og bruksområder. Du kan starte med den offisielle Rust-bloggen, som oppdateres jevnlig med relevant innhold.

Du kan også sjekke ut ReadRust-aggregatoren, som samler interessante Rust-blogginnlegg. I tillegg til disse kan du utforske følgende blogger:

Til slutt er det nyttig å bokmerke Rust Anthology Master List, en samling av utmerkede Rust-relaterte blogginnlegg.

Rust-podcaster, nyhetsbrev, fellesskap og fora

Det finnes også spennende podcaster, nyhetsbrev, fellesskap og fora som kan være gode ressurser for læring av Rust.

Siste tanker

Rust er et utmerket valg for enhver utvikler. Det bygger bro mellom lavnivå programmeringsspråk som C/C++ og høynivå språk som Python. Rust er et minnesikkert og høyytelses programmeringsspråk som gir utviklere full kontroll over hvordan programmene oppfører seg og fungerer.

I tillegg er Rust designet med utviklernes behov i tankene, noe som gjør det til et av de mest populære programmeringsspråkene i dag.

Når du begynner å bruke Rust, vil du raskt innse hvor teknisk overlegent det er i forhold til andre programmeringsspråk, med få ulemper.

Du bør imidlertid være oppmerksom på at Rust fortsatt er et relativt nytt språk, som betyr at det oppdateres jevnlig med nye funksjoner. Biblioteket og dokumentasjonen er også under utvikling. Dette kan føre til at utviklingsprosessen går litt saktere, ettersom du må håndtere kompilatorens detaljerte feilmeldinger og lange kompileringstider (dette kan forbedres ved hjelp av feilkjedeverktøyet).

Alt i alt er Rust et fantastisk valg! Det støtter WebAssembly og øker i popularitet med økende etterspørsel i markedet. Gratulerer med valget av Rust, og lykke til med læringen!

Sjekk også ut de beste vertsleverandørene for Rust-servere for å se hvor du kan hoste dine Rust-applikasjoner.