Rust Programmeren
Lesgeld
Cursus Rust Programmeren
In de cursus Rust Programmeren leer je de basisprincipes van de krachtige en moderne programmeertaal Rust. Rust biedt een unieke combinatie van hoge prestaties en veiligheid, waardoor het een favoriete keuze is voor systeemprogrammeurs. Het is community-driven en zorgt ervoor dat je vrijwel alle crashes en data races kunt voorkomen.
Imperatief en Functioneel
Rust bouwt voort op een rijke geschiedenis van programmeertalen en combineert verschil
Cursus Rust Programmeren
In de cursus Rust Programmeren leer je de basisprincipes van de krachtige en moderne programmeertaal Rust. Rust biedt een unieke combinatie van hoge prestaties en veiligheid, waardoor het een favoriete keuze is voor systeemprogrammeurs. Het is community-driven en zorgt ervoor dat je vrijwel alle crashes en data races kunt voorkomen.
Imperatief en Functioneel
Rust bouwt voort op een rijke geschiedenis van programmeertalen en combineert verschillende paradigma's, zowel imperatief als functioneel. Deze veelzijdigheid maakt Rust geschikt voor een breed scala aan toepassingen, van low-level systeemontwikkeling tot meer abstracte probleemoplossingen.
Cursus Rust Programmeren: Concurrency en High Performance
De cursus Rust Programmeren richt zich op het ontwikkelen van veilige, high-performance, concurrent applicaties. Al vóór de officiële 1.0 versie in mei 2015 kreeg Rust momentum in de industrie, omdat er een duidelijke behoefte was aan een nieuwe low-level systeemtaal die zowel snel als veilig is.
Traits, Borrowing en Lifetimes
Tijdens de cursus behandelen we wat Rust zo uniek maakt en hoe je deze concepten kunt toepassen op praktische problemen in systeemprogrammering. Onderwerpen die aan de orde zullen komen zijn: traits, generics, memory safety, move semantics, borrowing en lifetimes.
Closures en Concurrency
Daarnaast komen ook het rijke macro-systeem van Rust, closures en concurrency aan bod. Deze aspecten zijn cruciaal voor het ontwikkelen van robuuste en efficiënte applicaties in Rust.
Voor meer informatie over Rust, bezoek de officiële [Rust-documentatie](https://www.rust-lang.org/learn) voor uitgebreide bronnen en handleidingen. Ook kun je meer leren over andere programmeertalen, zoals in de cursus Carbon Programmeren.
Doelgroep Cursus Rust Programmeren
De cursus Rust Programmeren is bedoeld voor developers die in Rust willen leren programmeren en anderen die Rust code willen begrijpen.
Voorkennis Rust Programmeren
Ervaring met programmeren in moderne programmeertaal is wenselijk en is bevorderlijk voor een goede begripsvorming.
Uitvoering Training Rust Programmeren
De theorie wordt behandeld aan de hand van presentatie slides. De concepten worden toegelicht met demo's. De theorie wordt afgewisseld met oefeningen. De cursustijden zijn van 9.30 tot 16.30.
Certificering Rust Programmeren
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Rust Programmeren.
Modules
Module 1 : Rust Intro
- What is Rust?
- Rust Background
- Rust Momentum
- Rust Usage
- Comparisons to C
- Rust Applications
- Hello Rust
- Comments
- Formatted Printing
- Debug and Display
- Literals
- Operators
Module 2 : Data Types
- Primitives
- Tuples and Arrays
- Slices
- Custom Types
- Enums
- Constants
- Variable Bindings
- Scope
- Shadowing
- Casting
- Inference
- Alias
Module 3 : Flow Control
- Expressions
- Flow Control
- if else
- loop
- Nesting and labels
- while
- for and range
- match
- Guards
- Binding
- if let
- while let
Module 4 : Functions
- Methods
- Closures
- Capturing
- As Input Parameters
- Input Functions
- Type Anonymity
- As Output Parameters
- Examples from std
- Iterator::any
- Iterator::find
- Higher order Functions
Module 5 : Modules
- Visibility
- Struct Visibility
- use Declaration
- Using super
- Using self
- File Hierarchy
- Crates
- Attributes
- Extern crate
- Dead Code
- Custom
Module 6 : Generics
- Functions
- Implementations
- Parametrization over Types
- Traits
- Bounds
- Multiple Bounds
- Where Clauses
- Associated Items
- Associated Types
- Phantom Type Parameters
- Unit Clarification
Module 7 : Scoping
- RAII
- Ownership and Moves
- Functions and Methods
- Mutability
- Borrowing and Freezing
- Aliasing
- ref Pattern
- Lifetimes
- Explicit Annotation
- Bounds and Coercion
- Static
- Elison
Module 8 : Traits
- Zero cost Abstraction
- Traits are interfaces
- Derive
- Operator Overloading
- Drop
- Iterators
- Clone
- Designators
- Overload and Repeat
- Unsafe Operations
- Static dispatch
- Dynamic dispatch
Module 9 : Standard Library
- Box, stack, heap
- Data Structures
- Vectors
- Strings
- Hashmap
- Threads Channels
- Path
- File I/O
- Pipes
- Wait
- Arguments
- Meta