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 1.0 Launch Party Kyiv and Lviv
Search
Андрей Листочкин (Andrey Listochkin)
May 15, 2015
Programming
0
290
Rust 1.0 Launch Party Kyiv and Lviv
Андрей Листочкин (Andrey Listochkin)
May 15, 2015
Tweet
Share
More Decks by Андрей Листочкин (Andrey Listochkin)
See All by Андрей Листочкин (Andrey Listochkin)
Everybody Stand Back! I Know Regular Expressions
listochkin
0
140
Command-line scripting with Rust. Wait, what?!
listochkin
0
300
Server Memory - BuildStuff Ukraine 2019
listochkin
0
26
Server Memory - Chernivtsi JS 2019
listochkin
1
120
10 Years Later
listochkin
0
340
Managing Managers - DevTalks iHUB
listochkin
0
39
Time, Numbers, Text
listochkin
1
550
Software Licensing: A Minefield Guide
listochkin
0
130
We Make Bots. For Real
listochkin
0
390
Other Decks in Programming
See All in Programming
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
240
Androidアプリの One Experience リリース
nein37
0
750
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
270
range over funcの使い道と非同期N+1リゾルバーの夢 / about a range over func
mackee
0
200
Flatt Security XSS Challenge 解答・解説
flatt_security
0
590
サーバーゆる勉強会 DBMS の仕組み編
kj455
1
200
ATDDで素早く安定した デリバリを実現しよう!
tonnsama
1
1.2k
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
1.2k
数十万行のプロジェクトを Scala 2から3に完全移行した
xuwei_k
0
880
テストケースの名前はどうつけるべきか?
orgachem
PRO
1
180
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
120
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
210
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Done Done
chrislema
182
16k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Why Our Code Smells
bkeepers
PRO
335
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Bash Introduction
62gerente
609
210k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
490
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
KATA
mclloyd
29
14k
Transcript
Rust 1.0
@RustUkraine https://gitter.im/dev-ua/rust
@listochkin
2006 Graydon Hoare
2009 Mozilla Research
2011 Self-hosted OCaml
2012 Release 0.1
Dec 2013 Rust the game
Jan 2015 1.0-alpha
Apr 2015 1.0-beta
May 15, 2015 1.0
What is Rust?
Systems Language
Compiles to a binary
.a .so .dylib .dll .exe
No Runtime No Garbage Collection
C => Rust => C
C Rust
C Extensions Rust Extensions
Java .NET Ruby Python Node iOS Android
C C++
Databases Internet of Things Games
Mozilla Servo
browser layout engine highly parallel
Modern Platform
modules crates
Cargo
dependency hell
A (0.1.x) -> D (12.5.x) B (0.0.4)
A (0.1.3) B (0.0.4) C (1.0.3)
crates.io > 2000
project generator test runner incremental builds
llvm x64 ARM
Modern Language
type inference immutability pattern matching algebraic datatypes
OOP
Struct Trait (+inheritance) Generics
Memory Model
No GC
RAII on Steroids
Ownership Borrowing Lifetimes
Concurrency
Threads Mutexes Arc
Missing Pieces
i18n HTTP SQL
Rust vs ...
Rust vs C++
Rust richer language safety guaranties modularity better performance
richer tooling C++
Rust vs Ocaml/Haskell
Rust multiparadigm manual memory management purely functional GC
Richer Concurrency Haskell
Rust vs Go
Rust Libraries Richness Native threads + anything No
GC Cargo Binaries only* Simplicity coroutines channels + syntax GC only go get* http Go
Rust vs Go very different
Rust + Ruby/Go/Haskell/C++
1.0
You program won’t break
None
Ubuntu Chrome Firefox
LLVM frontend unoptimized
tools
Travis CI Nitrous multirust
What should you write in Rust?
Mainstream Developer
CLI utils Extensions Background Jobs
Web Frameworks Web Apps Web APIs
Node/Go Ømq Rust
Mozilla OpenDNS Tilde
@RustUkraine https://gitter.im/dev-ua/rust