logo

Joakim Tornert

I

03/03/23

Rust - språket för framtidens säkra system

Sluta undersök din kod för buggar. Använd i stället ett språk som inte tillåter dig skriva dem från början.

I den årliga utvecklarenkäten från Stack Overflow har ett programmeringsspråk varit det mest omtyckta sju år i rad. Vidare så var detta språk, under förra året, det som flest utvecklare var intresserade av att lära sig. Är detta en slump eller finns det något bakom denna nya teknologi som gör den så intressant?

Detta språk kallas för Rust. På en konvention i Barcelona förklarade två anställda från Microsoft att runt 70% av alla sårbarheter som rapporteras till deras säkerhetscenter är relaterade till minnessäkerhet. Med minnessäkerhet menas hur minne skrivs till, läses ifrån, samt allokeras åt program som körs på datorn. Talarna berättade hur deras upplevelse av att utveckla med Rust har genererat goda insikter om hur språket minimerar antalet minnesrelaterade buggar.

Varför Rust?

Historiskt har Microsoft utvecklat sitt operativsystem i C och C++. Dessa språk är ökända för hur lätt det är att orsaka kostsamma buggar som är svåra att upptäcka. Det har att göra med att utvecklarna själva måste välja när minne ska allokeras och när det ska återlösas, vilket är upphovet till den klassiska felmeddelandet “Segmentation fault”, som fortfarande är lika frustrerande. Tidigare har detta problem lösts i andra språk med hjälp av ett separat program som körs samtidigt som det program som utvecklats, en så kallad “Garbage collector”. Den håller koll på minnesallokeringar som sker i utvecklarens program och hanterar det åt dem, vilket gör det lättare att utveckla i sådana språk. Tyvärr innebär detta en övervägning mellan korrekthet och hastighet, och i vissa fall är det hastighet som vinner.

Det som skiljer Rust åt från dessa språk är att minnesallokering inte är ett problem längre, trots att det inte använder sig av någon garbage collector. Med andra ord så omöjliggör Rust alla vanliga minnesrelaterade buggar. Vidare är Rust lika snabbt som C/C++ och har i stort sett samma möjligheter som dessa språk. Rusts byggverktyg tillhandahåller även en omfattande och heltäckande testningsstruktur, vilket gör det ännu lättare att garantera korrekthet. För utvecklare, samt hela tech-industrin, är denna kombination av egenskaper revolutionerande.

Hur ser vi som AWS-konsulter på Rust?

Framtiden ser ljus ut för Rust. Linux har anammat språket som ett alternativ till C. Stora företag såsom Microsoft och Facebook har pågående processer för att integrera Rust i deras utveckling. Även i molnet dyker Rust upp mer och mer. AWS jobbar också i nuläget på sitt Rust SDK som är ett otroligt lyft för webben, då tjänster kan både bli säkrare och snabbare än tidigare. I takt med att AWS färdigställer sitt utvecklingskit för Rust för att ansluta till deras tjänster genom EC2 och Lambda kommer vi se allt mer behov av utbildade och erfarna utvecklare inom språket.

Det är viktigt för oss som konsulter att anamma Rust och utvecklingen som kommer med det för att se till att vi hela tiden utvecklas i takt med omvärlden. Genom att konstant sträva efter att använda den senaste teknologin kan vi på bästa sätt främja vår vision: att göra det möjligt för alla företag att bygga och leverera branschledande applikationer och plattformer i molnet.

Några sista ord

Fokuset Rust har på förutsägbarhet, snabbhet och säkerhet gör det till ett klockrent val för de som har höga säkerhet- och korrekthetskrav, och för de som vill ha en stabil grund för framtiden. Språket är utmärkt för server- och databaskod, och inom snar framtid för AWS Lambda och EC2 för att skapa häpnadsväckande webbtjänster som klarar högre tryck och är i drift under längre perioder än någonsin tidigare. För att sammanfatta så är Rust språket för framtidens säkra, tillförlitliga, och prestandakänsliga system.

Kontakta oss

Nyhetsbrev