/rust-learning

I'm learning the rust language here! Keeping the repo public so you guys can check the commits and also check what I've learned and if possible, you can learn too!

Primary LanguageMakefile

Learning Rust

How to use this book

2 kinds of chapters:

  1. Concept chapters
  2. Project chapters (Ch - 2, 12, 20)

  • Chapter 1 explains how to install Rust, how to write a “Hello, world!” program, and how to use Cargo, Rust’s package manager and build tool.
  • Chapter 2 is a hands-on introduction to writing a program in Rust, having you build up a number guessing game.
  • Chapter 3 covers Rust features that are similar to those of other programming languages.
  • In Chapter 4 you’ll learn about Rust’s ownership system.
  • Chapter 5 discusses structs and methods.
  • Chapter 6 covers enums, match expressions, and the if let control flow construct.
  • In Chapter 7, you’ll learn about Rust’s module system and about privacy rules for organizing your code and its public Application Programming Interface (API).
  • Chapter 8 discusses some common collection data structures that the standard library provides, such as vectors, strings, and hash maps.
  • Chapter 9 explores Rust’s error-handling philosophy and techniques.
  • Chapter 10 digs into generics, traits, and lifetimes, which give you the power to define code that applies to multiple types.
  • Chapter 11 is all about testing, which even with Rust’s safety guarantees is necessary to ensure your program’s logic is correct.
  • In Chapter 12, we’ll build our own implementation of a subset of functionality from the grep command line tool that searches for text within files.
  • Chapter 13 explores closures and iterators: features of Rust that come from functional programming languages.
  • In Chapter 14, we’ll examine Cargo in more depth and talk about best practices for sharing your libraries with others.
  • Chapter 15 discusses smart pointers that the standard library provides and the traits that enable their functionality.
  • In Chapter 16, we’ll walk through different models of concurrent programming and talk about how Rust helps you to program in multiple threads fearlessly.
  • Chapter 17 looks at how Rust idioms compare to object-oriented programming principles you might be familiar with.
  • Chapter 18 is a reference on patterns and pattern matching, which are powerful ways of expressing ideas throughout Rust programs.
  • Chapter 19 contains a smorgasbord of advanced topics of interest, including unsafe Rust, macros, and more about lifetimes, traits, types, functions, and closures.
  • In Chapter 20, we’ll complete a project in which we’ll implement a low-level multithreaded web server!

Appendix

Appendix What it talks about
A Rust's keywords
B Rust’s operators and symbols
C Derivable traits provided by the standard library
D Some useful development tools
E Explains Rust editions
F Translations of the book
G How Rust is made and what nightly Rust is