Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Programming Rust at FMI, 2021
Search
Andrew Radev
October 05, 2021
Programming
0
510
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
Употреба и скриптиране на Vim във ФМИ 2023
andrewradev
0
400
Programming Rust at FMI, 2022
andrewradev
0
580
Rust: Настояще и бъдеще (БургасКонф 2022)
andrewradev
0
71
FMI-Rust: Shell Basics
andrewradev
0
210
[OpenFest 2020] The Freedom of Static Typing
andrewradev
0
55
Programming Rust at FMI, 2020
andrewradev
0
610
Programming Rust at FMI, 2019
andrewradev
0
440
[DevFest Toulouse 2019] The Freedom of Static Typing
andrewradev
1
210
Stranger Tests
andrewradev
0
340
Other Decks in Programming
See All in Programming
ComposeでWebアプリを作る技術
tbsten
0
110
AWSで雰囲気でつくる! VRChatの写真変換ピタゴラスイッチ
anatofuz
0
160
PHP で学ぶ OAuth 入門
azuki
1
190
SQL Server ベクトル検索
odashinsuke
0
180
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
3
1.2k
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
2
440
メモリウォールを超えて:キャッシュメモリ技術の進歩
kawayu
0
1.9k
gen_statem - OTP's Unsung Hero
whatyouhide
1
200
SEAL - Dive into the sea of search engines - Symfony Live Berlin 2025
alexanderschranz
1
130
Signal-Based Data FetchingWith the New httpResource
manfredsteyer
PRO
0
180
SwiftUI API Design Lessons
niw
1
290
複雑なフォームの jotai 設計 / Designing jotai(state) for Complex Forms #layerx_frontend
izumin5210
3
860
Featured
See All Featured
Building Adaptive Systems
keathley
41
2.5k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Writing Fast Ruby
sferik
628
61k
Navigating Team Friction
lara
184
15k
Visualization
eitanlees
146
16k
Why Our Code Smells
bkeepers
PRO
336
57k
GraphQLとの向き合い方2022年版
quramy
46
14k
The Language of Interfaces
destraynor
157
24k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
RailsConf 2023
tenderlove
30
1.1k
How STYLIGHT went responsive
nonsquared
99
5.5k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
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 • Очаквайте компилационни грешки :)
?