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
150
Command-line scripting with Rust. Wait, what?!
listochkin
0
310
Server Memory - BuildStuff Ukraine 2019
listochkin
0
29
Server Memory - Chernivtsi JS 2019
listochkin
1
130
10 Years Later
listochkin
0
350
Managing Managers - DevTalks iHUB
listochkin
0
41
Time, Numbers, Text
listochkin
1
560
Software Licensing: A Minefield Guide
listochkin
0
130
We Make Bots. For Real
listochkin
0
400
Other Decks in Programming
See All in Programming
DROBEの生成AI活用事例 with AWS
ippey
0
130
Unity Android XR入門
sakutama_11
0
160
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
390
Immutable ActiveRecord
megane42
0
140
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
140
Linux && Docker 研修/Linux && Docker training
forrep
24
4.5k
Formの複雑さに立ち向かう
bmthd
1
850
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
560
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
SwiftUI Viewの責務分離
elmetal
PRO
1
240
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
110
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.8k
Why Our Code Smells
bkeepers
PRO
336
57k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
How STYLIGHT went responsive
nonsquared
98
5.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
YesSQL, Process and Tooling at Scale
rocio
172
14k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Optimizing for Happiness
mojombo
376
70k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
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