Rust, met zijn garantie op geheugenveiligheid, markeert zijn plaats als veelbelovende programmeertaal. Als je je afvraagt of je tijd moet investeren in Rust, dan heeft computerprogrammeerenthousiasteling Kris van Rens een zeer gerichte training voor je bij High Tech Institute.
Rust, een opkomende programmeertaal, begint de aandacht te trekken van veel bedrijven vanwege de belofte van gegarandeerde geheugenveiligheid. Natuurlijk zijn er al eerder nieuwe programmeertalen geweest en de keuze om een nieuwe taal te adopteren is altijd een belangrijke beslissing. Als je je afvraagt of Rust een nuttige toevoeging zou kunnen zijn aan je softwareontwikkeling, dan heeft computerprogrammeerenthousiasteling Kris van Rens een training voor je voorbereid, “Exploring Rust,” georganiseerd door High Tech Institute.
Van Rens vergelijkt de geheugenveiligheid van Rust met vangrails: “Het voorkomt dat software engineers zichzelf in de voet schieten. In wezen ruil je vrijheid voor gegarandeerde veiligheid en voorspelbaar gedrag.” Tegelijkertijd beschouwt hij de expressieve syntaxis van Rust als een van de sterke punten, waardoor het een aantrekkelijke taal is om mee te werken. Een derde voordeel dat hij benadrukt is de compiler: “Het is een geweldige programmeerpartner, die uitstekende foutmeldingen geeft. Hij geeft ook vaak suggesties voor oplossingen, waardoor hij je letterlijk ‘begeleidt’ terwijl je bezig bent.”
Productieklaar
Omdat Rust een relatief jonge programmeertaal is, is het natuurlijk de vraag of het klaar is voor productie. Volgens Van Rens hangt het antwoord af van het toepassingsdomein, maar over het algemeen zou hij met een volmondig ja antwoorden. “Sterker nog, veel gerenommeerde hightech software engineering bedrijven gebruiken Rust in productie, bijvoorbeeld bij applicatie-, cloud- en webontwikkeling.”
In meer beperkte gebieden zoals embedded ontwikkeling is volledige ondersteuning niet altijd gegarandeerd, deels omdat dit afhangt van de ondersteuning door de fabrikant van het embedded apparaat. Domeinen zoals automotive en luchtvaart die software certificeringstrajecten vereisen kunnen op dit moment ook een uitdaging vormen met Rust. Van Rens geeft echter aan dat “het Duitse bedrijf Ferrous Systems al een Rust-toolchain biedt die klaar is voor gebruik in omgevingen die een ISO 26262-certificering voor de auto-industrie vereisen. Er wordt gewerkt aan andere vereiste niveaus. Het is gewoon een kwestie van tijd.”
''My goal isn’t to deliver Rust experts but to provide participants with a comprehensive understanding of what makes the language different.''
Verschillende concepten
Van Rens vindt Rust niet moeilijker te leren dan geavanceerd C of C++. “Ja, C is misschien een kleine taal, maar het onder de knie krijgen van C of C++ kost vele jaren van geconcentreerd werk en discipline. Misschien is de leercurve voor Rust in het begin steiler omdat de taal op zich groter is, maar op de lange termijn maakt dat geen verschil. Ik kom vaak software engineering bedrijven tegen die artikelen publiceren over hun succesvolle adoptie van Rust, waarin ze uitleggen dat de taal niet bijzonder moeilijk was om te leren.”
Een deel van de steile leercurve van Rust komt door een aantal unieke concepten die niet voorkomen in traditionele programmeertalen als C en C++. In zijn training richt Van Rens zich op deze elementen en verwacht hij dat de deelnemers software engineers zijn met ervaring in systeemontwikkeling. “Hierdoor kan ik Rust introduceren op een geavanceerd, diepgaand niveau. Mijn doel is niet om Rust-experts af te leveren, maar om deelnemers een uitgebreid begrip te geven van wat de taal anders maakt. Dit helpt hen te bepalen of ze hun tijd in Rust moeten investeren en vergemakkelijkt een succesvolle adoptie van de taal als ze besluiten het te proberen.”
Door de gerichte aanpak is de “Exploring Rust” training verspreid over slechts twee halve dagen, binnen een tijdsbestek van twee weken. “Ik spring meteen in op een hoog niveau en behandel de belangrijkste onderwerpen diepgaand. Ik besteed ongeveer 30 procent van de tijd aan hands-on oefeningen. Voor degenen die nog dieper willen gaan, zijn er een paar grotere huiswerkoefeningen.”
Dit artikel is geschreven door Koen Vervloesem, freelancer voor Bits&Chips.