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
660
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Programming Rust at FMI, 2020
Intro lecture to the "Programming Rust" course at Sofia University, 2020.
Andrew Radev
October 05, 2020
More Decks by Andrew Radev
See All by Andrew Radev
Употреба и скриптиране на Vim във ФМИ 2023
andrewradev
0
500
Programming Rust at FMI, 2022
andrewradev
0
670
Rust: Настояще и бъдеще (БургасКонф 2022)
andrewradev
0
100
FMI-Rust: Shell Basics
andrewradev
0
270
Programming Rust at FMI, 2021
andrewradev
0
570
[OpenFest 2020] The Freedom of Static Typing
andrewradev
0
95
Programming Rust at FMI, 2019
andrewradev
0
500
[DevFest Toulouse 2019] The Freedom of Static Typing
andrewradev
1
280
Stranger Tests
andrewradev
0
410
Other Decks in Programming
See All in Programming
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
2
300
高専キャリア LT 発表内容
crysta1221
6
5.5k
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
Foundry Localでエージェント開発
seosoft
0
120
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.5k
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
110
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
620
バグを直したら useEffect が消えた
colorful12
3
830
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
810
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
620
Swift愛好会と私(ウホーイ) / Swift Fan Club and Uhooi
uhooi
0
120
Press start. Python's next generation.
willingc
PRO
3
300
Featured
See All Featured
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Building AI with AI
inesmontani
PRO
1
1.2k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Exploring anti-patterns in Rails
aemeredith
3
490
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
310
Speed Design
sergeychernyshev
33
2.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
ラッコキーワード サービス紹介資料
rakko
1
4.7M
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 • Очаквайте компилационни грешки :)
?