Considering Rust

  Рет қаралды 188,863

Jon Gjengset

Jon Gjengset

4 жыл бұрын

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.thesquareplanet.com/slide..., or in PDF format here jon.thesquareplanet.com/slide....

Пікірлер: 301
@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 3 жыл бұрын
Be careful, Rust is watching every *move* you make :)
@pictureus
@pictureus 3 жыл бұрын
@@clitaiulian4497 and every thing you *take*
@WouterStudioHD
@WouterStudioHD 3 жыл бұрын
@@sriramkota For me it was no match
@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 6 ай бұрын
I fully relate.
@PaulSebastianM
@PaulSebastianM 4 ай бұрын
He's a computer science PhD, **with a KZbin channel**! 😇
@YuriySolodkyy
@YuriySolodkyy 3 жыл бұрын
It's nice that the fact that Rust has a great regex library is mentioned in drawbacks section.
@user-vj9hb3gy6d
@user-vj9hb3gy6d 3 жыл бұрын
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 7 ай бұрын
You just meant woke! Be concise!
@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
@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
@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.
@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 :)
@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!
@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 2 жыл бұрын
Very good talk. Unfortunate audio but still absolutely worth it.
@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)
@chsblue2
@chsblue2 2 жыл бұрын
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.
@jujijiju6929
@jujijiju6929 4 жыл бұрын
This is well done, explains things without assuming much prior knowledge. Good stuff!
@diarshukor9879
@diarshukor9879 3 жыл бұрын
I enjoy the elaborate character of your presentation and something I would do, so it's highly skilled. Good job!
@GenusvProgramming
@GenusvProgramming 4 жыл бұрын
This is an awesome talk! How can someone not like this video?
@sadeghmirzaee8258
@sadeghmirzaee8258 2 жыл бұрын
Very informative! I'm started to like to learn Rust Lang and this Presentation was very awesome and helpful. Thank you!
@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.
@kernel2006
@kernel2006 4 жыл бұрын
Hey, it's the guy from the Missing Semester lectures. Thanks for the talk!
@sagarladla
@sagarladla 3 жыл бұрын
You remembered. Thanks
@MrGeissT
@MrGeissT 4 жыл бұрын
So keen to see you do another talk, Jon! Hope to be there for one someday!
@tomasz-waszczyk
@tomasz-waszczyk 3 жыл бұрын
Really good explained Rust language, need to watch the presentation once more time. Thanks!
@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 Жыл бұрын
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
@adesharatushar
@adesharatushar 3 жыл бұрын
Immutable by default is single feature I want to learn and try Rust. Really good overview.
@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. 🙃
@nyurik
@nyurik Жыл бұрын
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.
@serkanozel0987
@serkanozel0987 3 жыл бұрын
hey, good talk. I started learning rust. Looking forward to good rust content from you
@jacklong2182
@jacklong2182 3 жыл бұрын
Thanks for giving such wonderful explanation.
@user-vr7dv8yf9y
@user-vr7dv8yf9y 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 жыл бұрын
老夏 同学你有学习群么?
@doshirac
@doshirac 4 жыл бұрын
thank you, very informative overview and special thanks for being objective and including the drawbacks
@sgill4833
@sgill4833 2 жыл бұрын
This is excellent for a rust beginner! Thanks 😊
@rodelias9378
@rodelias9378 2 жыл бұрын
Thanks for such an awesome presentation!
@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.
@tango2olo
@tango2olo 4 жыл бұрын
“Simplicity is the ultimate sophistication.”
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
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
@Vagelis_Prokopiou
@Vagelis_Prokopiou 4 жыл бұрын
Great talk Jon. Thanks a lot.
@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.
@TheCocoaDaddy
@TheCocoaDaddy 4 жыл бұрын
Great video! This really has increased my interest in Rust.
@michaelchen591
@michaelchen591 4 жыл бұрын
Thank you for all your videos :)
@9739718777
@9739718777 3 жыл бұрын
Best talk on the topic, worth million views,👍
@richard1598
@richard1598 3 жыл бұрын
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 3 жыл бұрын
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 3 жыл бұрын
@@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 3 жыл бұрын
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!
@kaichaosun
@kaichaosun 4 жыл бұрын
Thanks for sharing this video.
@legorockfan9
@legorockfan9 Жыл бұрын
Wow, testing the docs code is brilliant
@streetwear37
@streetwear37 3 жыл бұрын
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
@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.
@alphabetsalphabets5242
@alphabetsalphabets5242 3 жыл бұрын
19:14 in and it's doing a good job of convincing me considering I'm awful at writing documentation.
@shirshak6738
@shirshak6738 4 жыл бұрын
wow jon this will inspire people to use rust
@DomainObject
@DomainObject 7 ай бұрын
Sold! Fantastic presentation.
@alirezanet
@alirezanet 3 жыл бұрын
great talk thanks jon
@StefaNoneD
@StefaNoneD 4 жыл бұрын
Best Rust talk ever, in my opinion!
@ivanm9674
@ivanm9674 4 жыл бұрын
Cool! Thank you
@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?
@marlls1989
@marlls1989 2 жыл бұрын
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.
@JeremyChone
@JeremyChone 3 жыл бұрын
What a great pres!
@ozanmuyes
@ozanmuyes 3 жыл бұрын
Great talk, I'm sold.
@nomcognom2332
@nomcognom2332 Ай бұрын
Great talk!
@yy3617
@yy3617 3 жыл бұрын
This talk is REALLY convincing
@Bkgoodman11
@Bkgoodman11 2 жыл бұрын
ALL Rust intros should be like this: Focus on the purpose and benefits - rather than the syntax!
@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..
@streetwear37
@streetwear37 3 жыл бұрын
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.
@gordonlim2322
@gordonlim2322 3 жыл бұрын
I know python and java but I don't understand the comparisons he is making in the start of his presentation. What topics do those concepts lie under? eg. runtime, gc, buffer overflows, data races, static typing etc.
@Marshblocker
@Marshblocker Жыл бұрын
runtime - processes that run while your program run e.g. garbage collector (gc) gc - garbage collector automatically frees unused memory in the heap buffer overflows - a rust array is guaranteed to not exceed its size at compile time data races - undefined behavior caused by multiple threads having unrestricted access to a shared resource static typing - variable types are determined and checked at compile time (its opposite dynamic typing checks variable types during runtime).
@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
@ts-ny6mx
@ts-ny6mx 4 жыл бұрын
In Rust we trust!
@y1ink
@y1ink 3 жыл бұрын
Most loved language 6 years in a row
@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 2 жыл бұрын
lol
@a314
@a314 4 жыл бұрын
Great talk. What are your thoughts on #Dlang ?
@jorickcaberio1865
@jorickcaberio1865 4 жыл бұрын
wonderful tech talk. very informative and balanced. wish rust was easier to learn though.
@driedurchin
@driedurchin 4 жыл бұрын
Been struggling for a few months, definitely worth it!
@lyingcat9022
@lyingcat9022 4 жыл бұрын
I don’t wish that :) I think it forces you to learn about and understand deeper programming and computer science concepts. Which only makes you a better all around programmer, no matter your preferred languages.
@driedurchin
@driedurchin 4 жыл бұрын
@@lyingcat9022 absolutely agree! So many things you gloss over in other language rust forces you to confront. Plus it feels great to write once you get better
@frankstevenson5013
@frankstevenson5013 4 жыл бұрын
@@driedurchin Just give it time, and don'† give up. Rust is not intrinsically complicated, but has some new ideas that takes time to learn properly.
@climatechangedoesntbargain9140
@climatechangedoesntbargain9140 2 жыл бұрын
I learned "it" (actually the concepts present in Rust) in C++ already - the hard way 😐
@timespeed1910
@timespeed1910 3 жыл бұрын
I honestly love rust and prefer it over c++ and I use C# most of the time so you can imagine that really not familiar with objects in rust since they are implemented so differently
@SolidAir54321
@SolidAir54321 3 жыл бұрын
I'm new to Rust and this is a very useful talk and well-presented. Regarding the drawbacks, it seems that the inability to have pre-compiled libraries might be a big disadvantage. It means you can't hide your source code which is what you'd want to do if you want to sell a library. It doesn't seem like generics is a good enough excuse. Couldn't you just disallow generics across a library interface? Just have a library interface essentially be like a C interface?
@jonhoo
@jonhoo 3 жыл бұрын
Oh, yeah, I think I mention this, but it may not have come across clearly: you can absolutely compile Rust down to a library that uses the C ABI. That means no generics or other Rust-isms in the interface, but it will be binary only and easy to interact with just like C libraries are.
@SolidAir54321
@SolidAir54321 3 жыл бұрын
@@jonhoo Thanks for taking the time to answer Jon. Yes, it wasn't clear to me from the presentation especially since @57:00 it says "No prebuilt libraries". After watching videos and reading about Rust for the past week I really like it a lot. But there was only one thing that really turned me off though you might consider it minor. I don't get why the creators of Rust have to force their favorite style on everyone else. I'm particularly talking about the enforcement of the Egyptian brace style which I dislike. It makes much more sense to line up braces on the left so you can see that your scopes are lined up and your eye doesn't have to go searching for the opening brace who-knows-where at the end of some line. Makes no sense. The other one is the enforcement of snake case on variable names. I've always used camel case for everything (I really dislike underlines. I don't like typing them and it's a waste of a character). Though I can probably live with that more than the brace thing. I'm aware I can get rid of the warnings using an attribute or something. But will using my own style get me ostracized from the Rust community? And I won't be able to use any of the formatting utilities. I've been doing C++ since the early 90's and traditionally you have to be able to deal with other people's style. I realize the creators of Rust are going for consistency. But I don't see the advantage of Egyptian braces over lining them up on the left.
@jonhoo
@jonhoo 3 жыл бұрын
The language doesn't require that you do either of those, and you can disable the warnings as well if you'd like. You will find that those are both pretty universal in the Rust community, but they are definitely not _enforced_ :) You can also continue to use the standard formatter by changing its settings appropriately. That all said, the Rust community does seem to favor "do whatever rustfmt says", and I think there is immense value in that. Even though it may not be your particular preference, having a single uniform style helps readability a lot (which is why Go for example does the same). As for why Egyptian style, that I couldn't tell you. Personally, I prefer to fit more code on screen, so to me the brace on an extra line is wasted space to me. The function signature is already the "start block" for the scope, so why add an additional line at that indentation level? Whether that's the reason it was chosen, I have no idea. I really hope you don't discard a language as a candidate because you don't like how it aligns braces though!
@SolidAir54321
@SolidAir54321 3 жыл бұрын
@@jonhoo "to me the brace on an extra line is wasted space to me" First, you do not need to have an extra line. Just move the opening brace to the next line at the left. Second, white space is a good thing anyway. More so when looking at someone else's code. I don't like to trust indentation only. It could be off due to extra tabs or spaces. "The function signature is already the "start block" for the scope" Well, you don't know that until you go looking for the open brace, which is what really defines the start. And it's harder to notice whether it's there or missing when it's off to the right. I wouldn't decide not to use Rust just because of formatting. Before that I'll just format it how I want unless I'm working on someone else's code in which case I'll format it like they do. Who knows, maybe I'll start a movement to change the formatting since I think I have a better argument. Now Python, that's a different story. I'm not a Python programmer. But to require a certain white-space indentation to start a block? I can't help saying that was not a good idea and I'll never use Python just for that reason. :)
@jonhoo
@jonhoo 3 жыл бұрын
A brace to the left of indented code? That sounds awful! :p I guess I just don't have problems with using indentation for this. If all your code goes through the formatter anyway, you know the indentation is always right, and never "off".
@naveendavisv
@naveendavisv 4 жыл бұрын
awesome intro for Rust
@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.
@_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.
@toddfulton2280
@toddfulton2280 3 жыл бұрын
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.
@kamilaltug5670
@kamilaltug5670 Жыл бұрын
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 Ай бұрын
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
@tanvirahmedsohag4086
@tanvirahmedsohag4086 3 жыл бұрын
Can someone please suggest link for learning rust for someone without any prior knowledge about programming.
@zokalyx
@zokalyx 2 жыл бұрын
That is hard thing to do, but if you decide to do so, good luck! This should be a good starting point: dhghomon.github.io/easy_rust/Chapter_1.html EDIT: I highly suggest you also follow along a tutorial video series, like "Let's Get Rusty"'s series: kzbin.info/aero/PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8
@tanvirahmedsohag4086
@tanvirahmedsohag4086 2 жыл бұрын
@@zokalyx thank you very much
@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.
@Holobrine
@Holobrine 9 ай бұрын
What if you could compile with a runtime for rich debugging during development, but leave it out for release?
@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
@ahmadhassan8128
@ahmadhassan8128 4 жыл бұрын
I am a happy rust programmer :)
@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 3 жыл бұрын
@@gareginasatryan6761 is rust not object orientated?
@gareginasatryan6761
@gareginasatryan6761 3 жыл бұрын
firexgodx980 not according to its devs.
@swapode
@swapode 3 жыл бұрын
​@@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
@lyingcat9022
@lyingcat9022 4 жыл бұрын
My man should be in sales! He could sell a lead weight to a drowning man.
@AMFLearning
@AMFLearning 2 жыл бұрын
#amflearningbydoing #amflearning #rust is awesomeeee
@fsouza
@fsouza 4 жыл бұрын
This dude has used Python a while ago... Twisted lol Amazing talk btw.
@boroborable
@boroborable 3 жыл бұрын
audio dynamics are so bad never seen anything like that. its like sin function applied to dynamics for the whole talk.
@jonhoo
@jonhoo 3 жыл бұрын
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 :)
@Dazza_Doo
@Dazza_Doo 9 ай бұрын
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
@igorthelight
@igorthelight 4 жыл бұрын
I really like how he say: GO AWAY! :-)
@guilherme5094
@guilherme5094 Жыл бұрын
👍
@MarkusBurrer
@MarkusBurrer 3 жыл бұрын
in my opinion, no OOP is not a drawback
@ehsankhorasani_
@ehsankhorasani_ 2 жыл бұрын
Rust book has an object oriented in Rust chapter
@superspideyx
@superspideyx 3 жыл бұрын
Dang, this seemed like a great talk but it's kinda unwatchable with the audio issues! Please fix!
@jonhoo
@jonhoo 3 жыл бұрын
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 2 жыл бұрын
@@jonhoo Thanks for your reply! Will try your recommendation.
@klirmio21
@klirmio21 5 ай бұрын
The only problem with rust is lack of vacancies
@thegeniusfool
@thegeniusfool 2 жыл бұрын
Wave sounds. Sad when a talk seems quite nice. Enjoy!
@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.
@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.
@jatin_nagar
@jatin_nagar 4 жыл бұрын
Please make learning videos on rust.
@FlaviusAspra
@FlaviusAspra 4 жыл бұрын
He does. Check out his yt profile.
@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.
@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
@parthikpatel6108
@parthikpatel6108 3 жыл бұрын
What does he mean by no runtime?
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
No process that executes code on your behalf like a JVM or similar
@ian3084
@ian3084 4 жыл бұрын
Huge C++ libraries are a bother in C++ itself
@TheMrKeksLp
@TheMrKeksLp 3 жыл бұрын
True lol
@shahabshariatbagheri4274
@shahabshariatbagheri4274 4 жыл бұрын
At 8:51, I didn't really see the benefit of using RUST over C/C++, Can we say in summary it just makes the life of C/C++ developer eaiser (no buffer overflow, no null pointer, no data races) and it's not really optimizing in lower level? I mean if it is the case this doesn't really seem to be a good reason for a C/C++ master to use/move RUST instead, right?
@jonhoo
@jonhoo 4 жыл бұрын
I think that's a little like saying "why wear a seatbelt if I know I'm a good driver?". In Rust, many of the large classes of bugs you seen in C and C++ code simply _cannot happen_. It's not just about being careful and meticulous. This applies especially for large code bases with multiple developers, where even if _you_ never write any bugs, what about your co-authors? What about external libraries you rely on? Concurrency bugs are also big here: Rust prevents data races entirely at compile time, and I can say that even as someone with a lot of experience writing concurrent code, you just don't get it right the first time. In C/C++, you would be unaware of these bugs until they suddenly manifest in weird ways at runtime. In Rust, the compiler tells you. I also think there are many features in Rust that make it more pleasant to work with. A stronger type system is a big one here, with complex enums being perhaps the biggest single feature. A nicer toolchain, much easier mechanisms for adding third-party dependencies, and standardized testing and documentation infrastructure are some other important ones.
@shahabshariatbagheri4274
@shahabshariatbagheri4274 4 жыл бұрын
@@jonhoo Thank you for your reply. Seems like the key point about Rust is safety/robustness (i.e memory) versus C/C++, as you explained, I think the fact that Rust (or a language) complains about a problem which is C/C++ runtime problem can be good point. Although you can also handle safety problem with smart pointers in C++. Making more pleasant to work means in fact makes life of developer easier to implement and not system wise better like having vectors in C++ which has simplified the life of developer but no reason system wise to be better than C. Rust provides easier writing software without really paying attention/knowing for developers to these kinds of things so it actually makes it easier for developer to write. I didn't get your point about co-authors? There are a lot of C/C++ projects which are done in collaborative developers (i.e linux kernel, ... ) and it's not really an issue
@jonhoo
@jonhoo 4 жыл бұрын
So, to be clear, Rust provides significant safety guarantees beyond what you would get just with smart pointers in C++. For example, in C++, you can easily write code where two threads attempt to simultaneously update a hash map that is not thread safe. In Rust, such code would not compile. My point about co-authors was that you really want the compiler and the type system to catch mistakes wherever you can, rather than relying on the developer to not make mistakes :)
@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
Crust of Rust: Smart Pointers and Interior Mutability
2:03:04
Jon Gjengset
Рет қаралды 117 М.
Jon Gjengset - Towards Impeccable Rust
55:59
Rust Nation UK
Рет қаралды 22 М.
ХОТЯ БЫ КИНОДА 2 - официальный фильм
1:35:34
ХОТЯ БЫ В КИНО
Рет қаралды 2,4 МЛН
格斗裁判暴力执法!#fighting #shorts
00:15
武林之巅
Рет қаралды 85 МЛН
СҰЛТАН СҮЛЕЙМАНДАР | bayGUYS
24:46
bayGUYS
Рет қаралды 734 М.
"Type-Driven API Design in Rust" by Will Crichton
40:57
Strange Loop Conference
Рет қаралды 116 М.
Crust of Rust: Functions, Closures, and Their Traits
1:06:40
Jon Gjengset
Рет қаралды 83 М.
Rust Ownership and Borrowing
38:21
Doug Milford
Рет қаралды 66 М.
All Rust features explained
21:30
Let's Get Rusty
Рет қаралды 278 М.
Is It Time to Rewrite the Operating System in Rust?
1:09:18
InfoQ
Рет қаралды 300 М.
Rust Crash Course | Rustlang
1:50:43
Traversy Media
Рет қаралды 990 М.
Traits and You: A Deep Dive - Nell Shamrell-Harrington
22:09
Rust Belt Rust Conference
Рет қаралды 38 М.
Rust API Design Learnings
41:42
Armin Ronacher
Рет қаралды 2,6 М.
A Firehose of Rust, for busy people who know some C++
1:24:12
Jack O'Connor
Рет қаралды 80 М.
🤔Почему Samsung ПОМОГАЕТ Apple?
0:48
Technodeus
Рет қаралды 456 М.
How Neuralink Works 🧠
0:28
Zack D. Films
Рет қаралды 32 МЛН
What’s your charging level??
0:14
Татьяна Дука
Рет қаралды 7 МЛН