The Rust language: memory, ownership and lifetimes [linux.conf.au 2014]

  Рет қаралды 36,409

Konstantin Bläsi

Konstantin Bläsi

10 жыл бұрын

In 2010, Mozilla announced it was working on a new systems language, aiming to match the performance and C-interoperability profile of C++ in a provably safe language with concurrency, immutability, isolation and expressiveness properties closer to languages like Erlang, Haskell or Scala.
While Rust presents a good variety of familiar, expressive tools from other mainstream languages, it also borrows from research languages two lesser-known key technologies: "owning pointers" and "borrowed pointers". This talk will briefly describe the Rust language in general terms, then focus in on these two key technologies, how they shape Rust's memory model, performance and safety guarantees, and why you might consider using Rust in your next project.
Nicholas Matsakis
Nicholas Matsakis is a senior researcher at Mozilla research.
He focuses on safe support for parallelism in programming
languages. He is currently working on the Rust programming language as
well as Parallel JavaScript.
linux.conf.au/schedule/30170/v...

Пікірлер: 19
@bakarock90
@bakarock90 5 жыл бұрын
33:42, Morpheus is calling
@ibnukamy
@ibnukamy 9 жыл бұрын
This presentation is really good. Thank you for sharing.
@carterthaxton
@carterthaxton 2 жыл бұрын
There are many great intro videos about Rust. This is one of my favorites. Straight to the point of what makes Rust unique.
@uidx-bob
@uidx-bob 3 жыл бұрын
The really smart people know how to show complex things in a simple way. This is a great example of that.
@edgeeffect
@edgeeffect 3 жыл бұрын
I love the slide in the thumbnail... it's got a real "retro" feel to it.
@budiardjo6610
@budiardjo6610 Жыл бұрын
this is why rust feels like different
@shiqiai2881
@shiqiai2881 6 жыл бұрын
really good!
@briansalkas349
@briansalkas349 2 жыл бұрын
4:55, not a hashmap but a treemap. to use a hashmap in C++ use unordered_map. but still a really really great talk
@RonJohn63
@RonJohn63 10 жыл бұрын
The presentation flickers badly on the overhead screen.
@trissylegs
@trissylegs 10 жыл бұрын
I'm guessing US/Japanese camera against PAL screen. (50 Hz vs 60 Hz) Talk is in Australia which is all Pal.
@NoNameAtAll2
@NoNameAtAll2 3 жыл бұрын
What happened to "optional GC" idea?
@Uni-Coder
@Uni-Coder 8 жыл бұрын
... and nothing about lifetimes?
@TowryWang
@TowryWang 8 жыл бұрын
+mrbus2007 He talked about lifetime in detail
@mavhunter8753
@mavhunter8753 4 жыл бұрын
The unsafe keyword is the ultimate refutation of Rust being a language that gives you "control" like C/C++. In order to do some things at the lower-level you simply need the ability to do unsafe things.
@batmansmk
@batmansmk 4 жыл бұрын
I had the same intuition as you at first, luckily for us developers it doesn't apply in practice; Rust stays on top of its game in performance in most benchmark (around +/-2% from C) and feels safer overall. Major libs (tokio, serde) have around 10% of unsafe LoC. Even less when you built on top. Pretty cool, isn't it?
@HermanWillems
@HermanWillems 4 жыл бұрын
@@batmansmk With the productivity that is higher than C&C++ and touches almost C# and Java.
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
Yes, and that's the reason there is the unsafe keyword in Rust. But what you're not understanding is that unsafe is used very seldomly. Most crates have not one unsafe block, and even the ones that do, it's always wrapped in a safe abstraction
@swapode
@swapode 3 жыл бұрын
You don't need to do unsafe things. In certain circumstances you may need to do things that the compiler can't prove to be safe - and if you do, you have to mark those passages with the unsafe keyword. Sure, at that point you're basically at C/C++ level - except that there's a clearly delimited scope of where extra caution is required - in an overall structure that's probably a lot easier to reason about than any C/C++ program of similar complexity.
Rust Ownership and Borrowing
38:21
Doug Milford
Рет қаралды 66 М.
The Rust Programming Language
59:40
Google TechTalks
Рет қаралды 97 М.
Khóa ly biệt
01:00
Đào Nguyễn Ánh - Hữu Hưng
Рет қаралды 21 МЛН
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 13 МЛН
I’m just a kid 🥹🥰 LeoNata family #shorts
00:12
LeoNata Family
Рет қаралды 20 МЛН
I CAN’T BELIEVE I LOST 😱
00:46
Topper Guild
Рет қаралды 82 МЛН
Rust and RAII Memory Management - Computerphile
24:22
Computerphile
Рет қаралды 218 М.
Stanford Seminar - The Rust Programming Language
1:05:15
Stanford Online
Рет қаралды 58 М.
Niko Matsakis - Rust: Putting Ownership to Use
38:19
Curry On!
Рет қаралды 17 М.
How Rust Views Tradeoffs
46:34
InfoQ
Рет қаралды 32 М.
Rust Lifetimes
26:52
Doug Milford
Рет қаралды 50 М.
Linus Torvalds On Future Of Desktop Linux
44:18
TFiR
Рет қаралды 356 М.
The Talk You've Been Await-ing for
49:58
InfoQ
Рет қаралды 62 М.
Rust Programming Techniques
1:32:02
LinuxConfAu 2018 - Sydney, Australia
Рет қаралды 95 М.
ARRAYLIST VS LINKEDLIST
21:20
Core Dumped
Рет қаралды 52 М.