De cursus wordt in het Engels verzorgd onder de titel "Exploring Rust".

Deze training onderscheidt zich door:

  • strategische aanpak: gaat verder dan syntaxis en bestrijkt adoptiebarrières en -strategieën;
  • ervaren instructeur: geleid door een industriële softwareontwikkelaar;
  • veelzijdig toepassingsgebied: relevant voor verschillende toepassingsdomeinen, van ingebedde tot cloud-/webtoepassingsontwikkelingscontexten;
  • interactie in de klas: stimuleert betrokkenheid en peer networking.

De programmeertaal Rust biedt gegarandeerde geheugenveiligheid: een enorm voordeel in softwaresystemen die veiligheidskritisch zijn of veel concurrency bevatten. Toch is Rust een gecompileerde taal zonder garbage collection. Bovendien biedt het abstracties zonder overhead en de allerbeste prestatieoptimalisatiemogelijkheden. En alsof dat op zichzelf nog niet genoeg is, heeft Rust een expressieve, moderne syntaxis en een uitstekend toolingecosysteem.

Rust is relatief jong, maar zorgt toch al een tijdje voor beroering in de software engineering-gemeenschap. Is de taal ook geschikt voor productie? Kan Rust worden toegepast in elk domein? Is Rust moeilijk te leren? Kan Rust samenwerken met bestaande code of hardware? Rust wordt al op grote schaal toegepast in productieomgevingen, zowel in kleine als grote technologiebedrijven. De taal is zeker geschikt voor productie en kan worden toegepast in een overvloed aan use cases, van embedded omgevingen, systeemprogrammeeromgevingen tot webapplicaties. Bovendien zijn er tal van mogelijkheden om Rust te laten samenwerken met andere programmeertalen en verschillende hardware. Hoewel er uitstekende documentatie is over Rust en gerelateerde onderwerpen, is een goede voorbereiding aan te raden, omdat de leercurve behoorlijk steil kan zijn.

Als software-engineeringbedrijf kan het een uitdaging zijn om een nieuwe tool als Rust in te voeren. Voorbereiding op zo'n proces is belangrijk en zal het succes van de adoptie als geheel bepalen. In deze intensieve introductietraining van twee halve dagen leren ervaren software-engineers welke voordelen de programmeertaal Rust kan bieden en hoe ze te werk moeten gaan om de taal succesvol te gebruiken.

Deze training is zowel beschikbaar voor open inschrijving als voor in-company sessies. Voor in-company sessies kan de inhoud worden aangepast aan jouw situatie en speciale behoeften.

Leerdoelen

  • De sterke punten van de programmeertaal Rust laten zien
  • Een basiskennis opbouwen van de programmeertaal Rust
  • De toepassingsdomeinen voor Rust leren begrijpen
  • Leren hoe Rust zich verhoudt tot enkele van de gangbare programmeertalen in systeemprogrammering
  • Mogelijke obstakels identificeren bij het implementeren van Rust en hoe deze te overwinnen
  • De benodigde kennis bieden om een goed oordeel te vellen over Rust voor productie

Doelgroep

Deze training is bedoeld voor ervaren software-engineers (in welke taal dan ook). De focus van de cursus ligt op het gebied van systeemprogrammering, dus ervaring op dit gebied is zeer nuttig.

Startdatum T.B.D. Info volgende editie
Duur 2 afternoon sessions
Frequentie Eenmaal per jaar
Prijs per deelnemer € 790 excl. btw *
Brochure downloaden

Programma

Deel 0
Introductie van de cursus: introductie van trainer en cursisten, uitleg over de opzet en de uitgangspunten

Deel 1
Inleiding tot Rust: algemeen begrip van de programmeertaal, wat zijn de belangrijkste kenmerken en semantiek, wat zijn de toepassingsdomeinen, introductie van het toolingecosysteem rond de taal

Deel 2
Grondbeginselen van functioneel programmeren: omdat Rust stevig voortbouwt op concepten van functioneel programmeren, kan het soms vervreemdend werken voor programmeurs die niet bekend zijn met deze concepten. In dit (optionele) deel zorgen we ervoor dat alle cursisten een basiskennis hebben van de meest voorkomende concepten van functioneel programmeren.

Deel 3
Diepe duik in Rust: in dit deel gaan we dieper in op de taal. Met behulp van het overzichtsbegrip van de taal dat we in de vorige delen hebben opgebouwd, zijn we in staat om de details te begrijpen van mechanismen zoals control flow-structuren, resultaat- en foutafhandeling, traits en generics, concurrency in het algemeen en onveilig Rust.

Deel 4
Het toolingecosysteem van Rust: vergeleken met andere bestaande talen voor systeemprogrammering heeft Rust een zeer strak geïntegreerd en rijk toolingsysteem om ontwikkelaars te helpen in hun werk. We zullen ons richten op de basisgereedschappen, het pakket-ecosysteem en de standaardbibliotheek, maar ook op de mogelijkheden om de gereedschapskist uit te breiden met aangepaste gereedschappen.

Deel 5
Samenvatting en vooruitblik: de adoptie van Rust kan een uitdaging zijn en kan het beste strategisch worden aangepakt. In dit deel kijken we naar adoptiestrategieën, mogelijke hindernissen en hoe deze te overwinnen voor een succesvolle adoptie. Natuurlijk geven we ook handvatten om verder te leren en te ontwikkelen.

Methodiek

Hoorcolleges, praktische oefeningen, interactieve discussies

Deliverables: cursusmateriaal bestaat uit dia's, een bronnenoverzicht en een online code repository voor oefeningen en oplossingen

Na de training is de trainer via e-mail beschikbaar voor vragen en ondersteuning over het cursusmateriaal.

Certificering

Deelnemers ontvangen een cursuscertificaat van het High Tech Institute voor het volgen van deze opleiding. Bovendien maakt deze opleiding deel uit van het programma voor beroepsopleiding van de Nederlandse Vereniging voor Precisietechniek (DSPE), die hiervoor microcredentials verstrekt.