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
280
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
130
Command-line scripting with Rust. Wait, what?!
listochkin
0
280
Server Memory - BuildStuff Ukraine 2019
listochkin
0
26
Server Memory - Chernivtsi JS 2019
listochkin
1
110
10 Years Later
listochkin
0
330
Managing Managers - DevTalks iHUB
listochkin
0
38
Time, Numbers, Text
listochkin
1
540
Software Licensing: A Minefield Guide
listochkin
0
120
We Make Bots. For Real
listochkin
0
370
Other Decks in Programming
See All in Programming
Vapor Revolution
kazupon
1
190
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
yuisakamoto
5
360
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
1k
Jakarta EE meets AI
ivargrimstad
0
670
cmp.Or に感動した
otakakot
3
230
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.3k
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
250
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
360
CSC509 Lecture 13
javiergs
PRO
0
110
色々なIaCツールを実際に触って比較してみる
iriikeita
0
340
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Embracing the Ebb and Flow
colly
84
4.5k
Done Done
chrislema
181
16k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Into the Great Unknown - MozCon
thekraken
32
1.5k
Happy Clients
brianwarren
98
6.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
A Philosophy of Restraint
colly
203
16k
A Tale of Four Properties
chriscoyier
156
23k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
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