Времена жизни в Rust

В этом видео мы поговорим о временах жизни в языке программирования Rust. На эту тему в интернете существует огромное количество материала, но каждый понимает её по-своему - в основном неправильно. Я постарался собрать и передать максимально простым способом основную суть времён жизни, или лайфтаймов в Rust. Для этого хорошо подходит визуализация: синий прямоугольник обозначает время жизни структуры с момента вызова конструктора до момента её удаления в конце функции, которая ей владеет - все жёлтые и красные области лайфтаймов должны быть внутри синей области жизни самой структуры; жёлтый прямоугольник обозначает время жизни немутабельной ссылки на эту структуру - от момента её взятия до последнего использования. Все немутабельные ссылки обозначаются одним цветом потому что их лайфтаймы могут пересекаться без проблем; красный прямоугольник обозначает время жизни мутабельной ссылки на эту структуру - от момента её взятия до последнего использования. Все лайфтаймы мутабельных ссылок обозначаются разными оттенками красного потому что они не могут пересекаться друг с другом. ---------- Поддержать: https://boosty.to/bitwiseuwu Телеграм канал (+ чат): https://t.me/bitwiseuwu Мой гитхаб: https://github.com/IoaNNUwU ---------- Это видео может быть интересно любому, кто интересуется системными языками программирования, любит изучать низкоуровневые концепции и работу железа - процессора, оперативной памяти, видеокарты. Если вы знаете или хотите изучить языки C++, Go, Zig - Rust станет отличным дополнением, а возможно даже сможет сместить ваш интерес в свою сторону за счёт таких преимуществ, как безопасность памяти, потокобезопасность, современный API. Rust так же станет прекрасным языком, если вы хотите лишь немного прикоснуться к системному программированию, изучить работу железа, но при этом не оставлять высокоуровневые, простые в использовании языки, такие как Python, Java, JavaScript, Kotlin, Lua. На этом канале вы найдёте множество видео как на тему системного программирования, так и более общих концепций программирования, таких как ООП, системный дизайн и множество других тем, которые стоят того, чтобы их обсудить.

Unsafe Rust Philosophy
▶︎

Unsafe Rust Philosophy

Все Умные указатели в Rust
▶︎

Все Умные указатели в Rust

И33: В.В. Петроченков | Как создается язык программирования Rust
▶︎

И33: В.В. Петроченков | Как создается язык программирования Rust

Урок 16  Что делать после курса по Go Экосистема, архитектурные паттерны, уровни мастерства
▶︎

Урок 16 Что делать после курса по Go Экосистема, архитектурные паттерны, уровни мастерства

Дмитрий Свиридкин: Перепишем все на Rust
▶︎

Дмитрий Свиридкин: Перепишем все на Rust

Visualizing memory layout of Rust's data types
▶︎

Visualizing memory layout of Rust's data types

Учить Rust или Golang? Сравниваем языки программирования Go и Rust / Golang School
▶︎

Учить Rust или Golang? Сравниваем языки программирования Go и Rust / Golang School

Замыкания и функциональные трейты в Rust
▶︎

Замыкания и функциональные трейты в Rust

Я — Никиборг. Язык Go. Go vs Rust. IO games.
▶︎

Я — Никиборг. Язык Go. Go vs Rust. IO games.

OR: Rust без иллюзий, выпуск 16
▶︎

OR: Rust без иллюзий, выпуск 16

Кому и зачем нужен Rust? Как стать Rust-разработчиком?
▶︎

Кому и зачем нужен Rust? Как стать Rust-разработчиком?

8. Время жизни II (Программирование на Rust)
▶︎

8. Время жизни II (Программирование на Rust)

Дженерики и Трейты в Rust
▶︎

Дженерики и Трейты в Rust

1. Введение (Программирование на Rust)
▶︎

1. Введение (Программирование на Rust)

Rust без Наследования
▶︎

Rust без Наследования

This Programming Language Is Better Than Rust, Go, and Even C++
▶︎

This Programming Language Is Better Than Rust, Go, and Even C++

Why AI Can Never Escape Turing's 1936 Proof
▶︎

Why AI Can Never Escape Turing's 1936 Proof

Rust. Убийца C++ или очередной пшик?
▶︎

Rust. Убийца C++ или очередной пшик?

Крейты и модули в Rust
▶︎

Крейты и модули в Rust

Язык RUST для высоконагруженного сетевого сервиса - быстрый старт [ru] / Александр Сербул
▶︎

Язык RUST для высоконагруженного сетевого сервиса - быстрый старт [ru] / Александр Сербул