Hey Stefan! I appreciate the insight into rust, I think as freelance webdevs it doesn't make much sense as other languages (php, js, python) are much quicker and more efficient for us but for companies like google and amazon the scale of their programs really starts to matter (hence using rust). I also think an under rated part of the rust language is how much more reliable and correct the programs you write with it are (Basically zero run time bugs, no undefined behavior, impossible to have a null pointer). And the time you put into learning rust is really just time you put into becoming a better developer.
9 месяцев назад
No language has zero nor basically zero runtime bugs. Rust has near zero memory and race bugs (they can still occur in unsafe blocks). The underrated part is how well made the language is overall.
more than a year ago, i wrote in rust an internal service after struggling with undefined behaviors in the initial php implementation. once the rust version got deployed, i rarely updated the code since (just the usual: some better error handling here and there, some improved logging, and stuff like this). it's also pretty fast in what it does, and that's consuming an sqs queue, download and optimize a given image, and update the database. since i'm using async and tokio runtime, it scales on all of cpu's cores without any concurrency issues (this comes by default). and here's some rough stats from observing the input and counting the logs: given 10k images in queue, containing 1000x1000 jpeg files from same image server, with a scale factor of 1 (that is, 1 instance running in docker) on a 16 core ec2 instance, the queue empties in ~10 minutes, which is ~1 image / sec. of course, we've also got heavy loads, such as 100k messages in queue, which got processed in 6 hours running with scale factor 6. this totally increased the trust in rust as a language, even if we mostly code in php and typescript + nodejs. recently, i re-wrote that rust service from scratch but with cleaner code and targeting aws lambda directly. i was stunned. not only it took 6 hours to complete it, but i could also leave the workplace earlier to solve some personal issues. that's the actual "rust is fast", not only in it's runtime performance, but in dev's perception of writing it as well (ofc, once you know how the borrow checker and lifetimes work, it's simple).
I’m the author of the rust web programming Packt textbook. I completely agree with what you’re saying. I’m actually More productive in Rust than I was in python. A lot of people find the learning curve or rust too steep and then make up that it’s not a productive language when really if they stuck with it they would be able to crank out code that’s more reliable at a quicker rate
I think that's the wrong take. What sets rust apart isn't its performance or its efficiency, if that was the only reason then people should just wirte everything in C. The great thing about Rust is that it achieves System Programing language performance but offering the comfort of a modern high level language with next to no penalty to performance. It's harder to learn at first, you need to keep things in mind that you aren't used to, but its not as hard as some make it to be. The type system is great, its functional features are great, the way it handles interfaces, there's a LOT more to it than performance.
If you really want to learn about low level then you better start with C since it's really more low level than Rust and C++. And it's far easier to learn than Rust. It's a very simple language. And it's used heavily in embedded systems unlike Rust.
@@orter4030 they can be making 8bit CPUs by hand with mosfets but thats not really a sane way to do anything these days, is it ? I don't believe that you have to go through the "C stage" before learning Rust in fact, maybe learning Rust before C can be more beneficial, would save you from having to forget bad practices
Go straight to Rust but study the market in your region or where you want to work. Aim at the language in the market you enjoy most as your starting point in your career and the rest will fall into place.
Rust is a long time investment right now. JS/TS is underrated imo, it gives you insane productivity! You can build web fullstack, native and desktop apps from a single code base and rather quickly with it. That is insane value!
I learned some C++ when I was young (~25 years ago). I started getting into school recently after my military life and decided to give computer science a shot since it's my passion. I guess the niche I want to get into is VR development and pushing it as hard as it can. I'll be keeping an eye out on Rust though, as after I feel I'm proficient at Python (school's first language) and C/C# I'd like to take a crack at it. Thanks for the info!
Rust is difficult, it's a system programming language. Started learning it but stopped as i have really nothing to apply it to. Learning Rust only makes sense if you want to go down that route in your career or privat. Cause you won't get anything done with Rust if you do not regularly work with it, since it's so complicated. That being said, Rust will 100% replace C/C++ except for maybe some edge cases. If only for the fact that Rust is secure by default while being within the same performance bracket. Windows is being slowly rewritten in Rust, Azure too. Linux is starting too on the kernel. Amazon, etc pp. It's just a matter of time.
I am a web developer and I am using Rust on a regular basis for this... you dont need to be a systems programmer to use Rust lmao. Its a general purpose language not just a system programs language...
@@perc-ai I agree, you don't have to make too much use of low level Rust features. It is difficult, but the more difficult parts can be taken in slowly, one at a time while enjoying more humane Rust features, its clarity etc. It is the first language that I started to use solely on the basis that I like it so much :)
Thanks for inspiring me to learn ruby. I got some freelance gig. 2 years learning JavaScript and 10 days learning ruby I'm finally making some money from this
I write Rust professionally. I hated it initially but now I can't imagine using anything else. I love being able to use multi threading in a context that is impossible to get wrong. You can still write wrong code, Rust doesn't make you a better software engineer, but i need to review much less code during code reviews and I'm much less concerned about contributions from less experienced engineers. It took me about a week to get okay at Rust and a month to become productive. Perplexingly, I'm more productive in Rust than Go (because of the constant incidental race conditions you get in Go). I have to review less code too so my team can move faster It's a great language. I could imagine a "Rust lite" language that reduces the syntax complexity to be similar to typescript but brings along the borrow checker and multi threading. Love it, highly recommend
I've been learning Rust on and off for a couple of years and I really think it's ground breaking and I'm a Rustacian for sure. When it comes to using it outside systems programming (for which it is rapidly becoming the obvious choice) I do think it will struggle to gain purchase though. Developer speed is slower. There are almost certainly time savings to be had later in the software life-cycle due to the safety methods baked into the language (you're not going to get so many midnight calls that the production server is down as you would with other languages) but the problem is that companies don't look at these cost savings so much, they just look at developer speed. Go will wipe the floor in many of these other non-system dev scenarios I think. Anyway, anything but JS is good in my book (long live Ruby xD).
In Brazil, where I am from, there is only 500 jobs for golang, and the majority for experienced devs like seniors. So why every body says golang will take over? There is no jobs for people starting programming.
Probably a hard sell for some cases but there are lots of interesting use cases. Imagine if Apache spark was written in rust?? Also writing a slower language lib in rust is a very useful solution
Golang as a C-like, general purpose language is solid. But it's main feature is it's speed of development + speed of compilation is fast. Plus it's simple, easy to use & readableAF! It should be be used on Backend, Cloud Development, DevOps, etc. But big corporations are idiots. They like to do everything on Java or C++. Golang is... not as popular. Still heavily underrated. 😔
@@stephendelacruzone Big companies are not idiots. They have proprietary tools and libraries that make the choice of Java and C++ much more solid. Writing the code is a long-term investment for them. If the language dies, they are screwed. In addition, literally every uni teaches C++ and Java, which simplifies the hiring process and allows to tap into the broader selection of applicants.
Rust is hard. No question there, but as an expert C++ engineer who learned rust, it's much harder to fix undefined behavior and multithreading issues in C and C++. Rust saves time there. Stef, you're right about your concerns about the singular points you mentioned. It takes time to learn it. It's difficult. It costs much less to do Python and php. However, it all depends on your goals. If you're writing applications that require reliability, security and performance (blockchain, cryptography, encoding, wasm, large scale backends, etc), then rust is the answer. If, on the other hand, you're writing an application for some esoteric company with 10000 users... then rust makes no sense. The real difference is, easy languages make it easy to spit something out that initially works, but maintaining that will be a nightmare when scaled up, and that's why rewrites happen. While in rust, starting is a nightmare if you're not experienced, but maintenance is easy once you understand why the borrow checker is fighting you, because the rust compiler mostly forces you to do things right.
Is it right that c++ is harder than rust and rust has a an intial steep learning curve but gets easier but JS and python initally have easier learning curve when starting but, get tougher later on........
While rust is a great language none of the points you bring up here really highlight it's strengths. You mostly focus on the performance of rust and some stuff about energy efficiency (which as you point out is pretty irrelevant for most applications). The big advantages of rust is not it's speed, it's blazingly fast but we've had languages as fast as it for 50 years; it is it's ability to have that speed while maintaining memory safety and bringing features more typically seen in high level languages (such as python-like print statements and an excellent package manager) along for the ride. Additionally, the design choices which ensure memory safety also allow rust to run concurrently very easily and with no risk of data races and the compiler is superb. Basically it's just a far better (bar the maturity of libraries) version of C/C++. TLDR talking about rust replacing high level languages is nonsense, it's an amazing language but way too difficult for most purposes and in many cases (where you aren't doing any heavy computation) performance isn't massively important anyway. However, it does have massive advantages over stuff like C/C++ and is easy enough that you can consider it in place of some of the more complex languages like Java/C# where library support allows.
Programming languages are just tools. We use the best tool for the job. When we don't, we set ourselves up for failure. With that said, I think Rust has the potential to take everything out there and make it its own. Think how C++ tried to do everything, but more ergonomic programming languages took its place. Rust though seems to be already doing everything from systems programming to generic app programming, including web apps, native desktop apps, mobile apps, etc. Rust is like C++, only that it can actually do a lot of general programming very ergonomically (once you understand Rust lifetimes). C++ failed at generic programming, Rust simply doesn't, IMO. There's a catch though, it's harder to get started with because of the borrow checker and lifetimes. Where C++ frustrates the beginner with runtime errors, segfaults, use after free, unsafe concurrent access, undefined behavior, etc., Rust frustrates the beginner with borrows and the different smart pointers it has.
Rust being hard to learn with high entry cost is an illusion. If you take a look at anywhere Rust is discussed you would notice a trend that there is a good portion of high level languages users interested in or even learning it so of course you would hear more voices suggesting it hard. But in real Rust makes getting into system language easier than ever before.
Definitely much easier than C++ which I why I started learning it, and it can do almost anything that C++ can do, and almost as fast (I heard faster in some cases)
9 месяцев назад
The part that is somewhat hard is lifetimes. The rest is easy. The problem is that the compiler errors are not very good for lifetime errors. Many times you have to decode what they actually mean.
Real Deal as always :)) !!! I like how your style when thinking about learning new thing !!! Your whole mindset rely on CashFlow. You always consider how fast it can build and learn first Then later talk about other affect such as Performance or energy consumption. We youngster need more man like you, CashFlow and Time Build is the things younger people would not have a wise choice. You always consider and stress complex stuff like Rust for later learn in their career.
The syntax is a bit weird for those of us who are more used to JavaScript or Python (though Python is weird in its own way). But the tutorial at their website is quite good. Very detailed, while also not holding your hand.
That's what I've come to appretiate the most with most learning resources for rust so far. No hand holding, but not unreasonable either. It's basically: "This is how its done in Rust and here's the reason its implemented this way".
The difference between JavaScript and TypeScript is interesting as TypeScript transpiles to JavaScript. Do they want to say that TypeScript produces suboptimal JavaScript code?
You know what would be the most energy efficient? Computers chips that work off of a light source. So instead of using electrons passing thru the circuitry inside a chip, you could have light passing thru a non-electrical black-box that would control another light source much like our transistors work in a cpu. Then we could see dramatic reduction in powering computers while also having computers that run at light speed, literally!
I think it has some really cool ideas Wort learning about regardless if you get to work with it or not. It will probably make you a better programmer. I intend to build some things with it at home to see if it could work as a general purpose language or not.
actually decided against learning c++ to learn rust instead. coming from a java background, i wanted to learn something i could do a lot with and rust just seemed like the perfect fit. it's pretty tough to get into, mostly with the compiler not letting you do unsafe coding practices. fun language, but you'll probably find yourself banging your head a bit from time to time.
I think that's what I'm doing right now - deciding to learn Rust instead of c++. I knew enough c++ as a kid to make a little game, but that was 25 years ago and I'm starting from scratch now.
5:48 I'm surprised that the gap between JavaScript and languages like Python, Ruby, and even PHP is much larger than the gap between JavaScript and Rust.
Two points, (1) Energy costs A LOT especially given the current global oil and gas crisis, the COST of running a data centre, the electricity bill is a big chunk of that running expense, so anything that can lower that turns into massive cost savings. So it's NOT really a climate green argument, it's all about the $$$$ (2) Learning curve for Rust can be steep however it depends on each developer, some can learn it as fast as a couple weeks/months and others may take 6+ months or even longer. In terms of productivity, I would argue this is were Rust does shine (source: I'm a Rust developer), given its high level languages features many of which have been inspired by ML and Haskell, such as ADTs, Type Classes, Pattern Matching, etc means that the "Total Cost of Ownership" in terms of running a software lifecycle is dramatically shorter because the compiler removes so many classes of bugs that would normally be seen in other low level languages (and even some higher level languages). Basically Rust in production is "boring", because once it compiles, it just keeps working. You have to keep in mind that software maintenance and bug fixing is where most of the time is spent on most codebases, under Rust the bug fixing and maintenance phase is dramatically reduced. So while some may be able to argue that one could develop something faster and get it into production, that's only the starting line, however in those other languages a significant amount of time will be wasted fixing bugs after the fact.
What do you think? - when AI can rewrite code to make it the most efficient and safe, then code could be written in the coders preferred language ad then translated by the AI?
Every experienced devs tell how kinda hard developing in Rust. Rust is powerful... and fast. I just don't like how kinda hard to learn and how kinda slow the speed of Rust development is.
The speed of Rust development is reasonably good, provided you've reached some maturity in the language. I'm at the Middle level right now and my speed is just good. As a senior developer, you can develop extremely fast. Rust gives you lots of fine tools, which work well together. You're given choices. If you know what you need, you can get it with little effort.
Talking about making the world more sustainable using rust is nonesense. I adore rust as a language but it's more difficult to develop than most of the high level stuff and developers are expensive. If you want to fight climate change just use the extra money you would spend on programmers to build some solar. Also in my experience when people can use resources more efficiently they use that to do more with the same, not to do the same with less. The Ford Model T did 21 mpg, because it was light basic and had few frills. Despite way more efficient engines most modern Trucks don't do much better for fuel efficiency despite vastly more efficient engines. The reason? People decided they would rather have a big car, with a big engine and air-con that guzzled fuel than a small basic car that was efficient. European and Japanese cars are better but still sacrifice fuel efficiency for creature comforts.
It is not difficult to develop in Rust. It is difficult to learn (mostly due to learning resources only maturing and high essential complexity of the domain). I've programmed in Rust for the past three years and it's pure joy and breeze to code in Rust. It becomes quite terse and you can express a lot with little, while remaining clear. Rust is productive not due to fast initial delivery but due to quick maintenance of the code. I can return to the old code, understand it perfectly, and modify without breaking what shouldn't have been broken. The code of others is understandable as well. Just like JavaScript, Rust can be used both on server-side and on client-side. And it provides macros, which allow to remove boilerplate. Even if Rust itself doesn't become very popular (despite more the doubling of its community size for the past two years), it still can be in the foundation for Python, JavaScript, TypeScript, Java, C# and Go libraries.
In Rust we trust 🦀
Oh my favourite channel)) let's get rusty
Hi Bogdan
Hey Stefan! I appreciate the insight into rust, I think as freelance webdevs it doesn't make much sense as other languages (php, js, python) are much quicker and more efficient for us but for companies like google and amazon the scale of their programs really starts to matter (hence using rust). I also think an under rated part of the rust language is how much more reliable and correct the programs you write with it are (Basically zero run time bugs, no undefined behavior, impossible to have a null pointer). And the time you put into learning rust is really just time you put into becoming a better developer.
No language has zero nor basically zero runtime bugs. Rust has near zero memory and race bugs (they can still occur in unsafe blocks).
The underrated part is how well made the language is overall.
more than a year ago, i wrote in rust an internal service after struggling with undefined behaviors in the initial php implementation. once the rust version got deployed, i rarely updated the code since (just the usual: some better error handling here and there, some improved logging, and stuff like this). it's also pretty fast in what it does, and that's consuming an sqs queue, download and optimize a given image, and update the database. since i'm using async and tokio runtime, it scales on all of cpu's cores without any concurrency issues (this comes by default).
and here's some rough stats from observing the input and counting the logs: given 10k images in queue, containing 1000x1000 jpeg files from same image server, with a scale factor of 1 (that is, 1 instance running in docker) on a 16 core ec2 instance, the queue empties in ~10 minutes, which is ~1 image / sec. of course, we've also got heavy loads, such as 100k messages in queue, which got processed in 6 hours running with scale factor 6. this totally increased the trust in rust as a language, even if we mostly code in php and typescript + nodejs.
recently, i re-wrote that rust service from scratch but with cleaner code and targeting aws lambda directly. i was stunned. not only it took 6 hours to complete it, but i could also leave the workplace earlier to solve some personal issues. that's the actual "rust is fast", not only in it's runtime performance, but in dev's perception of writing it as well (ofc, once you know how the borrow checker and lifetimes work, it's simple).
I’m the author of the rust web programming Packt textbook. I completely agree with what you’re saying. I’m actually
More productive in Rust than I was in python. A lot of people find the learning curve or rust too steep and then make up that it’s not a productive language when really if they stuck with it they would be able to crank out code that’s more reliable at a quicker rate
I think that's the wrong take. What sets rust apart isn't its performance or its efficiency, if that was the only reason then people should just wirte everything in C. The great thing about Rust is that it achieves System Programing language performance but offering the comfort of a modern high level language with next to no penalty to performance. It's harder to learn at first, you need to keep things in mind that you aren't used to, but its not as hard as some make it to be. The type system is great, its functional features are great, the way it handles interfaces, there's a LOT more to it than performance.
My interest in Rust is simple: I want to learn more about low-level programming. It is not about getting a job, for that i am studying C#.
If you really want to learn about low level then you better start with C since it's really more low level than Rust and C++. And it's far easier to learn than Rust. It's a very simple language. And it's used heavily in embedded systems unlike Rust.
@@ohwow2074 its 2022
@@the-bgrspot6997 So ? There are still people writing COBOL lol.
@@orter4030 they can be making 8bit CPUs by hand with mosfets but thats not really a sane way to do anything these days, is it ?
I don't believe that you have to go through the "C stage" before learning Rust
in fact, maybe learning Rust before C can be more beneficial, would save you from having to forget bad practices
Go straight to Rust but study the market in your region or where you want to work. Aim at the language in the market you enjoy most as your starting point in your career and the rest will fall into place.
Rust is a long time investment right now. JS/TS is underrated imo, it gives you insane productivity! You can build web fullstack, native and desktop apps from a single code base and rather quickly with it. That is insane value!
I learned some C++ when I was young (~25 years ago). I started getting into school recently after my military life and decided to give computer science a shot since it's my passion. I guess the niche I want to get into is VR development and pushing it as hard as it can. I'll be keeping an eye out on Rust though, as after I feel I'm proficient at Python (school's first language) and C/C# I'd like to take a crack at it. Thanks for the info!
😍❤️❤️💙💙😍Heyyy Stef! Pray all is well! Thanks for always giving us the info! ❤️
Getting better!
Rust is difficult, it's a system programming language. Started learning it but stopped as i have really nothing to apply it to.
Learning Rust only makes sense if you want to go down that route in your career or privat. Cause you won't get anything done with Rust if you do not regularly work with it, since it's so complicated.
That being said, Rust will 100% replace C/C++ except for maybe some edge cases. If only for the fact that Rust is secure by default while being within the same performance bracket.
Windows is being slowly rewritten in Rust, Azure too. Linux is starting too on the kernel. Amazon, etc pp. It's just a matter of time.
I am a web developer and I am using Rust on a regular basis for this... you dont need to be a systems programmer to use Rust lmao. Its a general purpose language not just a system programs language...
@@perc-ai I agree, you don't have to make too much use of low level Rust features. It is difficult, but the more difficult parts can be taken in slowly, one at a time while enjoying more humane Rust features, its clarity etc. It is the first language that I started to use solely on the basis that I like it so much :)
@@adamodimattia rust influence in 2023 is gonna be ridiculous there’s so many industry disrupting software that’s being made with it
Thanks for inspiring me to learn ruby. I got some freelance gig. 2 years learning JavaScript and 10 days learning ruby I'm finally making some money from this
That's awesome!
Going by the title, I was expecting this video to be much more about the job market
I write Rust professionally. I hated it initially but now I can't imagine using anything else. I love being able to use multi threading in a context that is impossible to get wrong.
You can still write wrong code, Rust doesn't make you a better software engineer, but i need to review much less code during code reviews and I'm much less concerned about contributions from less experienced engineers.
It took me about a week to get okay at Rust and a month to become productive. Perplexingly, I'm more productive in Rust than Go (because of the constant incidental race conditions you get in Go). I have to review less code too so my team can move faster
It's a great language. I could imagine a "Rust lite" language that reduces the syntax complexity to be similar to typescript but brings along the borrow checker and multi threading.
Love it, highly recommend
I've been learning Rust on and off for a couple of years and I really think it's ground breaking and I'm a Rustacian for sure. When it comes to using it outside systems programming (for which it is rapidly becoming the obvious choice) I do think it will struggle to gain purchase though. Developer speed is slower. There are almost certainly time savings to be had later in the software life-cycle due to the safety methods baked into the language (you're not going to get so many midnight calls that the production server is down as you would with other languages) but the problem is that companies don't look at these cost savings so much, they just look at developer speed. Go will wipe the floor in many of these other non-system dev scenarios I think. Anyway, anything but JS is good in my book (long live Ruby xD).
In Brazil, where I am from, there is only 500 jobs for golang, and the majority for experienced devs like seniors. So why every body says golang will take over? There is no jobs for people starting programming.
Probably a hard sell for some cases but there are lots of interesting use cases. Imagine if Apache spark was written in rust?? Also writing a slower language lib in rust is a very useful solution
You might have a point... 🤔
Golang as a C-like, general purpose language is solid.
But it's main feature is it's speed of development + speed of compilation is fast. Plus it's simple, easy to use & readableAF!
It should be be used on Backend, Cloud Development, DevOps, etc.
But big corporations are idiots. They like to do everything on Java or C++.
Golang is... not as popular. Still heavily underrated. 😔
@@stephendelacruzone Big companies are not idiots. They have proprietary tools and libraries that make the choice of Java and C++ much more solid. Writing the code is a long-term investment for them. If the language dies, they are screwed. In addition, literally every uni teaches C++ and Java, which simplifies the hiring process and allows to tap into the broader selection of applicants.
Rust is indeed hard but I always love to challenge myself. I am still learning it but it is an amazing language and it enforces writing good code.
Rust is hard. No question there, but as an expert C++ engineer who learned rust, it's much harder to fix undefined behavior and multithreading issues in C and C++. Rust saves time there.
Stef, you're right about your concerns about the singular points you mentioned. It takes time to learn it. It's difficult. It costs much less to do Python and php. However, it all depends on your goals. If you're writing applications that require reliability, security and performance (blockchain, cryptography, encoding, wasm, large scale backends, etc), then rust is the answer. If, on the other hand, you're writing an application for some esoteric company with 10000 users... then rust makes no sense.
The real difference is, easy languages make it easy to spit something out that initially works, but maintaining that will be a nightmare when scaled up, and that's why rewrites happen. While in rust, starting is a nightmare if you're not experienced, but maintenance is easy once you understand why the borrow checker is fighting you, because the rust compiler mostly forces you to do things right.
nicely explained
Is it right that c++ is harder than rust and rust has a an intial steep learning curve but gets easier but JS and python initally have easier learning curve when starting but, get tougher later on........
While rust is a great language none of the points you bring up here really highlight it's strengths. You mostly focus on the performance of rust and some stuff about energy efficiency (which as you point out is pretty irrelevant for most applications). The big advantages of rust is not it's speed, it's blazingly fast but we've had languages as fast as it for 50 years; it is it's ability to have that speed while maintaining memory safety and bringing features more typically seen in high level languages (such as python-like print statements and an excellent package manager) along for the ride. Additionally, the design choices which ensure memory safety also allow rust to run concurrently very easily and with no risk of data races and the compiler is superb. Basically it's just a far better (bar the maturity of libraries) version of C/C++.
TLDR talking about rust replacing high level languages is nonsense, it's an amazing language but way too difficult for most purposes and in many cases (where you aren't doing any heavy computation) performance isn't massively important anyway. However, it does have massive advantages over stuff like C/C++ and is easy enough that you can consider it in place of some of the more complex languages like Java/C# where library support allows.
Programming languages are just tools. We use the best tool for the job. When we don't, we set ourselves up for failure.
With that said, I think Rust has the potential to take everything out there and make it its own. Think how C++ tried to do everything, but more ergonomic programming languages took its place. Rust though seems to be already doing everything from systems programming to generic app programming, including web apps, native desktop apps, mobile apps, etc.
Rust is like C++, only that it can actually do a lot of general programming very ergonomically (once you understand Rust lifetimes).
C++ failed at generic programming, Rust simply doesn't, IMO. There's a catch though, it's harder to get started with because of the borrow checker and lifetimes.
Where C++ frustrates the beginner with runtime errors, segfaults, use after free, unsafe concurrent access, undefined behavior, etc., Rust frustrates the beginner with borrows and the different smart pointers it has.
Rust being hard to learn with high entry cost is an illusion. If you take a look at anywhere Rust is discussed you would notice a trend that there is a good portion of high level languages users interested in or even learning it so of course you would hear more voices suggesting it hard. But in real Rust makes getting into system language easier than ever before.
Definitely much easier than C++ which I why I started learning it, and it can do almost anything that C++ can do, and almost as fast (I heard faster in some cases)
The part that is somewhat hard is lifetimes. The rest is easy. The problem is that the compiler errors are not very good for lifetime errors. Many times you have to decode what they actually mean.
Could you add the subtitles? I don't understand much English, postscript I love your videos, greetings from Venezuela
Real Deal as always :)) !!!
I like how your style when thinking about learning new thing !!!
Your whole mindset rely on CashFlow.
You always consider how fast it can build and learn first
Then later talk about other affect such as Performance or energy consumption.
We youngster need more man like you, CashFlow and Time Build is the things younger people would not have a wise choice.
You always consider and stress complex stuff like Rust for later learn in their career.
Stefan has a soft spot for PHP
The syntax is a bit weird for those of us who are more used to JavaScript or Python (though Python is weird in its own way). But the tutorial at their website is quite good. Very detailed, while also not holding your hand.
That's what I've come to appretiate the most with most learning resources for rust so far. No hand holding, but not unreasonable either. It's basically: "This is how its done in Rust and here's the reason its implemented this way".
The difference between JavaScript and TypeScript is interesting as TypeScript transpiles to JavaScript. Do they want to say that TypeScript produces suboptimal JavaScript code?
You know what would be the most energy efficient? Computers chips that work off of a light source. So instead of using electrons passing thru the circuitry inside a chip, you could have light passing thru a non-electrical black-box that would control another light source much like our transistors work in a cpu. Then we could see dramatic reduction in powering computers while also having computers that run at light speed, literally!
I think it has some really cool ideas Wort learning about regardless if you get to work with it or not. It will probably make you a better programmer.
I intend to build some things with it at home to see if it could work as a general purpose language or not.
actually decided against learning c++ to learn rust instead. coming from a java background, i wanted to learn something i could do a lot with and rust just seemed like the perfect fit. it's pretty tough to get into, mostly with the compiler not letting you do unsafe coding practices. fun language, but you'll probably find yourself banging your head a bit from time to time.
I think that's what I'm doing right now - deciding to learn Rust instead of c++. I knew enough c++ as a kid to make a little game, but that was 25 years ago and I'm starting from scratch now.
@@fusion9619 C++ has become a whole different beast since 2011. It's like a new language!
5:48 I'm surprised that the gap between JavaScript and languages like Python, Ruby, and even PHP is much larger than the gap between JavaScript and Rust.
Hail Rust
Ruby outperforming Python in the benchmarks... lmao!
Save the environment, use rust!
Two points, (1) Energy costs A LOT especially given the current global oil and gas crisis, the COST of running a data centre, the electricity bill is a big chunk of that running expense, so anything that can lower that turns into massive cost savings. So it's NOT really a climate green argument, it's all about the $$$$
(2) Learning curve for Rust can be steep however it depends on each developer, some can learn it as fast as a couple weeks/months and others may take 6+ months or even longer. In terms of productivity, I would argue this is were Rust does shine (source: I'm a Rust developer), given its high level languages features many of which have been inspired by ML and Haskell, such as ADTs, Type Classes, Pattern Matching, etc means that the "Total Cost of Ownership" in terms of running a software lifecycle is dramatically shorter because the compiler removes so many classes of bugs that would normally be seen in other low level languages (and even some higher level languages). Basically Rust in production is "boring", because once it compiles, it just keeps working. You have to keep in mind that software maintenance and bug fixing is where most of the time is spent on most codebases, under Rust the bug fixing and maintenance phase is dramatically reduced. So while some may be able to argue that one could develop something faster and get it into production, that's only the starting line, however in those other languages a significant amount of time will be wasted fixing bugs after the fact.
Rust could also have a future with Bitcoin...there is a growing number of projects...
What do you think? - when AI can rewrite code to make it the most efficient and safe, then code could be written in the coders preferred language ad then translated by the AI?
Yes.
they will shine in rust!
Rust is also growing in crypto because of its speed and security, much more popular than solidity.
Rust will blow up from 2023.
👍
Typescript is not a runtime language, I'm curious to know how it consumes energy.
Maybe the transpilation process in AWS? AnyWays Deno supports both JavaScript and TypeScript as first class languages at runtime...
How about showing us some code? Something smells
You need to take a shower. 🧼
C & Rust are efficient... cool. 🤔
And productive too, once learned enough :D
Every experienced devs tell how kinda hard developing in Rust.
Rust is powerful... and fast.
I just don't like how kinda hard to learn and how kinda slow the speed of Rust development is.
The speed of Rust development is reasonably good, provided you've reached some maturity in the language. I'm at the Middle level right now and my speed is just good. As a senior developer, you can develop extremely fast. Rust gives you lots of fine tools, which work well together. You're given choices. If you know what you need, you can get it with little effort.
Rust is long term.
Lol let's go Rust Community
F the job, I'm here for robots.
Let us come back in 2032. What does the future hold for us ? :>
Talking about making the world more sustainable using rust is nonesense. I adore rust as a language but it's more difficult to develop than most of the high level stuff and developers are expensive. If you want to fight climate change just use the extra money you would spend on programmers to build some solar.
Also in my experience when people can use resources more efficiently they use that to do more with the same, not to do the same with less. The Ford Model T did 21 mpg, because it was light basic and had few frills. Despite way more efficient engines most modern Trucks don't do much better for fuel efficiency despite vastly more efficient engines. The reason? People decided they would rather have a big car, with a big engine and air-con that guzzled fuel than a small basic car that was efficient. European and Japanese cars are better but still sacrifice fuel efficiency for creature comforts.
It is not difficult to develop in Rust. It is difficult to learn (mostly due to learning resources only maturing and high essential complexity of the domain). I've programmed in Rust for the past three years and it's pure joy and breeze to code in Rust. It becomes quite terse and you can express a lot with little, while remaining clear. Rust is productive not due to fast initial delivery but due to quick maintenance of the code. I can return to the old code, understand it perfectly, and modify without breaking what shouldn't have been broken. The code of others is understandable as well. Just like JavaScript, Rust can be used both on server-side and on client-side. And it provides macros, which allow to remove boilerplate.
Even if Rust itself doesn't become very popular (despite more the doubling of its community size for the past two years), it still can be in the foundation for Python, JavaScript, TypeScript, Java, C# and Go libraries.
In general anything written in Rust seriously takes a fraction of the cost to operate/maintain than your typical high level languages.
Rust is for troons only, real men use C++ and not this meme, forced language.
You're wrong kid.
Please tell me this was sarcastic.
@@emdeization You will never be a woman.
@@kanethemessiah5603 I see this is a sensitive topic for you. Keep your issue with your gender to yourself.
@@emdeization >I see this is a sensi-ACK!