Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Programming Rust at FMI, 2021
Andrew Radev
October 05, 2021
Programming
0
390
Programming Rust at FMI, 2021
The intro lecture of the 2021 "Programming Rust" course
Andrew Radev
October 05, 2021
Tweet
Share
More Decks by Andrew Radev
See All by Andrew Radev
Programming Rust at FMI, 2022
andrewradev
0
250
Rust: Настояще и бъдеще (БургасКонф 2022)
andrewradev
0
19
FMI-Rust: Shell Basics
andrewradev
0
130
[OpenFest 2020] The Freedom of Static Typing
andrewradev
0
37
Programming Rust at FMI, 2020
andrewradev
0
560
Programming Rust at FMI, 2019
andrewradev
0
310
[DevFest Toulouse 2019] The Freedom of Static Typing
andrewradev
1
150
Stranger Tests
andrewradev
0
160
Programming Rust at FMI, 2018
andrewradev
0
240
Other Decks in Programming
See All in Programming
Step Functions Distributed Map を使ってみた
codemountains
0
100
Amazon QuickSightのアップデート -re:Invent 2022の復習&2022年ハイライト-
shogo452
0
200
ECS Service Connectでマイクロサービスを繋いでみた
xblood
0
520
ペパカレで入社した私が感じた2つのギャップと向き合い方
kosuke_ito
0
130
Makuakeの認証基盤とRe-Architectureチーム
bmf_san
0
150
Use KMM to call the API of the National Tax Agency
akkeylab
0
290
子育てとEMと転職と
_atsushisakai
1
330
量子コンピュータ時代のプログラミングセミナー / 20221222_Amplify_seminar _route_optimization
fixstars
0
240
OIDC仕様に準拠した Makuake ID連携基盤構築の裏側
ymtdzzz
0
130
Excelの助けを借りて楽にシナリオを作ろう
rpa_niiyama
0
200
ポケモンで学ぶiOS 16弾丸ツアー 🚅
giginet
PRO
1
610
Quarto Tips for Academic Presentation
nicetak
0
890
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
109
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
Git: the NoSQL Database
bkeepers
PRO
418
60k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
318
19k
Adopting Sorbet at Scale
ufuk
65
7.8k
Statistics for Hackers
jakevdp
785
210k
Testing 201, or: Great Expectations
jmmastey
25
5.7k
Gamification - CAS2011
davidbonilla
75
4.1k
A designer walks into a library…
pauljervisheath
198
16k
Facilitating Awesome Meetings
lara
33
4.6k
Docker and Python
trallard
30
1.9k
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
196
9.8k
Transcript
Програмиране с ust
None
None
None
None
None
None
ust
None
Rust • Млад: само на 5.5_f32 години (от 1.0) •
“C ме застреля в крака” • “C++ ми застреля и двата крака”
Rust: безопасност • Ръчна алокация на памет ➔ Но няма
free • Мерки против кракозастрелвания ➔ Няма null ➔ Всички references са гарантирано валидни, compile-time ➔ Няма data races
Rust: low-level • Бърз • Zero-cost abstractions • Малък runtime
• Съвместимост
Rust: high-level • Пакети • Тестване • Силна статична типова
система • Любезен компилатор • Елементи от функционалното програмиране • Елементи от ООП
Rust: community
Ferris the Crustacean
Ferris the Crustacean
Friends of Rust
Rust companies
None
None
Rust: за какво се използва?
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
None
None
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
• Уеб, server-side (Actix-web, Diesel, SQLx)
None
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
• Уеб, server-side (Actix-web, Diesel, SQLx) • Уеб, client-side (wasm, stdweb, yew)
None
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
• Уеб, server-side (Rocket, Diesel) • Уеб, client-side (wasm, stdweb, yew) • Networking, async stuff (Tokio) • Обработка на данни • Tooling (ripgrep, xsv, fd, sd, rawk) • Parser-и (rust-analyzer, salsa, parcel) • Игри (ggez, godot, bevy, SHAR)
None
Rust: откъде идват хора? • Ruby, Python – скорост, статично
типизиране • Haskell, Scala – подобно типизиране • C/C++ – безопасност, съвместимост • Отворен процес: The Rust Foundation
?
Предупреждения • Млад език • Труден (за научаване, не за
използване) език • Иска време
Предупреждения “На Go-то, с 2 часа седмично, накрая се чудехме
за какво да говорим… ама на вас може да не ви стигне времето.” (Note: стигна ни)
Административни неща • Домашни: 4 x 15 = 60т (може
би) • Проект: 1 x 60 = 60т • + разни бонуси: предизвикателства, въпроси и отговори • 60т: 3 • 75т: 4 • 90т: 5 • 105т: 6
Административни неща • Онлайн: http://video.fmi.rust-lang.bg • Има парола, видима в
dashboard-а • Дни: вторник и четвъртък • Време: 19:15 – 21:00 • Ще има видео записи в секция “Материали”
Да идвате ли на лекции? • Накратко: Да • Ако
се налага, гледайте видеото • Задължително започвайте домашните отрано
Административни неща • Discord: https://discord.gg/FCTNfbZ • Снимки и имена •
Лекции, домашни, парола за видеото (регистрирайте се): https://fmi.rust-lang.bg
Ако още не сте зарибени • Кратко интро към езика
от OpenFest 2017 (spoilers!): https://youtu.be/GJfFOWv2bAg • Малко по-advanced, предимно за static typing: https://youtu.be/qfyhzwYWVn8
Ако искате да пробвате • Най-лесния начин: https://play.rust-lang.org/ • За
да си го инсталирате локално: https://2017.fmi.rust-lang.bg/topics/1 • Очаквайте компилационни грешки :)
?