Coding Dojo over Rust

De keuze aan programmeertalen is de laatste jaren flink toegenomen. Nieuwe talen zoals Go, Swift en Elm hebben het programmeerlandschap verrijkt door nieuwe ideeën op tafel te gooien. Zo is ook Rust opgedoken. Tijd voor een Dojo! 

De voordelen van Rust

Rust is begonnen als onderzoeksproject van Mozilla Research, maar heeft zich inmiddels bewezen als programmeertaal. Rust wordt onder andere gebruikt door Firefox, Amazon Web Services en Dropbox. Wat heeft de taal te bieden? Rust combineert de wereldberoemde snelheid van C++ met een geavanceerde type-system dat de programmeur helpt fouten te voorkomen. Handig voor programma’s die razendsnel moeten werken en tegelijkertijd extra veilig moeten zijn, zoals webbrowsers. Dat verklaart ook waarom Mozilla bereid is hierin te investeren.

Rust biedt een bijzondere combinatie aan low-level en high-level features. Aan de high-level kant zie je bijvoorbeeld iterators, die veel lijken op C#'s Linq, waarmee je heel functioneel data kan manipuleren. Aan de low-level kant kun je bijvoorbeeld bepalen of een object op de heap of op de stack wordt opgeslagen, wat in sommige situaties een merkbaar effect heeft op de snelheid van je programma.

Coding Dojo over Rust

Maar zo’n nieuwe taal roept natuurlijk ook vragen op. Lukt het Rust echt om even snel te zijn als C++? Is het makkelijk te programmeren of word je constant tegengehouden door het type-system? Is het een taal die we zouden kunnen gebruiken bij onze projecten?

Aangespoord door de algemene nieuwsgierigheid hebben Wilco en Adolfo een Coding Dojo gehouden over Rust. Tijdens de dojo konden de aanwezigen in een korte tijd, soms zonder enige voorkennis, bekend raken met Rust door er praktisch mee aan de slag te gaan.

Net als in onze eerdere Coding Dojo’s hadden we een basis klaar staan om de deelnemers een vliegende start te geven. Het begon met een presentatie over de taal, waarin Wilco de ins en outs van Rust heeft uiteengezet. Daarna gingen we iets langer dan twee uur opdrachten maken die Adolfo had voorbereid. We hebben enorm veel genoten en geleerd!

Ervaring in de praktijk

Mendel, een van onze developers die van begin tot einde heeft deelgenomen, vat het als volgt samen:

Voor mij was het de eerste keer dat ik echt een regel Rust geschreven had. Wilco vertelde eerst wat over wat het bijzonder maakte in de vorm van een presentatie. Dat was fijn omdat je dan niet gelijk in een vreemde taal wordt ondergedompeld, maar ook al een basis had.

Mendel vervolgt: "De Dojo die daarna kwam was zo opgezet dat je echt met bepaalde Rust concepten te maken kreeg. Wilco en Adolfo vulden elkaar prima aan en ik vraag me af of ik ooit nog een regel C++ ga schrijven of dan gelijk aan de slag ga met Rust. Leerzaam niet alleen vanuit het perspectief van een nieuwe taal, maar ook om nog eens na te denken hoe memory safety kan werken."

Niet iedereen kon erbij zijn, maar gezien het enthousiasme zou het best kunnen dat er begin 2019 een tweede editie komt!

Conclusies

En onze vragen die we stelden over de taal? We hebben niet echt gekeken naar Rust's snelheid, ook al is mijn ervaring als gebruiker dat het zeker zijn beloftes nakomt. We hebben wel kunnen zien dat Rust een uitdagende taal is om vanaf nul te leren. In je eerste stappen word je als programmeur inderdaad tegengehouden door het type-system. Gelukkig neemt dat af naarmate je meer bekend met de taal raakt. Dan begin je de vruchten ervan te plukken.

Is het een taal die we zouden kunnen gebruiken bij onze projecten? Dat vind ik een heel lastige vraag. Ik ben heel enthousiast over Rust, maar het is nog een vrij jonge taal en ik heb nog geen projecten gezien waarbij de sterke punten van Rust écht een verschil maken. Voor projecten bij klanten geef ik dus nog de voorkeur aan C# en .NET Core. Toch heeft Rust een vooraanstaande plaats in mijn eigen hobby projecten!

[Adolfo is developer bij Infi]

Wil je op de hoogte blijven van updates over hippe tech, een kijkje achter de schermen, of upcoming events? Schrijf je in voor onze nieuwsbrief!

Ben jij onze nieuwe ontwikkelheld(in)?

› Dit kun je verwachten als jij je aanmeldt.

Wil je iets waarmaken met Infi?

Wil jij een eigen webapplicatie of mobiele app waarmee jij het bij anderen maakt?

Waargemaakt door de nerds van Infi.
Nerds met liefde voor softwareontwikkeling en die kunnen communiceren. En heel belangrijk: wat we doen, doen we met veel lol!

Wij willen het fixen. Laat jij van je horen?

Voor wie heb je een vraag?