Rust - jobbig men trevlig resa
Under åren har jag testat på ett och annat kodspråk men både bäst och jobbigast får jag nog anse att Rust varit.
Inlärningskurvan som en tegelvägg
Att börja med Rust är sällan en spikrak resa. Första mötet med kompilatorn kan kännas som att argumentera med en extremt petig paragrafryttare. Språkets strikta system för minneshantering – med koncept som ownership och borrowing – tvingar dig att tänka om från grunden. Särskilt om du kommer från språk med automatisk garbage collection som Java eller JavaScript. I början spenderar man mer tid på att hantera kompilatorn än på att faktiskt bygga funktioner. Det är frustrerande, tidskrävande och stundtals helt utmattande. Samma sak om du kommer från Python där nästan allt är tillåtet på ett enkelt sätt.
Kompilatorn: Från fiende till bästa vän
Men så händer något efter några veckor. Det som först kändes som hinder förvandlas till ett skyddsnät. Rusts kompilator är nämligen inte elak, den är bara otroligt smart. Felmeddelandena är de bästa i branschen; de förklarar inte bara vad som är fel, utan ofta exakt hur du fixar det. När koden väl kompilerar så fungerar den. Du slipper oroa dig för lömska minnesläckor eller plötsliga krascher i produktion. Det skapar en enorm trygghet i utvecklingsvardagen.
##Varför mödan är värd det Varför fortsätter jag då att välja Rust trots den branta uppförsbacken? Svaret är kombinationen av prestanda och modern ergonomi. Du får samma brutala snabbhet och kontroll som i C eller C++, men paketerat i ett modernt ekosystem med fantastiska verktyg som pakethanteraren Cargo. Rust ger dig superkrafter att skriva säker, parallell kod utan att kompromissa med hastigheten.
Jag har inte helt lagt Golang åt sidan men det ser ut som jag kommer att göra det inom kort till fördel för Rust. Delar av semestern har gått till att konvertera en del gamla CRUD-apier i Golang till Rust, trevlig för lite blåsiga och regniga dagar.
