Rust in 2025: A Complete Beginner's Guide from Scratch

онлайн тренажер по питону

Introduction: Why Rust is the Choice of 2025

In 2025, Rust continues to confidently win the hearts of developers worldwide. According to the annual Stack Overflow survey, Rust has been recognized as the most loved programming language for eight years in a row. Its main advantages are memory safety without a garbage collector and top-tier performance, comparable to C and C++. If you are familiar with Python but want to learn to write fast and reliable system applications, WebAssembly, or even operating systems — Rust will be your ideal next step.

In this article, we will break down where to start learning Rust in 2025: how to install the toolchain, write your first program, and understand key concepts. Let's go!



1. Installing Rust and Getting to Know Cargo

The first thing you need to do is install the rustc compiler and the Cargo package manager. In 2025, the process is as simple as possible.



Installation via rustup

The official and recommended way is to use the rustup utility. Open a terminal and run the command:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

The script will offer standard settings — just press Enter. After installation, restart your terminal or run:

source $HOME/.cargo/env

Verify that everything works:

rustc --versioncargo --version


First Program: "Hello, world!"

Let's create a new project using Cargo:

cargo new hello_rustcd hello_rust

Cargo will create the directory structure. Open the file src/main.rs — it already contains a template:

fn main() {    println!("Hello, world!");}

Build and run the program with a single command:

cargo run

You will see the coveted greeting. Congratulations, you have written your first Rust program!



2. Rust Syntax Basics: Variables, Types, and Functions

Rust is a language with strong static typing, but the compiler often infers types on its own. Let's break down the basic constructs.



Variables and Immutability

By default, all variables in Rust are immutable. This is one of the key features of the language, ensuring safety.

fn main() {    let x = 5;          // immutable variable    // x = 6;           // Error! Cannot change    let mut y = 10;     // mutable variable (mut)    y += 5;             // Now y = 15    println!("x = {}, y = {}", x, y);}


Data Types

Rust supports familiar types: integers (i32, u64), floating-point numbers (f64), boolean (bool), character (char), and strings (String, &str).

fn main() {    let a: i32 = -42;          // signed integer    let b: u8 = 255;           // unsigned 8-bit    let c: f64 = 3.1415;       // double    let is_rust_cool = true;   // bool    let letter = 'R';          // char (4 bytes, Unicode)    let greeting = String::from("Hello, Rust!");    println!("{} {} {} {} {} {}", a, b, c, is_rust_cool, letter, greeting);}


Functions

Functions are declared using the fn keyword. The return type is specified after the arrow ->.

fn add(x: i32, y: i32) -> i32 {    x + y   // the last expression is the return (no semicolon)}

fn main() { let sum = add(10, 20); println!("10 + 20 = {}", sum);}


3. Key Concept: Ownership and Borrowing

The most complex, yet most important topic in Rust is the ownership system. It is what guarantees memory safety without a garbage collector.

Похожие статьи

Книги по Python