Rust is a new programming language for systems and general programming. It is quickly gaining popularity as a safer alternative for the niche currently occupied mainly by C and C++. There are various reasons why your company may be interested in Rust right now or soon:

  • Bugs in C and C++ code are often due to faults in memory management or concurrency. Rust makes those kinds of faults much easier to avoid. You may want to explore Rust to save money in the long run by reducing maintenance costs and raising quality.

  • Rust may be forced on you in the future: it is quickly gaining popularity, and sooner or later one of your dependencies may start using Rust. You may want prepare for that by building in-house Rust expertise.

  • Salaries of Rust programmers are rising, but it can be hard to hire them: training Rust programmers in-house may be a good investment for you.

  • Rust seems especially popular among more experienced software developers, who are harder to hire: being known as friendly towards Rust may make it easier to hire the best developers.

  • Software developers tends to like to improve their skills as professionals by learning new, cool things, and Rust is a new, cool thing that is gaining popularity. Giving staff a chance to learn will make them happier.

I have continuous software development experience since the 1980s, and teaching and training experience starting from the 1990s. I've been using Rust as my primary programming language since 2019.

After this one or two day training the participants will be able to:

  • understand what kind of language Rust is
  • make informed decisions about choosing Rust for a project
  • read program code written in Rust
  • write simple command line programs in Rust
  • understand memory management in Rust
  • implement concurrency in Rust using threads and async
  • study Rust on their own

To be clear: Rust is a large language, and this course will only get participants started. This course does not teach "advanced Rust": that will require months of active study and use of the language.

This training course requires active participation in discussions and hands-on programming exercises.

This course is aimed at people who already know how to program. This is not a course for learning to program for the first time. Experience in a compiled, low-level language such as C or C++ is helpful, but not required. Experience in any language will do. Being comfortable on the command line is needed.

Participants will need:

  • a computer, using a supported CPU (e.g., x86_64, aarch64)
    • Linux, macOS, and Windows are all suitable
    • other operating systems may also be
  • 15 gigabytes of free disk space
  • an Internet connection sufficient for downloading 10-15 gigabytes
  • permission to install software (the Rust toolchain)

Optional preparation:

  • follow instructions on installation page to install the Rust toolchain using the rustup tool, and a C toolchain (gcc for Linux, Visual Studio with C++ support for Windows)
  • to test your Rust installation, run the following commands:
    • cargo init hello
    • cd hello
    • cargo run
    • if the output has "Hello, World", the Rust toolchain is set up

See my training page for prices. To book training, contact me at liw@liw.fi.