The Rust Programming Language
Learn a modern, powerful yet safe systems programming language!
Created by Dmitri Nesteruk
What you'll learn
- Solve problems in Rust
- Understand Rust's strengths and weaknesses
- Effectively leverage Rust's memory safety guarantees
- Write applications and libraries
- Test and document your code
Requirements
- Basic knowledge of computer science
- A computer with a Rust-enabled IDE (VisualRust, intellij-rust, etc.)
Description
This course will teach you the fundamentals of Rust, a modern programming language that has the both the power of native code as well as the safety of some managed languages. In this course you will learn the following:
- How to download and install Rust; how to compile programs and (optionally) work with an IDE.
- Learn about fundamental data types and how to use them to declare variables.
- Undersand arrays, vectors and strings, the concept of slices.
- Learn to create functions, methods, closures, higher-order functions.
- Understand how to create various data structures such as structs and enums; also traits.
- Master Rust's explicit take on the concept of lifetime with ownership, borrowing, lifetime specifiers, lifetime elision.
- Learn how to safely share data around your (possibly multithreaded) application with Rc, Arc and Mutex.
- Use Rust's package managent using Cargo.
- Learn about other useful topics: documentation, conditional compilation, testing.
This course, like all my other courses, will be supplemented with additional lectures based on participants' requests.
Who this course is for:
- Systems programmers
- Experienced developers interested in Rust
- C/C++ programmers
Featured review
ive dipped in & out of this series & learning rust in general. purely the fact that rust acts differently to what im used to & how I learn things. but the tutor has been great & the experience of learning rust is becoming clearer as well.
all in all a great course
Instructor
Software/Hardware Engineering • Quant Finance • Algotrading
Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.