Därför är Rust ett av världens mest älskade programmeringsspråk

Därför är Rust ett av världens mest älskade programmeringsspråk

Programmeringsspråket Rust envisas med att toppa undersökningarna om världens mest älskade programmeringsspråk år efter år. Mer än 80 % av utvecklarna som idag jobbar med Rust vill fortsätta att jobba med det. Det finns flera goda orsaker till den här stora populariteten. Vi ska titta närmare på vad Rust är, varför det är så älskat, och vad det används till. Men också varför Rust är ett så bra programmeringsspråk till prestandakrävande applikationer och apputveckling.

Historien bakom Rust – från trasig hiss till hyllat och älskat programmeringsspråk


Idén till Rust föddes 2006 när mjukvaruutvecklaren Graydon Hoare kom hem från sitt jobb på Mozilla och tvingades ta trapporna till sin lägenhet på 21:a våningen eftersom hissen stod still. Att hissen inte fungerade berodde på att programvaran hade kraschat för femtielfte gången. Som utvecklare insåg Hoare att den här typen av problem ofta beror på hur ett program använder minne. Den typ av krasch som gjort hissen obrukbar kom från att programvaran var skriven i C++ eller C. Dessa programmeringsspråk var visserligen snabba, men drabbades lätt av minnesbuggar som ledde till problem. Till skillnad från de mer säkra språken – Python och Java – som var långsamma och minneskrävande. Irriterad över situationen började Hoare arbeta med att skapa ett programmeringsspråk som skulle vara både snabbt och säkert.

Hoare ville skapa ett språk som eliminerade potentiella fel redan vid kompileringen. Framför allt de fel som kan uppstå i samband med minneshanteringen och som står för runt 70 procent av alla säkerhetskritiska fel (enligt Microsoft). Detta skulle leda till ökad säkerhet utan att påverka prestandan. Mozilla gillade idén, och stöttade Hoares projekt som en del av sin webbläsare. Efter flera års utveckling släpptes den första officiella stabila versionen av Rust 2015. Namnet är en sammandragning av ”Robust”, vilket är just det som utmärker Rust. Programmeringsspråket har en mycket hög säkerhet, utan att det sker på bekostnad av prestanda eller utrymme – områden där Rust på flera sätt visar på likheter med C och C++. Dessutom finns funktioner som gör språket användbart i situationer där högnivåspråk som JavaScript eller Go vanligtvis krävs. Den här kombinationen har tagit Rust från att vara ett sidoprojekt till att bli ett älskat och använt programmeringsspråk.

I dag drivs utvecklingen av Rust som öppen källkod av Rust Foundation. En organisation som stöttas av stora teknikjättar som Microsoft, Google och Amazon.

Därför är Rust ett så populärt programmeringsspråk


Sedan Rust lanserades har språket år efter år toppat Stack Overflows årliga Developer Survey som ”most loved language”. Rust har snabbt anammats av allt fler utvecklare och i dag använder närmare tre miljoner utvecklare språket. En användning som har tredubblats på bara två år. Det finns dessutom en stor gemenskap runt Rust där så kallade ”Rustaceans” frivilligt bidrar till utvecklingen av språket och delar kunskap med andra användare.

Att Rust är så älskat av utvecklare beror i korthet på att det är både pålitligt och snabbt. Rust löser många av de andra programmeringsspråkens problem och levererar snabbhet, säkerhet och prestanda utan att dras med så många nackdelar. Listan över fördelar med att använda Rust kan göras lång, men om vi fokuserar på de viktigaste bitarna så är Rusts styrkor följande.

• Säkerhet. Programmeringsspråk som C++ kan dras med minnesproblem som påverkar prestandan (eller till att stoppa hissar). Rust löser de här minneshanteringsproblemen genom sin så kallade ägarmodell, vilken låter applikationer analysera minnet redan vid kompilering. Kompilatorn varnar tidigt för minnesfel så att programmeraren kan lösa dem innan de orsakar problem. Det här påverkar även trådsäkerheten så att en tråd enbart får tillgång till en variabel åt gången. Det i sin tur löser problemet med att flera trådar får tillgång till samma minnesplats och orsakar problem i applikationen.

• Hastighet. De språk som är byggda för säkerhet brukar istället vara långsamma (exempelvis Python). Koden i Rust är däremot lika snabb som den som brukar skrivas i C++ och C. Det gör Rust till ett både stabilt och snabbt programmeringsspråk.

• Stöd för flera plattformar. Rust fungerar på stora plattformar som Windows, Mac OS, Linux och flera andra. Det gör det enkelt att utveckla applikationer och hantera konfigurationer på olika plattformar. Tack vare Rusts verktyg går det att distribuera koden ut till flera olika plattformar med bara ett kommando.

• Användbara funktioner och bibliotek. Rust har kombinerat säkerhet och prestanda utan att behöva kompromissa med funktioner. Rust har lika många och lika kraftfulla funktioner som de andra språken. Det finns också ett användbart standardbibliotek som underlättar för C och C++ programmerare att byta till Rust. Det finns dessutom i dagsläget mer än 60 000 tredjepartsbibliotek (så kallade crates) som expanderar Rusts redan stora användbarhet.

Utöver de här fördelarna har Rust även styrkor som till exempel: att det går att använda fler abstraktioner i koden utan att prestandan påverkas; enkel driftsättning; samt bra stöd för IDE. Inte minst har Rust en stor och engagerad community där det är lätt att dela kunskap, få svar på frågor eller bolla idéer. Det här leder till att eventuella problem snabbt går att lösa, samtidigt som språket hela tiden utvecklas.

Har Rust några nackdelar? Det ska i så fall vara att en del tycker att det tar längre tid att lära sig och börja använda i förhållande till andra programmeringsspråk. Detta skulle kunna göra Rust lite mer utmanande för nybörjare. Hos vana programmerarna däremot, är det som sagt en storfavorit.

Lämpar sig Rust för apputveckling?


Tack vare sitt allmänna språk och den direkta åtkomsten till både hårdvara och minne är Rust väl lämpat för att utveckla en mängd olika applikationer. I dag används Rust bland annat till Amazons molntjänster, Microsofts operativsystem, Googles Androidutveckling och operativsystemet Linux, och Dropboxs filsynkronisering. Dessutom tillämpas det inom många andra områden, till exempel spelmotorer och onlineutbildning.

Rusts ekosystem med många verktyg och bibliotek gör det till ett tacksamt val bland utvecklare med olika behov. Till exempel vid apputveckling där prestanda och minnessäkerhet är avgörande. Med Rusts minimala körtid och effektiva minnesanvändning, interoperabilitet – som låter utvecklare skriva kod en gång och dela den över flera plattformar – samt många andra styrkor, växer nu språket starkt inom apputveckling. Tack vare Rusts effektivitet och mångsidighet går det nu att höja både kvaliteten och hastigheten på apputvecklingen. Allt tack vare en trasig hiss.

Vill du bygga framtidens appar?


Vi på Third Act är experter på bland annat apputveckling, design och användarupplevelse men framför allt är vi bra på att förstå användarens kundresa. Vi vet att förståelsen för användarna är viktiga för affärsmålen. Behöver du hjälp med din app? Kontakta oss så berättar vi mer.