If you're new to programming or just looking to expand your skills, Rust is a fantastic language to start with. In this session, we'll cover the basics of Rust programming, including its syntax and essential features. We'll also discuss why Rust is such a unique language, thanks to its memory safety and performance optimizations. By the end of this session, you'll have a solid foundation in Rust and be ready to take your first steps in creating your own API or systems-level programming. So, let's dive in and discover the exciting world of Rust programming together!
Please note this repo contains assets for Boston Code Camp 34, and TekkiGuru Rust Blog Series. This repo is not designed to learn Rust from beginning to end, but supplement an instructor lead presentation. One of the best places to get started learning Rust as a beginner is The Rust Guide.
Presentation Slides:
-
Introduction (5 minutes) a) Welcome and overview of the presentation b) A brief history of Rust and its growing popularity
- Origins (2006-2009): Graydon Hoare, a Mozilla employee, started Rust as a personal project to create a safe and concurrent systems programming language, inspired by languages like C++ and Haskell.
- Mozilla Sponsorship (2009): Mozilla began sponsoring the Rust project, recognizing its potential to improve web browser engine development, specifically for the Servo project.
- Rust 0.1 (2012): The first release of Rust, an alpha version, was made available to the public.
- Frequent Iterations (2012-2015): The Rust team made regular updates, refining the language based on user feedback and evolving design goals. Major changes were made to the ownership system, concurrency model, and syntax.
- Rust 1.0 (2015): The first stable release of Rust marked the language's stability and long-term commitment to backward compatibility.
-
c) Rust's goals: safety, speed, and concurrency
d) Who should learn Rust? e) [Rust use cases with Hyperscalers (Microsoft, Google, AWS) and Edge](.\Microsoft Cloud for Healthcare - end to end mlai workload architecture.md)
-
Getting Started with Rust (5 minutes) a) Setting up your development environment b) An overview of Rust's syntax and basic data types c) A simple "Hello, World!" program in Rust
-
Rust Fundamentals (10 minutes)
a. Variables, constants, and mutability
b. Control flow: if, loops, and pattern matching
c. Functions and error handling
d. Practical example: a number guessing game
-
Memory Safety and Ownership (10 minutes)
a. Understanding Rust's ownership model
b. Borrowing, references, and slices
c. The benefits of Rust's memory safety guarantees
d. Practical example: a safe string manipulation program
-
a. The challenges of concurrent programming in other languages
b. Rust's approach to concurrency: fearless concurrency
c. Practical example: a simple multi-threaded program
-
The Rust Ecosystem (5 minutes)
a. Exploring the Cargo package manager and crates.io
b. Popular Rust libraries and frameworks for beginners
c. Community support and resources
-
Building a Simple API with Rust (5 minutes)
a. Introduction to the Actix-web framework
b. Creating a basic API with routing and JSON handling
c. Deploying your API to a server
-
Connecting to Microsoft Services (Azure, Power Platform, Azure OpenAI)
-
Connecting to OpenAI (health_hub)
-
Q&A and Closing (5 minutes)
b. Recap of key takeaways
c. Encouragement to explore Rust further and build your own projects
