Considering Rust

  Рет қаралды 191,087

Jon Gjengset

Jon Gjengset

Күн бұрын

The Rust programming language has become a serious contender in the space of "systems" programming languages, and has recently been adopted by many of the tech giants for "serious" projects. In response to this, more companies are now considering whether they too should add Rust to their tech stack. This talk hopes to help you make that decision. We go through how the language compares to many current alternatives and what the language has to offer, but also what it's primary drawbacks are and its long-term viability prospects.
You can find the slides here jon.thesquarep..., or in PDF format here jon.thesquarep....

Пікірлер: 304
@ronlobo707
@ronlobo707 4 жыл бұрын
Great stuff, thanks for putting this together. Only thing I'd improve here is to normalize the video's audio as the volume fluctuates a lot.
@jonhoo
@jonhoo 4 жыл бұрын
Yeah, I know, it's not great. I tried running a couple of volume normalizers over it, and it didn't seem to help. Not entirely sure why. I think what happened was that there was someone manually controlling the audio levels during the presentation, and I guess they got it very wrong at times..
@MendeltSiebenga
@MendeltSiebenga 4 жыл бұрын
@@jonhoo Sounds like someone messed up the settings on a compressor in the signal chain and turned the attack and release times all the way up. Let me know if you still want to fix this. I have some experience mixing down audio for podcasts and can probably make this better.
@jonhoo
@jonhoo 4 жыл бұрын
@@MendeltSiebenga Thanks, I appreciate that, but sadly I can't replace the audio track on a KZbin video after the fact, so not much to do about it at this point. I suppose I could upload a new version and point people to it, but not sure that's worth it.
@MendeltSiebenga
@MendeltSiebenga 4 жыл бұрын
@@jonhoo yeah, its a bit annoying but still pretty comprehensible. Not worth re-uploading. And the contents of the presentarion make up for the audio 😁
@jonhoo
@jonhoo 4 жыл бұрын
For what it's worth, I've added a lavalier recorder to my Amazon wishlist to ensure that all future talks will have proper sound! 😅 www.amazon.com/hz/wishlist/ls/EI8GP25AL8FU?ref_=wl_share
@தமிழோன்
@தமிழோன் 4 жыл бұрын
I’ve written a lot of C, C#, JavaScript, and TypeScript code. I’ve also briefly used Java, Python, Swift, and Golang. But man, Rust is the most elegant language of all.
@cowslaw
@cowslaw 2 жыл бұрын
@Rana-yk6xn
@Rana-yk6xn Жыл бұрын
This is great! And it was two years ago already! How do you feel now? I'm still in my first months into Rust and i've been feeling so happy with my choice!
@aftalavera
@aftalavera 11 ай бұрын
You just meant woke! Be concise!
@diarmaidmac2149
@diarmaidmac2149 4 жыл бұрын
I have watched a few of Jon's videos...man you have a serious aptitude for programming especially with Rust. Look forward to more videos popping up on the web from this guy!
@jonhoo
@jonhoo 4 жыл бұрын
Haha, thank you, I appreciate that!
@kehoste
@kehoste 4 жыл бұрын
Best Rust talk I've seen up to now, really motivates me to spend more time on working with Rust...
@zyansheep
@zyansheep 3 жыл бұрын
@Cosmo Kramer ...and use a generous amount of *?*
@tomjoy3538
@tomjoy3538 3 жыл бұрын
@Cosmo Kramer ooooooooooooooo
@tomjoy3538
@tomjoy3538 3 жыл бұрын
@Cosmo Kramer ooooooooooooo
@tomjoy3538
@tomjoy3538 3 жыл бұрын
@Cosmo Kramer y
@tomjoy3538
@tomjoy3538 3 жыл бұрын
@Cosmo Kramer o
@karsten600
@karsten600 Жыл бұрын
I'm learning rust atm and I've watched a couple of your videos by now. I'm impressed with your articulation, pronunciation, delivery and knowledge of Rust. You'll be the first person I'd recommend to anyone interested in learning the Rust language. Stay awesome, Jon! 🌻🌞
@sandipndev
@sandipndev 10 ай бұрын
I fully relate.
@PaulSebastianM
@PaulSebastianM 8 ай бұрын
He's a computer science PhD, **with a KZbin channel**! 😇
@SmitPatel-or6rq
@SmitPatel-or6rq 4 жыл бұрын
I really like how this guy explains stuff
@StefaNoneD
@StefaNoneD 4 жыл бұрын
Yes, he's absolutely accurate in describing things! This accuracy is really, really rare!
@JannisAdmek
@JannisAdmek 3 жыл бұрын
me too, super clear and easy to follow :)
@kevin5475845
@kevin5475845 Жыл бұрын
i've been reading rust on/off for a long time and finally bit the bullet. tried it and the compiler helps so much and is also helpful as f. my first project was a big mess with a lot of clones. then i rewrote it in a much better way after more reading and ran perfectly. i've mostly been programming C# and some C++ too. wouldn't say i'm advanced c++ but knew enough to use references and pointers easily and add libraries without problem and use them. i shot myself in the foot sometimes with c++ but rust feels a lot better. get it to compile and follow their rules and it just works. i recommend using clippy in the beginning too. steep intro curve but worth it
@kevinmcfarlane2752
@kevinmcfarlane2752 Жыл бұрын
Somewhat similar to me. I didn't use clone but my initial rewrite of a C# project wasn't in the form I wanted it. But a year later I revisited it after having worked my way through a fair bit of Rustlings and last week I was able to adapt it to the form I originally wanted (with interfaces -> traits). The compiler certainly helped!
@leonie9248
@leonie9248 3 жыл бұрын
Very good talk. Unfortunate audio but still absolutely worth it.
@michalkandulski3748
@michalkandulski3748 2 жыл бұрын
As an experienced C/C++/Python programmer, I have to admit this video makes me really want to learn and use Rust. Thanks a lot!
@wanderlustfunk
@wanderlustfunk 2 жыл бұрын
Rust is asking for it :'D
@kevin5475845
@kevin5475845 Жыл бұрын
if you haven't yet. try it. it's a steep intro because of the compiler slapping your hands constantly because of all safety checks and working a bit differently. but after wards. it's really good. i've found C++ to be annoying to type in because of header/source and then all the ways to shoot yourself in the foot. python i guess kinda like my C# knowledge but i still like rust more so far even though i'm so far a kinda newbie more
@老夏-u1q
@老夏-u1q 4 жыл бұрын
I am a student from China . I can tell from the video that you are definitely a geeker, if your video could be watched in my country , you will be popular very quickly. However not every chinese student who learn Rust can watch such nice videos.
@Bomag
@Bomag 4 жыл бұрын
Why not ask Jon if you can mirror this video but voiced over or subtitled in Mandarin? I doubt he'll have an issue with that.
@Stephanie-pv4hf
@Stephanie-pv4hf 4 жыл бұрын
一起学
@Stephanie-pv4hf
@Stephanie-pv4hf 4 жыл бұрын
老夏 同学你有学习群么?
@chsblue2
@chsblue2 3 жыл бұрын
One can feel your personal enthusiasm and joy you had while working with the language. Wants me to start right away. Very nice. Thank you, Jon!
@thomasskarshaug7374
@thomasskarshaug7374 4 жыл бұрын
Thanks for the great video Jon! This is truly a great resource to share with others who are not entirely familiar with Rust when arguing for using Rust in a project.
@GenusvProgramming
@GenusvProgramming 4 жыл бұрын
This is an awesome talk! How can someone not like this video?
@bqwood
@bqwood 4 жыл бұрын
While the audio is not great, it in no way hampers hearing and comprehending what is being said. I heard and understood every word, and I thought the content was excellent.
@Iuckystrike
@Iuckystrike 3 жыл бұрын
I will listen to this advice and see how far I can get with Rust in a week.
@cb2738
@cb2738 3 жыл бұрын
how far did you get?
@oscarfernandez8791
@oscarfernandez8791 4 жыл бұрын
Awesome talk! Thank you for putting it together! Rust has been on my radar for a long time, but after this presentation I'll definitely going to commit to learn it.
@tomasz-waszczyk
@tomasz-waszczyk 3 жыл бұрын
Really good explained Rust language, need to watch the presentation once more time. Thanks!
@diarshukor9879
@diarshukor9879 3 жыл бұрын
I enjoy the elaborate character of your presentation and something I would do, so it's highly skilled. Good job!
@ts-ny6mx
@ts-ny6mx 4 жыл бұрын
In Rust we trust!
@y1ink
@y1ink 4 жыл бұрын
Most loved language 6 years in a row
@legorockfan9
@legorockfan9 Жыл бұрын
Wow, testing the docs code is brilliant
@toddfulton2280
@toddfulton2280 4 жыл бұрын
I like that Rust has Algebraic Datatypes, but they are by no means a "Modern" language feature, they've been around since the 70's.
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
Modern by systems language standards ;)
@gianni50725
@gianni50725 2 жыл бұрын
Unfortunately ADTs and their friend the match statement significantly increase compile time (the latter being NP-hard), so even though it was technically done around the 70s it didnt become practical until much later. I still love them though.
@thingsiplay
@thingsiplay 3 жыл бұрын
I really would like to listen to this talk (I already did on another of you), but the changing audio level back and forth is just too bad. Nothing against your talk, just the technical issue here that hinders me listen to it. I like your talks so far.
@jonhoo
@jonhoo 3 жыл бұрын
Yeah, it's really bad, I'm sorry. I had a mic and everything, yet for whatever reason the audio file the venue ended up supplying me with was this weird recording of a web meeting view of the presentation. My recommendation would be to lower the volume and enable subtitles (which I've written). The audio also gets slightly better after a while.
@thingsiplay
@thingsiplay 3 жыл бұрын
@@jonhoo This is great! I didn't even think about subtitles and that you have written them manually makes it very valuable. Thank you for all the efforts. I am now watching/listen/reading the talk now and it is very interesting. Rust is somewhat revolutionary and I can imagine 40 years from now people won't even understand how programmers in the past could even write unsafe code.
@yy3617
@yy3617 3 жыл бұрын
This talk is REALLY convincing
@ozanmuyes
@ozanmuyes 4 жыл бұрын
Great talk, I'm sold.
@jacklong2182
@jacklong2182 3 жыл бұрын
Thanks for giving such wonderful explanation.
@richard1598
@richard1598 4 жыл бұрын
Hi thanks for nice presentation :) Just one thing I wonder: is there a reason, that an extern marked functions still have to use the no_mangle construct instead of having this sort of auto-set? As some developer I generally do not want to be exposed to compiler-interna (i.e., I don't want to know that the compiler mangles normally as long as I don't really need to). I see no reason why external identifiers should be mangled ever?
@jonhoo
@jonhoo 4 жыл бұрын
That's a good question! The same question was raised back in the day I discovered: github.com/rust-lang/rust/issues/11089, and the decision not to have no_mangle be the default was decided in this 2014 meeting: github.com/rust-lang/meeting-minutes/blob/master/weekly-meetings/2014-01-21.md#no_mangle-for-extern-fns. To quote: "because it breaks the module system. if libraries A and B both define extern functions foo, if you make no_mangle automatic/implcit, then library C cannot link againt A and B simultaneously".
@richard1598
@richard1598 4 жыл бұрын
@@jonhoo Thanks for the research. Although, I don't really understand the reasoning. If two libraries would expose the same function they would "no_mangle" them anyways, having the same problem. Also I don't see how an external library wants to link against a mangled function. Isn't the whole purpose of no_mangle to enable this without recovering the changed name?
@jonhoo
@jonhoo 4 жыл бұрын
Yeah, I'm not sure I completely follow it either. I think it comes down to whether extern "C" (or even other externs) without #[no_mangle] is ever useful. I can't immediately think of a use-case, but I also don't work a lot on the FFI side of Rust development. May be worth asking over on the internals forums at internals.rust-lang.org/ for a better answer!
@_myron
@_myron 4 жыл бұрын
If libraries have to be compiled from source does that means people cannot publish proprietary libraries?
@jonhoo
@jonhoo 4 жыл бұрын
Correct. Or rather, you're in the same position as with C++. You can't publish proprietary templates, since the compiler needs the code that is templated to instantiate the template for new types/values. Anything you can expose through the C ABI (so, for example, no generics) you can publish as shared libraries/object files.
@lyingcat9022
@lyingcat9022 4 жыл бұрын
My man should be in sales! He could sell a lead weight to a drowning man.
@sjatkins
@sjatkins 3 жыл бұрын
Following compiler errors until it compiles again when refactoring completely and utterly sucks. That is donkey work you want the compiler or IDE, something on the computer, to do for you. Programmer productivity is every bit as important as all the speed and safety. Also it is a LOT more safe to not have to do this sort of thing by humans trudging through it.
@jonhoo
@jonhoo 3 жыл бұрын
The IDE can do much of it for you in Rust too, that's not quite what I was getting at. Instead, the fact that so much is checked at compile time in Rust means that even if you have to make large changes (maybe even tool assisted), it's much easier to be confident that you didn't miss something, because the compiler will probably tell you.
@anthonytonev1357
@anthonytonev1357 3 жыл бұрын
I want to use it but I can't stand its cryptic syntax and overuse of symbols and wierd prebuild names.
@jonhoo
@jonhoo 3 жыл бұрын
Syntax is tricky, because you sort of need syntax to be able to express additional concepts in the language. For example, Go has simpler syntax than Rust, but it also does not have many of the features that Rust has. Generics for example _basically_ requires introducing syntax. I think Rust strikes a good balance, but it's true that there is some syntax you'll have to get used to when you start out. Overuse of symbols is related to this, though I don't think Rust is a particularly egregious offender there? Not sure what you mean by "weird prebuild names"? Rust mangles names by default, that's true, but that's a very common (and sane) practice these days in modern languages.
@alirezanet
@alirezanet 3 жыл бұрын
great talk thanks jon
@AMFLearning
@AMFLearning 2 жыл бұрын
#amflearningbydoing #amflearning #rust is awesomeeee
@thegeniusfool
@thegeniusfool 2 жыл бұрын
Wave sounds. Sad when a talk seems quite nice. Enjoy!
@judef
@judef Ай бұрын
The audio is really in need of a compressor
@rodarmor
@rodarmor 4 жыл бұрын
This is a great talk. I appreciate that you started it in such a measured, polite way. I would have been like "Ayoooo, I'm here to tell you that you should use Rust, and that the language you're using is probably trash. Like straight dog shit bro. JavaScript: Trash. C: Trash. C++: Epic Trash. Java: Bootlicking trash. Haskell: You get a pass. Python: No types, intractable, total trash…"
@anthonyvays5786
@anthonyvays5786 4 жыл бұрын
cringe
@BrunodeSouzaLino
@BrunodeSouzaLino 4 жыл бұрын
Rust is the only language that's verbose and terse at the same time.
@gareginasatryan6761
@gareginasatryan6761 4 жыл бұрын
Verbose is not always a bad thing. Powershell is a heck a lot more verbose than bash, but it’s more readable and easier to write.
@guilherme5094
@guilherme5094 2 жыл бұрын
👍
@boot-strapper
@boot-strapper 4 жыл бұрын
ok but what about nodejs
@martinsgiroux
@martinsgiroux 4 жыл бұрын
10 minutes in and you talk about Rust vs other languages by stating Rust's strengths but not its weaknesses. Is Rust's learning curve as small as Python and can you develop projects as fast? Do I have the same ML/DL infrastructure? Is the library infrastructure as complete as Java's or C's? You're describing it as the Superman of languages. Don't take me wrong, I what I've seen I like and I will learn it. But I'd like to see a 'vs' that's more balanced.
@jonhoo
@jonhoo 4 жыл бұрын
All of that is covered in the tail end of the talk :)
@akj7
@akj7 4 жыл бұрын
8:25 Please do not mix C and C++ like so. I am watching this talk because everywhere people seem to be praising Rust and i still couldn't understand why, mainly programming in C++. Except for the dependency management, i understand and don't care about every other issue on the list. If i were to start listing the advantages C++ has over Rust, the list would be longer.
@jonhoo
@jonhoo 4 жыл бұрын
I think writing up such a list would be very helpful to the discussion, if only so that we can give more nuance to these points. Some of your perceived advantages to C++ over Rust (I presume) may also be due to relative unfamiliarity with Rust :) I find it very surprising that you do not care about the other items in that list, so if you could explain why that is, that would also be helpful.
@climatechangedoesntbargain9140
@climatechangedoesntbargain9140 3 жыл бұрын
pretty much everything holds for C++ as well, especially including memory and thread safety, compiler errors, macros, ... I have a (modern) C++ background and am well aware of CPP Core Guidelines as well as Herb Sutters attempts to make C++ safer. Though C++ has some nice stuff (in the pipeline), would be nice to see some of it in Rust. We likely will never see Rusts safety in C++ though
@sne4ky647
@sne4ky647 4 жыл бұрын
this talk have plenty of misleading and wrong statements
@jonhoo
@jonhoo 4 жыл бұрын
Please do enumerate them and I'll do what I can to elaborate.
@sne4ky647
@sne4ky647 4 жыл бұрын
​@@jonhoo 1- A developer Might miss runtime debugging ! Might !! 2- A lot of adoption by big companies: Please provide your definition for the phrase "A lot of Adoption", Then give examples, because I see no adoption beyond Discord use case, and the other Dropbox one, 3- 3rd year in a row most beloved PL in SOF survey ! this is mysterious and not your fault but SFO one : the great deviation in comparison to other PL due Rust is mostly used by Hobbyists who chooses to use it, and if they didn't like it they change it in a blink , not the case in the real job world where changing the tech stack isn't much of an option , so we see many people works with PL they don't like
@jonhoo
@jonhoo 4 жыл бұрын
1. I mention lack of runtime debugging as a drawback in the talk, so not sure how that's misleading? You also do get the same kind of runtime debugging as you get in C/C++ using tools like gdb. 2. Many companies are using Rust in production these days, as I mention in the talk. www.rust-lang.org/production/users has a long list. Beyond that list, Amazon is using it for their new light-VM initiative firecracker-microvm.github.io/, Microsoft for parts of Azure thenewstack.io/microsoft-rust-is-the-industrys-best-chance-at-safe-systems-programming/, Facebook for their Libra blockchain github.com/libra/libra, and Google for their new Fuschia mobile operating system fuchsia.dev/. If that doesn't count as "a lot of adoption" and "serious company investment", then I don't know what does? 3. It is clearly not true that Rust is primarily used by hobbyists if you look at the data. Also, from the uptick in adoption of the past few years, if your hypothesis was true that "professionals" did not like the language, the love of the language should have gone _down_ as industry adoption goes up. That is not the case.
@climatechangedoesntbargain9140
@climatechangedoesntbargain9140 3 жыл бұрын
@@sne4ky647 2 - Microsoft: Rust for Windows
@octowuss1888
@octowuss1888 4 жыл бұрын
Anyone that equates C and C++ together is not a C++ programmer! They are very different languages that just happen to share a curly bracket syntax. Most of the disadvantages listed for C++ do not apply to modern C++ (C++20) with proper coding standards and compiler options in place. I've lost count of the number of trendy niche languages that have been touted as better than C++ (Anyone remember D?) And yet C++ continues to evolve and get stronger, whereas most of these other languages have not grown very much. Rust is the same. Ten years from now it will still be niche (or will have died), whereas C++30 (or whatever version) will still be widely used. Sure Rust is better than C. However, if you know C and want a better C then learn C++20!
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
C and C++ are different but you can still dislike both and be a systems developer
@bytefu
@bytefu 3 жыл бұрын
Ok, let's wait until 2030 and see what language fares better. I cannot make any assumptions about the future, but I have a strong feeling that C++ will become even more complex and complicated, as the lang devs try to fit square pegs into round holes, and many users will switch to other languages, not necessarily Rust. Or maybe the devs will finally decide to drop the infamous backwards compatibility and redesign C++ as a really nice language? Probably not.
@climatechangedoesntbargain9140
@climatechangedoesntbargain9140 3 жыл бұрын
it's like next year will be the year of Linux on desktop computers
@bytefu
@bytefu 2 жыл бұрын
@Oddik Aro What do you mean, you cannot immediately see that traits have methods and structs have fields? That's gotta be you personal issue, I have never had any problem with that. You wanna see a language that's really hard to read? Try any dialect of LISP 😁 Personally, I love Rust's syntax, and I've seen pretty much everything, from very simple ones, like LISP, to very complicated, like C++. Having some background in Standard ML and Haskell definitely affected my ability to read Rust. As for Hungarian notation, I resent it in any form, because it does not provide any valuable information that I cannot immediately discover myself in a decent IDE. By the way, if someone uses anything other than a decent IDE to write code, while being able to do so, and then changes his coding style to accommodate for his shitty software, I resent that person too. Sorry for rambling, that's just how I talk sometimes.
@bytefu
@bytefu 2 жыл бұрын
@Oddik Aro I was responding only to the parts of your comment, with which I don't agree. Maybe that's slightly unfair and seems too aggressive, I admit that. Well, anyway, the syntax ship has sailed. I am pretty sure that in 20 years we will see Rust 2 or something like that, which will fix the rough edges, including syntax. As for present Rust, I doubt its syntax can be changed much without breaking existing code, even with editions, and strongly suspect that the vast majority of syntax improvements will be additive in nature.
@TheRealBlackspawn
@TheRealBlackspawn 4 жыл бұрын
@52:10 It's simply wrong what you're saying here. Of course Rust is object oriented! Just because a language doesn't have classes doesn't mean it's not OO. You're mixing things up here. Another example for OO without classes would be JavaScript. Otherwise great introduction / overview!
@panstromek
@panstromek 4 жыл бұрын
Rust is not really OO, it doesn't enforce any specific design pattern too much. It also lacks lot of typical OO features, like inheritance. They even address this on their website
@TheRealBlackspawn
@TheRealBlackspawn 4 жыл бұрын
@@panstromek While OO does work differently in Rust compared to other languages, saying that Rust is not / does not support OO is terribly misleading, especially in an introductory talk like this.
@TheRealBlackspawn
@TheRealBlackspawn 4 жыл бұрын
@@panstromek Check the docs: doc.rust-lang.org/book/ch17-00-oop.html
@panstromek
@panstromek 4 жыл бұрын
@@TheRealBlackspawn I guess you have point. On the other hand, it might set better expectations, because trying to write classic OO people are used to is rather painful in Rust.
@TheRealBlackspawn
@TheRealBlackspawn 4 жыл бұрын
@@panstromek Sure, but to be honest, writing pretty much ANY kind of code in Rust like you're used to is painful at first. :D Downright saying that Rust does not support OO in an introduction to the language may very well turn people away from trying Rust for all the wrong reasons. Instead, why not provide a brief overview of what OO features are and aren't available?
@padraicfanning7055
@padraicfanning7055 4 жыл бұрын
0:17 - So if Rust is an *Option,* that means that we can either use *Some* or *None.*
@sriramkota
@sriramkota 4 жыл бұрын
took me a second to unwrap that...lol
@uranixcz
@uranixcz 4 жыл бұрын
@@sriramkota That was really unEXPECTed.
@clitaiulian4497
@clitaiulian4497 4 жыл бұрын
Be careful, Rust is watching every *move* you make :)
@pictureus
@pictureus 4 жыл бұрын
@@clitaiulian4497 and every thing you *take*
@WouterStudioHD
@WouterStudioHD 4 жыл бұрын
@@sriramkota For me it was no match
@snarkyboojum
@snarkyboojum 4 жыл бұрын
Excellent overview. Perfect for sharing with my colleagues and friends who are already very competent in another language, but are Rust-curious. Thank you.
@YuriySolodkyy
@YuriySolodkyy 3 жыл бұрын
It's nice that the fact that Rust has a great regex library is mentioned in drawbacks section.
@kernel2006
@kernel2006 4 жыл бұрын
Hey, it's the guy from the Missing Semester lectures. Thanks for the talk!
@sagarladla
@sagarladla 3 жыл бұрын
You remembered. Thanks
@guillaumebalaine6166
@guillaumebalaine6166 4 жыл бұрын
Been coding in Rust for 6 month now, I use it even for things it's not good at, I don't really care.
@climatechangedoesntbargain9140
@climatechangedoesntbargain9140 3 жыл бұрын
lol
@ximengxo
@ximengxo 3 жыл бұрын
Great info about rust. I'm used to C++ and have been learning rust for around two months, and I find this very clear in explaining rust's concepts and differences compared to other languagues (and why they are so)
@shirshak6738
@shirshak6738 4 жыл бұрын
wow jon this will inspire people to use rust
@tango2olo
@tango2olo 4 жыл бұрын
“Simplicity is the ultimate sophistication.”
@TheMrKeksLp
@TheMrKeksLp 4 жыл бұрын
Just like "Good artists copy, great artists steal" that quote is true but hard to actually understand. I mean, just take a look at Go for an epic misinterpretation of the sophistication of simplicity
@ahmadhassan8128
@ahmadhassan8128 4 жыл бұрын
I am a happy rust programmer :)
@streetwear37
@streetwear37 4 жыл бұрын
The borrow checker is only hard if you are used to write Imperative and OO code. For Functional programmers this I still a less strict language since mutability are aloud
@streetwear37
@streetwear37 3 жыл бұрын
@FichDich InDemArsch I didn't say it was functional.. I'm just comparing the typechecker to those of the ML family
@Kaslor1000
@Kaslor1000 3 жыл бұрын
I wish all programmers that hold tightly to C++ would watch this, the world could be a better place if people switched from C++ to Rust
@boroborable
@boroborable 4 жыл бұрын
audio dynamics are so bad never seen anything like that. its like sin function applied to dynamics for the whole talk.
@jonhoo
@jonhoo 4 жыл бұрын
Yeah, it's awful. Nearest as I can tell, what I was sent was almost a screen recording of the web broadcast of the talk. And the mic itself seems to have had some very aggressive noise cancellation/dynamic audio tuning applied to it. For what it's worth, I now have my own lapel mic that I'll be using when I give talks in the future :)
@klirmio21
@klirmio21 9 ай бұрын
The only problem with rust is lack of vacancies
@nyurik
@nyurik 2 жыл бұрын
I think there is a bug at [16:00] -- match decompress() has a match guard (if e.is_eof()) -- which means the match statement does not cover every case - it shouldn't compile.
@Bkgoodman11
@Bkgoodman11 2 жыл бұрын
ALL Rust intros should be like this: Focus on the purpose and benefits - rather than the syntax!
@alphabetsalphabets5242
@alphabetsalphabets5242 3 жыл бұрын
19:14 in and it's doing a good job of convincing me considering I'm awful at writing documentation.
@StonkeyKong
@StonkeyKong 4 жыл бұрын
Rust is incredible... finally a language with the power of C++ but modern features.
@gareginasatryan6761
@gareginasatryan6761 4 жыл бұрын
Rust isn’t really suited for large codebase GUI apps because OOP lends itself better in that setting. But as a C replacement, definitely
@firexgodx980
@firexgodx980 4 жыл бұрын
@@gareginasatryan6761 is rust not object orientated?
@gareginasatryan6761
@gareginasatryan6761 4 жыл бұрын
firexgodx980 not according to its devs.
@swapode
@swapode 4 жыл бұрын
​@@gareginasatryan6761 Your statements are misleading, if not outright false. Rust is a multiparadigm language, one of the paradigms most definitely is OOP. It's just not dogmatic about it and doesn't follow every idea that other languages had (not least because the last few decades have taught us that some of these ideas were terrible). You want to work with fully encapsulated, virtually dispatched objects that live on the heap? Go ahead, it's your choice. You'll probably realize that most of the time you don't actually need the overhead that comes with that and instead organically reserve it to the parts where it's actually useful. The best thing is, Rust's strictness about things like ownership, mutability and the like enforces OOP best practices. You, and everybody else on the project, will actually use things like dependency injection instead of just talking about it and then still using circular references everywhere because it's more convenient... and we're pretty sure the GC will catch that (or: We can just fix it when we get segfault), right? And this will never run concurrently, right? Please. The "downside" is that you'll get punished if you don't understand the problem you're working on and its design requirements before you start typing. Of course you'll also get punished if you do the same in something like Java but in a less concrete way where you kinda know that your code smells but it's far less obvious that a major refactor is the only way out.
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
@@gareginasatryan6761 Don't forget that inheritance OO doesn't lend itself to GUI particularly well either
@dandymcgee
@dandymcgee 4 жыл бұрын
Man.. I saw the volume complaints in the comments and skimmed the video thinking "I don't know what they mean, seems fine to me". But sitting here now trying to listen to this is extremely frustrating and distracting. I really hope someone can figure out how to fix the leveling in this video because it's currently pretty damn unbearable. I'm about 4 minutes in and I honestly just can't listen to this anymore. It's like, hurting my brain. 😢 Hopefully you have better luck with your next talk. I'll subscribe and hope for more in the future. Thanks for sharing anyways.. hopefully some other people can work their way through the audio and get something useful out of it.
@jonhoo
@jonhoo 4 жыл бұрын
Yeah, it's really unfortunate. They had proper audio equipment at the venue, but somehow the recording didn't go as planned, so all I was left with was this recording of the webcast of the talk. And, sadly, it turns out that it's quite hard to clean it up. Even if I could somehow though, KZbin also doesn't let me replace the audio track, so I'd have to upload a new video altogether. I guess here's to hoping I'll do the entire talk again some time! I think it's a little easier on your ears if you keep the volume a little lower, but it's still not great..
@di380
@di380 7 күн бұрын
Rust has been trying to solve the old programming dilema that back in the 90s JAVA promised to solve. I have used a numbers of programming languages and there is always one language I keep going back to and that language is C. The reason being that other than assembly language you can find a C compiler for it I almost all cases. Again I don’t think languages should be chosen solely on preference but availability and flexibility should be considered before starting any project
@jujijiju6929
@jujijiju6929 4 жыл бұрын
This is well done, explains things without assuming much prior knowledge. Good stuff!
@MarkusBurrer
@MarkusBurrer 3 жыл бұрын
in my opinion, no OOP is not a drawback
@jatin_nagar
@jatin_nagar 4 жыл бұрын
Please make learning videos on rust.
@FlaviusAspra
@FlaviusAspra 4 жыл бұрын
He does. Check out his yt profile.
@streetwear37
@streetwear37 4 жыл бұрын
Rust is in few words, a imperativet language that use study of programming language (mostly functional) from the læst 40 years and use it. I still has to ufølsom what is the difference are in "strong" typing in C# and java and strong typing in ML language like F#, Haskell, sml and now Rust.
@fsouza
@fsouza 4 жыл бұрын
This dude has used Python a while ago... Twisted lol Amazing talk btw.
@JeremyChone
@JeremyChone 3 жыл бұрын
What a great pres!
@marlls1989
@marlls1989 3 жыл бұрын
I missed a comparison with Haskell, IMHO it is the language most similar to rust. Except that rust solves the problem of data copying in Haskell by allowing controlled mutation.
@4pmvim
@4pmvim 4 жыл бұрын
Is rust friends with category theory ?
@huihuihuihuihuihui1
@huihuihuihuihuihui1 4 жыл бұрын
To some extent. The type system supports type inference in the Hindley-Milner style, monadic operators (such as the question mark (?) operator) and combinators are available for most of the built-in algebraic types such as Option or Result. Though type system is not as advanced as in certain function programming languages and currently lacking Generic Associated Types, Dependent Types, Higher-Kinded Types.
@sjatkins
@sjatkins 3 жыл бұрын
Abstractions that go away at compile time hurt reflection and anything cool you could do with it. That said I could use a more modern and clean system programming language in my kit.
@bobweiram6321
@bobweiram6321 2 жыл бұрын
Ada is a lot older than both Rust and even C++, but it beats Rust at its own game. It's laughable rust can claim it doesn't have nulls by calling them "none."
@gianni50725
@gianni50725 2 жыл бұрын
Ada fanboys are always odd to me, even odder than huge Rust fanboys. You’re comparing apples to oranges here. For one, while Ada is certainly better-suited for extremely security-conscious applications, it’s hard to find anything more ill-suited for building applications most businesses care about. Rust is pretty good at the latter. There’s a reason Rust has already beat Ada many times over in terms of usage, and it’s not even because Rust is all that popular, Ada is just a terrible choice for most projects while Rust is far more flexible. Imagine if you told the firefox devs who made Rust to “just use Ada” instead - now that would be absolutely hilarious. Would have fallen flat the moment they needed dynamic memory. For another, “None” is not a null-type by definition since it is out of band data. Null is usually defined as “0” but there is no such thing in Rust. The enum will wrap the data inside, like an encapsulated packet. This obviously reduces many errors that would otherwise occur and makes it easier to reason about. Anyway, Ada fanboys can keep acting bitter but if you want to make this a competition rather than a genuine discussion of each lang’s strengths, then Ada already lost outside of government projects and no amount of CS&Ding will change that.
@a314
@a314 4 жыл бұрын
Great talk. What are your thoughts on #Dlang ?
@Dazza_Doo
@Dazza_Doo Жыл бұрын
Do I need to turn down the brightness on my monitor :D I know, it's for projector ;) I have an excuse to wear my sunglasses at night, just like the song
@Holobrine
@Holobrine Жыл бұрын
What if you could compile with a runtime for rich debugging during development, but leave it out for release?
@adesharatushar
@adesharatushar 4 жыл бұрын
Immutable by default is single feature I want to learn and try Rust. Really good overview.
@auklin7079
@auklin7079 Жыл бұрын
I feel like an idiot. God I suck at programming
@kevinkkirimii
@kevinkkirimii Жыл бұрын
Is there an alien in the audio that is tapping into the talk ? I can hear some weird noises.
@anonymousmokona8541
@anonymousmokona8541 2 жыл бұрын
Who is this person licking the insides of my skull for the entire talk? xd
@DomainObject
@DomainObject 11 ай бұрын
Sold! Fantastic presentation.
@TheCocoaDaddy
@TheCocoaDaddy 4 жыл бұрын
Great video! This really has increased my interest in Rust.
@vorname1485
@vorname1485 4 жыл бұрын
I bet, when there is a security vulnerability in moria one day, it will be called balrog :D
@igorthelight
@igorthelight 4 жыл бұрын
Most likely! :-)
@vorname1485
@vorname1485 4 жыл бұрын
@@Deukapi where did you heard such a thing xD
@vorname1485
@vorname1485 4 жыл бұрын
@@Deukapi Can you elaborate this in detail :D
@StefaNoneD
@StefaNoneD 4 жыл бұрын
Best Rust talk ever, in my opinion!
@michaelrobb9542
@michaelrobb9542 2 жыл бұрын
38:33 please don't remind me of Applets man.
@vheyney
@vheyney 4 жыл бұрын
Just need a serverless framework on top of kubernetes/docker, and rust will the next language to learn (or even better, yet another kube but in rust)
@arjunyelamanchili3517
@arjunyelamanchili3517 4 жыл бұрын
knative
@luismaflorentin
@luismaflorentin 3 жыл бұрын
Hi, thanks for this wonderful masterclass, but please please if it's possible upload it again with better sound quality, only 20 minutes play and my ears can't take it anymore. Thanks!!
@jonhoo
@jonhoo 3 жыл бұрын
Unfortunately this is the audio I was provided with. I've since bought a lapel mic to use to record future talks myself rather than relying on the capture process, but there's not much to do about this one. If someone had the skills + time to clean up the audio, and it made a significant difference, I might do a re-upload, but I think the audio may just be beyond repair. My suggestion would be to run it at a lower than usual volume and then turn on subtitles :)
@luismaflorentin
@luismaflorentin 3 жыл бұрын
​@@jonhoo Ok Jon, great! I really liked your talk. Thanks!
@samuelleeuwenburg
@samuelleeuwenburg 3 жыл бұрын
@@jonhoo If you want, I can fix the audio for you. I think youtube still allows reupload of audio without needing to reupload the entire vid and lose all comments and views
@jonhoo
@jonhoo 3 жыл бұрын
@@samuelleeuwenburg No, unfortunately KZbin won't let you replace any part of the video without a reupload :'( They used to have a limited feature to do this to do soundtracks, but replacement is sadly a no-go.
@sercanyildirimtugcann
@sercanyildirimtugcann Жыл бұрын
Guys please help me. With Rust, Can I write real time notifications system with APIs or ecommerce easily? Why dont I find any ecommerce Rust tutorial from scracth? Any help would be appreciated!
@Phantom-lr6cs
@Phantom-lr6cs 5 ай бұрын
easily ? nope . rust is harder than C or C++ . cuz you need to use everything it gives and trust me it doesn't give you too much , barely it supports struct and you need impl stupid thing to connect struct and impl to each OTHER XD its boring and hard and time-consuming Xd and unless there's some real things being added up there there's no way it can be popular with its hell-ish syntax
@nomcognom2332
@nomcognom2332 5 ай бұрын
Great talk!
@superspideyx
@superspideyx 4 жыл бұрын
Dang, this seemed like a great talk but it's kinda unwatchable with the audio issues! Please fix!
@jonhoo
@jonhoo 4 жыл бұрын
Unfortunately I cannot replace the audio track on KZbin once the video has been uploaded. It's also surprisingly difficult to fix an audio stream in such a bad state as this. I now have a lapel mic of my own to properly record future talks :) I would recommend turning the volume down and enabling subtitles.
@jaysistar2711
@jaysistar2711 3 жыл бұрын
@@jonhoo I'd use a compressor.
@superspideyx
@superspideyx 3 жыл бұрын
@@jonhoo Thanks for your reply! Will try your recommendation.
@someoneelse6976
@someoneelse6976 Жыл бұрын
Thanks for the video! I highly appreciate the quality of the material you are making and sharing! And not only as a rust-learner, but also as an English learner. 🙃
@MyNisDavid
@MyNisDavid 3 жыл бұрын
Do you know all youtubers all the time finish videos with "Hit like and subscribe"? So I did it right now and it's maybe third time in all time me being on youtube.
@ian3084
@ian3084 4 жыл бұрын
Huge C++ libraries are a bother in C++ itself
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
True lol
@igorthelight
@igorthelight 4 жыл бұрын
I really like how he say: GO AWAY! :-)
@michaelchen591
@michaelchen591 4 жыл бұрын
Thank you for all your videos :)
@sadeghmirzaee8258
@sadeghmirzaee8258 2 жыл бұрын
Very informative! I'm started to like to learn Rust Lang and this Presentation was very awesome and helpful. Thank you!
@samferrer
@samferrer 2 жыл бұрын
I would not call them drawbacks, but dev opportunities
@arunnair5534
@arunnair5534 3 жыл бұрын
You are a rock star. Thanks for giving such wonderful explanation, this could be the future of languages. A evolution that #React #ReactJs brought.
@lyingcat9022
@lyingcat9022 4 жыл бұрын
Jon is so right through! I’m a bit of a language connoisseur. I’ve researched the inner workings of languages like JavaScript, C#, Python, Java, Haskel, Elm, C, Assembly and even x86 and RiskV instruction sets. Rust is the most exciting language to work with so far! Elm is another exciting one as a functional language for the frontend.
@arnox4554
@arnox4554 4 жыл бұрын
How do you think it would do in terms of rather low-level software like drivers, OSes, and software for embedded devices?
@dynfoxx
@dynfoxx 4 жыл бұрын
@@arnox4554 it works well. Not perfect but there is nothing stopping the core language from running there. You may need to port over the std. Or use nonstd libraries.
@ehsankhorasani_
@ehsankhorasani_ 2 жыл бұрын
Rust book has an object oriented in Rust chapter
Rust & Zig Combined • Richard Feldman • GOTO 2023
45:34
GOTO Conferences
Рет қаралды 75 М.
Real Programmers Write Machine Code
26:25
ThePrimeTime
Рет қаралды 112 М.
The joker favorite#joker  #shorts
00:15
Untitled Joker
Рет қаралды 30 МЛН
HAH Chaos in the Bathroom 🚽✨ Smart Tools for the Throne 😜
00:49
123 GO! Kevin
Рет қаралды 15 МЛН
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 17 МЛН
The Rust Standard Library is SO Confusing...Until Now!
11:45
Travis Media
Рет қаралды 28 М.
Microservices are Technical Debt
31:59
NeetCodeIO
Рет қаралды 330 М.
Oxidize Conference: How Rust makes Oxide possible
50:18
Oxidize Conference
Рет қаралды 4,5 М.
What Makes Rust Different?
12:38
No Boilerplate
Рет қаралды 202 М.
why rust libraries may never exist.
7:26
Low Level
Рет қаралды 257 М.
Why Rust is NOT a Passing Fad...
8:54
Travis Media
Рет қаралды 37 М.
Rust Before Main - Ryan Levick - Rust Linz, July 2022
31:34
Why JavaScript Devs are Switching to Rust in 2024
10:35
warpdotdev
Рет қаралды 258 М.
Jon Gjengset - Towards Impeccable Rust
55:59
Rust Nation UK
Рет қаралды 29 М.
Impl Trait aka Look ma’, no generics! by Jon Gjengset
1:09:05
Copenhagen Rust Community
Рет қаралды 29 М.
The joker favorite#joker  #shorts
00:15
Untitled Joker
Рет қаралды 30 МЛН