Introduction to Rust Tutorial
Here's a table of contents of what you'll learn in this lesson:
(click on a link to skip to its section)
Let's jump right in.
What is Rust
Rust is a system level programming language, developed by Graydon Hoare at Mozilla as a personal project in 2006. Mozilla later acquired Rust in 2009.
System programming languages are used to build both software, and software platforms. Examples of system level programming languages include C and C++, and are often used to build compilers, game engines and even operating systems.
Rust is heavily influenced by a safe dialect of the C language, called Cyclone. It also includes some object-oriented features borrowed from C++ and functional features from languages like Haskell and OCaml.
The result of this is a type of C-like language that supports object-oriented, functional and imperitave programming.
Why learn Rust
Rust was designed to develop reliable, fast applications in a simple and elegant way.
- Rust is ideal for embedded systems because of its low overhead, appropriate for extremely low resource environments.
- Because Rust makes it harder to write code that leaks resources and its minimal footprint, it’s an ideal language for networked services. The aforementioned aspects help lower server costs and operational burdens.
- Rust doesn’t have a Garbage Collector, improving performance in application developed with it.
- Rust provides support for concurrency and threads, better error handling, safety checks for cleaner code, reusable code via modules, and many more.
Is Rust hard to learn
Rust is somewhat hard to learn, if you’re new to programming in general.
If you have some experience in higher level object-oriented languages like Python or Java, Rust shouldn’t be more than moderately difficult.
Rust is a low-level programming language, much like C and C++, and as such requires at least some knowledge of the workings of the machine.
That said, where C is easier to learn but harder to use, Rust is the opposite. It reduces the assumptions and assertions we need to make about the program and its surroundings.
Before we proceed, please note that we make the following assumptions:
- You know how to install software on whichever operating system you use.
- You can create and navigate directories and files on your computer.
While this tutorial course is for beginners with no knowledge of Rust or programming in general, programmers coming from other languages that want to learn Rust will also find it very helpful.
This tutorial course covers many topics of programming in Rust, ranging from beginner concepts to advanced.
List of Tutorials
Development Environment Setup Your First Rust Application Variables & Constants Data Types Operators
if, else if, else, match - Conditional Control while, for loops - Iteration Control break & continue - Control Statements
Functions Arrays Tuples Ownership Borrowing & Referencing Slices Structs (Structures) Enums (Enumeration) Modules
Vector Collection HashMap Collection Traits (Interfaces)
Generics & Smart Pointers
Generics Smart Pointers