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
460
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
350
Programming Rust at FMI, 2022
andrewradev
0
450
Rust: Настояще и бъдеще (БургасКонф 2022)
andrewradev
0
67
FMI-Rust: Shell Basics
andrewradev
0
170
[OpenFest 2020] The Freedom of Static Typing
andrewradev
0
44
Programming Rust at FMI, 2020
andrewradev
0
580
Programming Rust at FMI, 2019
andrewradev
0
370
[DevFest Toulouse 2019] The Freedom of Static Typing
andrewradev
1
160
Stranger Tests
andrewradev
0
270
Other Decks in Programming
See All in Programming
Ruby Function Composition
bkuhlmann
1
340
冗長なエラーログを削減し、スタックトレースを手に入れる / Reducing Verbose Error Logs and Obtaining Stack Traces
upamune
0
980
スキーマ駆動開発による品質とスピードの両立 - 私達は何故、スキーマを書くのか
kentaroutakeda
0
180
Ruby GitHub Packages
bkuhlmann
0
640
敵対的ポイフル
futabato
0
120
"config" ってなんだ? / What is "config"?
okashoi
0
250
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
240
Domain-Driven Transformation
hschwentner
2
1.5k
Next.js App Router
quramy
11
1.6k
GitHub Copilotのススメ
marcy731
1
220
SwiftUIで使いやすいToastの作り方 / How to build a Toast system which is easy to use in SwiftUI
lovee
3
160
MicrosoftのPlatform Engineeringガイドを読んで実際になにかやってみた
ymd65536
1
500
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Optimising Largest Contentful Paint
csswizardry
12
2.4k
Teambox: Starting and Learning
jrom
128
8.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
GitHub's CSS Performance
jonrohan
1025
450k
The Mythical Team-Month
searls
216
42k
How STYLIGHT went responsive
nonsquared
92
4.8k
Web Components: a chance to create the future
zenorocha
306
41k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
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 • Очаквайте компилационни грешки :)
?