Rust: Turtles all the way down

preview_player
Показать описание
A 10-minute lightning talk explaining two features of rust that no other popular language has.

CREDITS & PROMO
My name is Tris Oaten and I produce fast, technical videos.

Рекомендации по теме
Комментарии
Автор

ERRATA

- 6:50 - there should be no backticks in the macro, some copypaste error has happened here! (Thanks to @ilyvion on the Rust Programming Language discord for pointing this out)
- `#[derive(...)]` is an attribute that executes macros to perform the derives (thanks to @TheDestroyer19 and /u/LoganDark for this)
- Python 3.10's case statement is actually structural pattern matching, so they didn't JUST wait for 15 years to do it, it's actually improved from Guido's original PEP
- There is ACTUALLY no Rust 2.0 because the Rust teams are strongly committed to backward compatibility. I over-stated the effect macros have on this.
- Linked lists ARE possible in safe rust, using various techniques (Box and Rc)
- rustc spends most of it's time in LLVM and not in static analysis.
- Go is not written in C++! Wikipedia confused me. It has been bootstrapped since 1.15, before it was written in C. All standard libraries including the compilers are now written in Go.

NoBoilerplate
Автор

I feel like I'm being indoctrinated into a cult - and it's working.

lolerty
Автор

You convinced me to try out Rust. I ignored it because there were a lot of people claiming "Rust will replace C", which sounded ridiculous to me. After seeing your videos I still think Rust will not replace C, but it sure as hell looks like it will replace C++.

joey
Автор

I dont write in rust, but the way its told by people is heartwarming and makes me happy that people are this enthusiastic about it

tomatocat
Автор

I recently had a very fun “turtles all the way down” realization. You have no clue how happy I was when I saw that String was just a wrapper around vec<u8> like I thought.

ladyravendale
Автор

An important thing to realise about Rust taking longer to compile is that the compiler is doing things that instead happen at runtime in almost all other languages. You are trading speed of compilation for speed of execution. And as a bonus you get to discover bugs when compiling instead of when running in production.

greyly_
Автор

Have been trying to learn Rust for a while now, and I find it hard to learn something bit by bit without knowing what the big picture is. This series had helped a lot and given me some much needed inspiration to continue.

thedeathchimera
Автор

I literally refreshed your page and saw this, thanks for the amazing content!

checksum
Автор

Rust's macro system is absolutely magical. One of the craziest things I have ever seen. I very rarely use it however, they are very difficult to build and debug.

The thing I find about Unsfe Rust and memory management in Rust is that a lot of the memory module and safe abstractions are not explained properly. You pretty much have to know what you are doing before diving in. Which usually means it is better to have some experience from writing low level C and C++ code before learning Rust.

The Rustonomicon is a great resource though. Probably the best introduction to memory management in general. Even for people learning C or C++.

thestemgamer
Автор

Love the channel, the amount of knowledge that everyone gets in 15 minutes is off the charts. Wish all the best

fixer
Автор

really like the way you present these features. As someone curious on the language, I really enjoy this type of presentation vs code examples and syntax tutorials, because it lets you see why you would even want to dedicate time to learn it in the first place.

dextrb
Автор

Please keep making these - I've been trying to figure out what language to expand my knowledge to, and your videos have convinced me to take a look into rust. It could be nice to hear your perspective and opinion about web frameworks in rust, because you seem to have a good way of highlighting the strong parts.

flipperiflop
Автор

2:35 that’s partially true. You can’t get an intrusive (non-owning) linked list or a double linked one in safe rust BUT a singly linked, owning, partially intrusive linked list is very simple and a very common structure for me to use while in the early stages of architecting my code / in non performance critical cases where there is no clear owner of the list. It’s just an Option<Box<T>> member in whatever struct you’re using and the same for wherever you’re storing the head (you can also store the head inline)

awwastor
Автор

After your first video I tried Rust for the first time... and I'm loving it! Honestly it is now one of my most favorite languages, if not the most. Before I also used Python and was very admired of Pythons simplistic nature, but always missed static typing and safety of compiled languages. But yes, it has its flaws, nothing is perfect, but I would love to do more work on Rust since it is so brilliantly and carefully designed language

capsey_
Автор

Far out. I have a language design document and I keep seeing "new, unique" language features I had "invented" in your Rust videos. Not the same implementation, but the same intent at least. Hard to gauge the veracity of this, but that's the Internet for you. As I wrote in another video, this series is inspirational. It tells me "these things can be done", or rather, "have been done".

I need to get a Rust book and look into it for real. It was on the list of Things To Read but it's now on the top of that list. Thanks for the content.

aarondcmedia
Автор

I absolutely adore this channel - Thanks for creating these videos, they soothe my mind and make me very happy about the future of Rust! Best explanation I ever saw of Macros and Unsafe Rust, well presented and to the point! Looking forward to your next one!

afg
Автор

The videos of this serie are THE content I was looking for to get onboarded to Rust... it's beautiful.
Many thanks, amazing work!

martinslns
Автор

This is a beautiful video really like how to the point and informative your writing is while still being engaging and entertaining.

Ashinle
Автор

I was gonna say you should make podcasts with that voice and saw your description - pleasently surprised :D!

somegeneralist
Автор

Haven't used rust all the much ever since I started my job. Your videos are making me want to start using it on side projects again

ericng