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
Програмиране с Rust, ФМИ, 2024
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Nikola Stoyanov
October 03, 2024
Programming
410
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Програмиране с Rust, ФМИ, 2024
Уводна лекция за курса "Програмиране с Rust"
Nikola Stoyanov
October 03, 2024
More Decks by Nikola Stoyanov
See All by Nikola Stoyanov
Programming with Rust @FMI 2025
nikolads
0
150
Other Decks in Programming
See All in Programming
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
670
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
2
740
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
160
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
110
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
100
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.3k
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
820
AIの中の人になってみる
htkym
0
160
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
340
[KotlinConf Extended South Korea 2026] KotlinConf 2026 발표자 후기
wisemuji
0
100
Featured
See All Featured
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
30 Presentation Tips
portentint
PRO
1
390
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
Skip the Path - Find Your Career Trail
mkilby
1
220
Technical Leadership for Architectural Decision Making
baasie
3
550
Statistics for Hackers
jakevdp
799
230k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Transcript
Програмиране с ust
None
None
None
Ferris the Crustacean
Ferris the Crustacean
ust
None
None
Rust • Сравнително млад: на 9.5 години (от v1.0) •
“C ме застреля в крака” • “C++ ми застреля и двата крака”
Rust: безопасност • Ръчна алокация на памет ➔Но няма free
• Мерки против кракозастрелвания ➔Няма null ➔Всички references са гарантирано валидни, compile-time ➔Няма data races
Rust: low-level • Бърз • Zero-cost abstractions • Малък runtime
• Съвместимост (със C и не само)
Rust: high-level • Пакети • Тестване • Силна статична типова
система • Любезен компилатор • Елементи от функционалното програмиране • Елементи от ООП
Rust: community
Rust: community
Friends of Rust
Open source
Open source
Rust: за какво се използва?
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
None
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
• Уеб, server-side (Actix-web, Axum, Hyper)
None
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
• Уеб, server-side (Actix-web, Axum, Hyper) • Уеб, client-side (wasm, stdweb, yew)
None
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
• Уеб, server-side (Actix-web, Axum, Hyper) • Уеб, client-side (wasm, stdweb, yew) • CLI tools (ripgrep, xsv, fd, sd, rawk) • Parser-и (rust-analyzer, salsa) • Компилация на Javascript (SWC, deno, parcel) • Игри (ggez, godot, bevy)
None
Rust: употреба • Системно програмиране (Redox, coreutils) • Embedded програмиране
• Уеб, server-side (Actix-web, Axum, Hyper) • Уеб, client-side (wasm, stdweb, yew) • CLI tools (ripgrep, xsv, fd, sd, rawk) • Parser-и (rust-analyzer, salsa) • Компилация на Javascript (SWC, deno, parcel) • Игри (ggez, godot, bevy) • Desktop (GTK, Tauri, Iced)
Rust: откъде идват хора? • Ruby, Python, Javascript (през Typescript)
– скорост, статично типизиране • Haskell, Scala – подобно типизиране • C/C++ – безопасност, съвместимост
?
Предупреждения • Млад език – доста библиотечен код е на
0.x версии • Няма много работа с него • Труден (за научаване, не за използване) език • Иска време
Предупреждения “На Go-то, с 2 часа седмично, накрая се чудехме
за какво да говорим… ама на вас може да не ви стигне времето.” (Note: стигна ни)
Предупреждения • ... • Иска време • Не позволяваме използването
на Generative AI • Не пускаме преписвачи (дори и много да съжаляват и да са пред държавен изпит, и те само искат 3, и…)
Административни неща • Домашни: 3 x 20 = 60т •
Проект: 1 x 60 = 60т (задължителен) • + разни бонуси: предизвикателства, въпроси и отговори • 60т: 3 • 75т: 4 • 90т: 5 • 105т: 6
Административни неща • Дни: вторник и четвъртък • Време: 18:15
– 20:00 • Няма да правим видео записи на лекциите (но има от минали години) • За новини ще пишем на сайта и в Discord
Да идвате ли на лекции? • Накратко: Да • Не
е задължително, но ще помогне • Задължително започвайте домашните отрано
Административни неща • Discord: https://discord.gg/FCTNfbZ • Снимки и имена •
За лекции, домашни (регистрирайте се), видео от минали години: https://fmi.rust-lang.bg
Ако още не сте зарибени • Зарибявка за езика от
BurgasConf 2022: http s://youtu.be/u7VW5Q2YaBI • Кратко интро с повечко детайли от OpenFest 2017: https://youtu.be/GJfFOWv2bA g • Малко по-advanced, предимно за static typing: https://youtu.be/qfyhzwYWVn8
Ако искате да пробвате • Най-лесния начин: https://play.rust-lang.org/ • За
да си го инсталирате локално: https://201 7.fmi.rust-lang.bg/topics/1 • Очаквайте компилационни грешки :)
?