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, 2020
Andrew Radev
October 05, 2020
Programming
0
560
Programming Rust at FMI, 2020
Intro lecture to the "Programming Rust" course at Sofia University, 2020.
Andrew Radev
October 05, 2020
Tweet
Share
More Decks by Andrew Radev
See All by Andrew Radev
Programming Rust at FMI, 2022
andrewradev
0
260
Rust: Настояще и бъдеще (БургасКонф 2022)
andrewradev
0
19
FMI-Rust: Shell Basics
andrewradev
0
130
Programming Rust at FMI, 2021
andrewradev
0
390
[OpenFest 2020] The Freedom of Static Typing
andrewradev
0
37
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
250
Other Decks in Programming
See All in Programming
[2023년 1월 세미나] 데이터 분석가 되면 어떤 일을 하나요?
datarian
0
670
What's new in Shopware 6.5
shyim
0
130
Showkase、Paparazziを用いたビジュアルリグレッションテストの導入にチャレンジした話 / MoT TechTalk #15
mot_techtalk
0
150
Swift Concurrency in GoodNotes
inamiy
4
1.4k
エンジニア向け会社紹介資料/engineer-recruiting-pitch
xmile
PRO
0
120
AWSとCPUのムフフな関係
cmdemura
0
500
Functional Data Engineering - A Blueprint for adopting functional principles in data pipeline
vananth22
0
200
花き業界のサプライチェーンを繋げるプロダクト開発の進め方
userlike1
0
200
Swift Observation
shiz
4
300
AWS re:Invent recap: SA が選ぶ 『スタートアップに嬉しい新サービス・新機能』 #AWSStartupfm
track3jyo
PRO
1
150
存在しないアセットへの参照と 未公開アセットでのネタバレに どう立ち向かうか / How to prevent missing assets and spoilers by assets
orgachem
0
210
社会人 20 年目エンジニア、発信で技術学びなおしてる話
e99h2121
1
150
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
Making the Leap to Tech Lead
cromwellryan
117
7.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
How to Ace a Technical Interview
jacobian
270
21k
Writing Fast Ruby
sferik
613
58k
Typedesign – Prime Four
hannesfritz
34
1.5k
Atom: Resistance is Futile
akmur
256
24k
Done Done
chrislema
178
15k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
WebSockets: Embracing the real-time Web
robhawkes
58
6k
A Philosophy of Restraint
colly
193
15k
A Tale of Four Properties
chriscoyier
149
21k
Transcript
Програмиране с ust
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
None
None
None
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) • Игри (ggez, Amethyst, Piston, SHAR)
None
Rust: откъде идват хора? • Ruby, Python – скорост, статично
типизиране • Haskell, Scala – подобно типизиране • C/C++ – безопасност, съвместимост • Отворен процес
?
Предупреждения • Млад език • Труден (за научаване, не за
използване) език
Предупреждения “На 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 • Очаквайте компилационни грешки :)
?