Geen rust?
De banen of opdrachten met Rust als primaire programmeertaal liggen nog steeds niet voor het oprapen. En zeker niet in Nederland. Grote bedrijven, AWS, Microsoft, Google, etc. hebben rust omarmd met het oog op meer veilige software. C/C++ is nog steeds foutgevoelig als het gaat om bijvoorbeeld buffer overflows en Rust is daar in potentie de oplossing voor.
Toch loopt het nog geen storm. Het wordt natuurlijk ook steeds moeilijker om groter te groeien als taal. Het is geen 1995 meer, toen java en python ongeveer het levenslicht zagen. Python heeft jarenlang een sluimerend bestaan geleid totdat het ontplofte in datascience, machine learning en AI. Waarom java populair is geworden is mij niet helemaal duidelijk, afgezien van het feit dat het één van de weinige programmeertalen is waar ooit reclame voor is gemaakt.
Een paar redenen:
- bestaande codebases in andere talen
- weinig developers die het kunnen
- het wordt gezien als systems taal
- rust is echt moeilijker
which one is cooler?
Java is nog steeds een veilige keuze voor webapplicaties van (grote) bedrijven. Er zijn genoeg developers en het ecosysteem is volwassen. Rust heeft het nadeel dat het als low-level wordt gezien. Deels waar, omdat het ervoor geschikt is. Aan de andere kant wordt het ontwikkelen van gewone webapplicaties ermee steeds beter. En mogelijk is het de nieuwe frontend taal met webassembly.
Rust is ook echt moeilijker. Gewone dingen als het opzoeken van een waarde in een hashmap kan prima, maar wat als je een immutable reference hebt naar de waarde en je wil vervolgens de hashmap muteren?? Dat kan dus niet.
En stel je voor dat je al die problemen hebt opgelost in je hobbyproject in je glanzende github repo, met 1 volger (die verder alleen maar forks heeft…)
Er is een uitweg voor wie na de moeizame tocht de steile learning curve van de berg die rust
heet, de top (?) heeft bereikt en om zich heen kijkt: Is there anybody out there?
(Wie wil kan natuurlijk altijd in crypto gaan werken…)
Ik heb net deze week mijn eerste PR gesubmit naar een opensource project, in Rust. Het was even zoeken naar een geschikt project. Ik had geen zin om een bijdrage te leveren aan iemands hobby/leer-project in een oninteressante toepassing. Een tekentool, een todo-app… Neh!
En het is ook even zoeken naar de juiste moeilijkheidsgraad van het issue dat je op wil pakken. Dit bleek behoorlijk eenvoudig, een paar regels code, een unittest en klaar. De bestaande codebase was best leesbaar. Ik had ook eerst de tutorial gevolgd voor de toepassing en was aangenaam verrast dat alle stappen gewoon werkten. Dat zijn allemaal tekenen dat het om een serieus project gaat.
Een discord channel. Ik had een paar vragen en die werden prompt en op een positieve toon beantwoord. Het is zeg maar ‘eng’ voor developers om zo maar ergens in te stappen. Dat was de reden dat ik het nooit eerder had gedaan. Toen ik eenmaal reactie had op mijn vragen, was dat snel voorbij.
Het voelde een beetje als het beginnen aan een nieuwe opdracht. Je weet nog lang niet alles en je weet ook nog niet precies wat de way-of-working is.
Nog even afwachten hoe de PR wordt gereviewd…
Al met al was ik er een paar uur mee kwijt. Het signen van commits naar github had ik nog niet eerder gedaan. Dat soort dingen komt er ook bij kijken.
Ik weet nog niet hoe het verder gaat. Eerste indruk: leuk!
PS. This Week in Rust is een wekelijkse nieuwsbrief, met alle nieuwe ontwikkelingen in rust-land, waaronder ook vaak interessante projecten om aan bij te dragen.