Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Rust 1.0 Launch Party Kyiv and Lviv
Андрей Листочкин (Andrey Listochkin)
May 15, 2015
Programming
0
250
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
61
Command-line scripting with Rust. Wait, what?!
listochkin
0
160
Server Memory - BuildStuff Ukraine 2019
listochkin
0
13
Server Memory - Chernivtsi JS 2019
listochkin
1
39
10 Years Later
listochkin
0
300
Managing Managers - DevTalks iHUB
listochkin
0
29
Time, Numbers, Text
listochkin
1
320
Software Licensing: A Minefield Guide
listochkin
0
85
We Make Bots. For Real
listochkin
0
280
Other Decks in Programming
See All in Programming
まだ日本国内で利用できないAppActionsにトライしてみた / MoT TechTalk #15
mot_techtalk
0
110
Jetpack Compose 完全に理解した
mkeeda
1
460
ipa-medit: Memory search and patch tool for IPA without Jailbreaking/ipa-medit-bh2022-europe
tkmru
0
130
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
7
6.4k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
42k
Hatena Engineer Seminar #23「新卒研修で気軽に『ありがとう』を伝え合える Slack アプリを開発した話」
slashnephy
0
130
Cloudflare WorkersでGoを動かすライブラリを作っている話
syumai
1
320
子育てとEMと転職と
_atsushisakai
1
390
コンピュータビジョンセミナー2 / computer_vision_seminar_libSGM
fixstars
0
320
状態ってなに?🙃
taro28
0
270
Ruby Pattern Matching
bkuhlmann
0
610
OSSから学んだPR Descriptionの書き方
fugakkbn
4
130
Featured
See All Featured
Pencils Down: Stop Designing & Start Developing
hursman
114
10k
Robots, Beer and Maslow
schacon
154
7.3k
Designing for humans not robots
tammielis
245
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
239
19k
Scaling GitHub
holman
453
140k
Intergalactic Javascript Robots from Outer Space
tanoku
261
26k
A Tale of Four Properties
chriscoyier
149
21k
jQuery: Nuts, Bolts and Bling
dougneiner
57
6.6k
Building Flexible Design Systems
yeseniaperezcruz
314
35k
Web development in the modern age
philhawksworth
197
9.6k
The Invisible Customer
myddelton
113
12k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.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