Rust has held the “most loved language” spot since the Stack Overflow Developer survey started asking the question. Why? If you are developing applications that need to be fast and/or secure, Rust has your back. Traditional systems level programming languages, such as C/C++, are struggling to scale to the demands of the industry they serve. Given the growth of the cloud infrastructure that is a sweet-spot for Rust, and the continued support of developers and top-tier tech companies, Rust looks to have a rosy future and should be part of any current, or aspiring, systems developer's learning path. Rust is not only for systems developers, but data scientists also who are working with large simulation or machine learning models require both accuracy and performance. Rust delivers in these areas.
Rust Essentials: Building Better Software Delivery Methods
Rust Essentials: Building Better Software Course Benefits
Basic syntax
Lifetimes, ownership and borrowing
Data structures
Error handling
Modularization
The Rust toolchain
Rust Essentials: Building Better Software Course Outline
-
Prerequisites
This is a course for intermediate developers. It assumes proficiency in an enterprise development language such as Java, C#, C/C++, JavaScript.
Knowledge at the level of the courses below would be sufficient:
-
Audience Profile
Experienced developers who wish to:
- Get involved in systems programming (e.g., infrastructure development) or;
- Develop efficient modules for use in Python/Java/.NET applications or;
- Build secure, robust applications or;
- Build efficient WASM applications.
-
Exam Information
Optional Learning Tree Exam provided after course
- Introduction and Overview
-
- What is Rust?
- Rust Notebooks
- JupyterLab
-
Getting Started with Rust
- Install Rust
- Create and build applications
- Configure a development environment
-
Language Fundamentals
- Features of Rust
- Define variables
- Evaluate expressions
- Perform conditional logic
- Repeat operations using loops
-
Ownership
- Understand how Rust manages memory/resources through its unique ownership system
-
Functions
- Define functions (and subroutines)
- Distinguish expressions from statements
- Specify function references
- Build higher-order functions
-
Enums and Pattern Matching
- Use Enums to strongly type data
- Harness Rust’s powerful pattern matching capabilities to process data
-
Structs
- Organize data using structs
- Encapsulate data and behaviour using methods
-
Collections
- Review the collection data structures available in Rust
- Manage lists of data using vectors
- Organize data into dictionaries using hash maps
- Manipulate strings
-
Error Handling
- Report unrecoverable errors in Rust apps
- Handle recoverable errors
-
Generics
- Reduce duplication by writing code that can handle different types of data
-
Crates and Modules
- Organize apps into units
- Build compilation units (crates)
- Develop logical units (modules)
- Hide implementation details using visibility controls in modules
-
Course Summary