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, 2020
Search
Andrew Radev
October 05, 2020
Programming
0
610
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
Употреба и скриптиране на Vim във ФМИ 2023
andrewradev
0
400
Programming Rust at FMI, 2022
andrewradev
0
570
Rust: Настояще и бъдеще (БургасКонф 2022)
andrewradev
0
70
FMI-Rust: Shell Basics
andrewradev
0
210
Programming Rust at FMI, 2021
andrewradev
0
510
[OpenFest 2020] The Freedom of Static Typing
andrewradev
0
55
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
爆速スッキリ! Rspack 移行の成果と道のり - Muddy Web #11
dora1998
1
260
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.3k
SEAL - Dive into the sea of search engines - Symfony Live Berlin 2025
alexanderschranz
1
110
AtCoder Heuristic First-step Vol.1 講義スライド(山登り法・焼きなまし法編)
takumi152
4
1k
ベクトル検索システムの気持ち
monochromegane
30
9.7k
Java 24まとめ / Java 24 summary
kishida
3
360
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
1
410
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2.6k
Develop Faster With FrankenPHP
dunglas
2
3.1k
custom_lintで始めるチームルール管理
akaboshinit
0
200
Chrome Extension Techniques from Hell
moznion
1
150
Being an ethical software engineer
xgouchet
PRO
0
180
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
522
39k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
29
2k
Music & Morning Musume
bryan
46
6.4k
A Tale of Four Properties
chriscoyier
158
23k
How GitHub (no longer) Works
holman
314
140k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
For a Future-Friendly Web
brad_frost
176
9.6k
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 • Очаквайте компилационни грешки :)
?