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
300
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
170
Command-line scripting with Rust. Wait, what?!
listochkin
0
350
Server Memory - BuildStuff Ukraine 2019
listochkin
0
38
Server Memory - Chernivtsi JS 2019
listochkin
1
150
10 Years Later
listochkin
0
360
Managing Managers - DevTalks iHUB
listochkin
0
53
Time, Numbers, Text
listochkin
1
580
Software Licensing: A Minefield Guide
listochkin
0
140
We Make Bots. For Real
listochkin
0
420
Other Decks in Programming
See All in Programming
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
280
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
260
Practical Tips and Tricks for Working with Compose Multiplatform Previews (mDevCamp 2025)
stewemetal
0
120
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
820
CSC307 Lecture 17
javiergs
PRO
0
120
WindowInsetsだってテストしたい
ryunen344
1
170
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
570
Perlで痩せる
yuukis
1
680
複数アプリケーションを育てていくための共通化戦略
irof
10
3.9k
GoのGenericsによるslice操作との付き合い方
syumai
2
620
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
730
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
780
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
660
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Designing for humans not robots
tammielis
253
25k
Fireside Chat
paigeccino
37
3.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
GitHub's CSS Performance
jonrohan
1031
460k
What's in a price? How to price your products and services
michaelherold
245
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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