2. About Me
● Software engineer for ~10 years
● As3 / Java / VBA -> JavaScript / TypeScript ->
Clojure / ClojureScript -> Rust
@JimLynchCodes
● Note: Still kind of a Rust noob 😅 NJ / NYC
3. Why People Come To Rust
● Safer than C / C++
● Faster than everything else
● No GC / VM
https://discord.com/blog/why-discord-is-switching-from-go-to-rust
4. Why People Fall In Love With Rust
● Super elegant syntax
● Variables can never have a “null” value…
● Functional-ish (eg. match and if are expressions)
● Explicit syntax for all mutability, field visibility,
heap vs stack allocation…
5.
6. Why CLI Tools?
● Default thing created from `cargo new foo`
● Small, isolated projects
● The speed and efficiency make it a great choice
for building a “real” cli tool one day!
7. But How Do You KNOW That It Works?
🤔
● Use these small exercises as a way to
practice automated testing and TDD in Rust!
● Put your unit and integration tests
where cargo is expecting them!
● Get familiar with the `#[cfg(test)]`
and `#[cfg(not(test))]` macros!
9. Jim’s Exercises & Examples
● Exercises: empty projects for you to work through.
● Examples: Reference for if you get stuck, Jim’s
solutions to practice coding and testing in Rust.
https://github.com/JimLynchCodes/rust-cli-exercises
https://github.com/JimLynchCodes/rust-cli-examples