Opleiding: Training Rust Embedded
De programmeertaal Rust wordt in de praktijk heel veel gebruikt om embedded software te ontwikkelen. Rust is extreem geschikt om software ontwikkelen die in het hart van een systeem zit. Rust wordt daarmee gezien als het perfecte alternatief voor Java, C en C++. Tijdens de training Rust Embedded leer je embedded software te programmeren in Rust.
Algemene omschrijving
Vanwege de enorme groei aan apparaten en systemen is steeds meer embedded software nodig. Je treft het aan in het hart van telefoons, camera's, televisies, wasmachines en noem het maar op.
Die embedded software staat eigenlijk nooit op zichzelf. Het heeft in het apparaat contact met verschillende hardware componenten en communiceert met externe componenten. De camera app op je telefoon communiceert bijvoorbeeld met de camera.
Rust is extreem geschikt voor het ontwikkelen van embedded software. Het wordt steeds meer toegepast in plaats van de usual suspects zoals C, C++ en eventueel Java. Rust kan veel, het is erg snel en heeft een slim memory management.
Tijdens de cursus Rust Embedded leer je de geavanceerde mogelijkheden van Rust kennen. Natuurlijk gaan we ook in op de specifieke embedded mogelijkheden van Rust.
Bedrijfstraining Rust Advanced
Wil je met je met een heel team je Rust embedded applicaties gaan ontwikkelen? In een bedrijfstraining kunnen wij de training volledig op maat voor jouw organisatie verzorgen, voor jou en wellicht een groep van je collega's.
We kijken dan naar jullie specifieke wensen rond Rust Embedded programmeren en richten de perfecte training voor je in. Zo sluit een bedrijfstraining perfect aan bij wat jij moet beheersen om Rust perfect voor je organisatie te kunnen inzetten.
Programma
Tijdens de Training Rust Embedded komen in basis onderstaande onderwerpen aan bod. Afhankelijk van ontwikkelingen op het vakgebied, kan de feitelijke trainingsinhoud hier echter van afwijken. Bel ons gerust voor meer informatie over de actuele inhoud.
- Introduction
-
- Describe how Rust differs from other programming languages
- Describe and use the Rust memory model
- Identify the benefits of moving runtime errors to compile-time errors
- Getting started
-
- Install Rust and use Cargo (Rusts package manager and build tool)
- Building with Cargo
- Guessing game
- Common Programming Concepts
-
- Type system
- Functions
- Comments
- Control Flow
- Ownership
- Stack and the Heap
- Ownership rules
- Memory and allocation
- Structs, Enums and pattern matching
- Growing projects
-
- Packages
- Crates
- Modules
- Common Collections
-
- Vectors
- Strings
- Hash maps
- Error handling
- Traits
- Testing
- Automated tests
- Debugging
- Iterators and Closures
- The Standard Rust Library
-
- std::* modules
- Primitive types
- Standard macros
- The Rust Prelude
- Network programming
- Concurrency
-
- Threads
- Message Passing
- Shared-State concurrency
- Extensible Concurrency with Sync and Send Traits
- Lifetimes
-
- In structs
- Blocks
- In Scopes
- Static
- Functional programming
- Smart Pointers
-
- Box<T>
- Rc<T>
- ReffCell<T>
- Unsafe Rust
-
- Unsafe Superpowers
- Dereferencing a Raw Pointer
- Unsafe Methods and Functions
- Using external Functions to call external code
- Unsafe traits
- Design Patterns
-
- Behavioural patterns
- Creational Patterns
- Structural Patterns
- How to build embedded software with Rust
- Use-case scenario's
- Tips & Tricks