Rust язык программирования учебник программирования Часть 1.

Поздравляю, вы встали на тернистый но стоящий усилий путь изучения Rust.
https://t.me/rust_code – больше информации в нашем телеграм канале
В TeXbook [книге об издательской системе TeX], Дональд Кнут писал “This manual is intended for people who have never used TEX before, as well as for experienced TEX hackers. In other words, it’s supposed to be a panacea that satisfies everybody, at the risk of satisfying nobody”. Ditto.
Будьте готовы встречать калькированные слова и фразы и при необходимости
пользоваться поисковиком, переводчиком, а также помощью друга и зала.
.1 О Rust: язык, культура, применения, экосистема, изучение
Фундаментом развития языков программирования являются их ценности и приоритеты. Они определяют дизайн языков и их эволюцию. Они привлекают те или иные категории разработчиков и эти самые разработчики в свою очередь формируют экосистему, стандарты, и культуру.
В Rust приоритетами (в строгом порядке) являются:
- безопасность доступа к памяти;
- скорость;
- продуктивность программиста.
How Rust Views Tradeoffs – InfoQ, 2019
В этом суть Rust.
Но понимание философии языка через призму его применения и вдохновление применений языка на основе его свойств и функционала не является целью данного урока. Его цель – формирование у изучающих целостной картины языка на фоне других языков программирования и привлечение людей, способных вырасти, хоть спустя десятилетия, в крутых Senior и Principal разработчиков.
1.1 О Rust: язык, культура, применения, экосистема, изучение
3 из 11 шагов пройдено
Существует огромное количество языков программирования.
Credit: Mike Shannon, “The 21 Most Popular Programming Languages in the World (and where to learn them)“
Каждый из них чаще всего имеет нишу (иногда большую), где язык способен принести наибольшую пользу бизнесу или непосредственно разработчику.
Three Things I Wish I Knew When I Started Designing Languages – InfoQ, 2018
Чаще всего это происходит из-за (1) дизайна языка и/или (2) экосистемы, т.е. инструментов и библиотек.
Согласно статье “Rust (язык программирования)” на Wikipedia,
Rust (Раст, [rʌst]; rust с англ. — «ржавчина») — мультипарадигменный компилируемый язык программирования общего назначения, сочетающий парадигмы функционального и процедурного программирования с объектной системой, основанной на типажах. Управление памятью осуществляется через механизм «владения» с использованием аффинных типов[en][8], что позволяет обходиться без системы сборки мусора во время исполнения программы. Rust гарантирует безопасную работу с памятью благодаря встроенной в компилятор системе статической проверки ссылок (borrow checker). Имеются средства, позволяющие использовать приёмы объектно-ориентированного программирования.
Каждый из данных аспектов языка заслуживает внимания и по мере изучения языка каждая из этих граней Rust будет раскрываться. Но вместе они, прошу пока поверить на слово, создают язык превосходно подходящий для системного программирования и пригодный для подавляющего большинства (если не всех) задач.
Rust используется…
- Meta (Facebook): endorsed server-side language (the 4th after Hack, C++, and Python), eden (Mononoke) — in-house система контроля версий для огромного монорепозитория компании ;
- Amazon: AWS ;
- Netflix:
todo!();
// TODO: make up an excuse - Google: Fuschia (kernel), Android (Rust модули [смотрите новости], в частности Bluetooth стек полностью переписан на Rust);
- Apple: low-level programming;
а также…
- Linus Torvalds заявил что Rust станет вторым языком для разработки ядра Linux наряду с C предположительно начиная с версии Linux 5.20;
- Microsoft начала использовать Rust для разработки отдельных компонентов Windows в ответ на возникающие проблемы с memory safety ;
- Discord переориентируется с разработки на Go на разработку на Rust;
- Deno, runtime для JavaScript, Typescript и WASM от создателя Node.js, полностью написан на Rust;
- Armin Ronacher, создатель Flask веб фреймворка для Python и шаблонизатора Jinja, сейчас активно использует Rust;
и этот список можно продолжать.
https://t.me/rust_code – больше информации в нашем телеграм канале
https://vk.com/rust_it – vk групппа rust