OPERATING SYSTEMSOS Linux

Should you learn Rust in 2024?

Considering learning a new programming language in 2024? In this video, let’s explore whether Rust is the right choice for you. Join me as I weigh the pros and cons, offering insights to help you make an informed decision about delving into Rust in 2024.

Free Rust cheat sheet: https://letsgetrusty.com/cheatsheet

Chapter:
0:00 Intro
00:12 Language & Ecosystem
2:24 Community growth & Industry adoption
4:47 Language alternatives to Rust
6:37 Job opportunities/growth

source

by Let’s Get Rusty

linux foundation

49 thoughts on “Should you learn Rust in 2024?

  • bro is like he most staunch maxi of rust in all youtube lol

  • 5:45 Can you make a video on using rust libraries from C code or other languages if that works well?
    Using bindings to established C libraries is fine, but what about making new dependable libraries in rust that works in other languages like how C gets everywhere? That'd be interesting (in terms of making lower level open source libraries)

  • Imo you should put Tux instead of Zig on the lower left thumbnail 😛

  • I had a biology background and I want to get more serious about scientific computing and computational biology. Does learning rust could be a good start? I know it’s a low-level language harder than Python and R but does anyone know routine use of Rust in industry and university?

  • Shame on you for not knowing rust already in 2024

  • your cheatsheet is ass btw

  • After experimenting with rewriting a compiler from C++ to Rust I decided to hold off on Rust for now. The main reason is explained on the babysteps blog in the post: after-nll-interprocedural-conflicts.
    The structure I'm dealing with here is the following:
    A compiler takes a long 'ribbon' of characters and transforms it into a tree structure (AST), representing the program's logic. The tree has lots of references to small slices of the ribbon. These slices point to identifier names and such. This is better than copying (duplicating) those slices into actual strings inside the tree.
    So the tree's lifecycle is completely linked to the ribbon. There is essentially one lifetime: the ribbon together with the tree. Once compilation is done, both can be discarded all at once. Remember, compilation isn't dependent on external events like for servers and apps. It's essentially one function call: compile()…done.
    Everything inside the compile action is interlinked and logically, that's fine. Again, there's essentially one lifetime. But this one lifetime, together will the borrow rules means that everything is easily locked together.
    The blog post I refer to explains what it would need to do to make this compiler to work: I would have to program work-arounds just to make the borrow-checker happy.
    The suggested workarounds in the blog post are essentially hacks. In fact, most of them suggest to break your business logic (break related stuff in separate structs) and separate it out (borrow-splitting functions) or wrapping things in 'Views' that only exist to make the borrow checker happy.
    Since the discussions on this are still ongoing in Rust, I think I'm going to wait. After all, it's just a hobby for me.

  • Recently I heard an opinion that rust’s async and coroutines are immature. What do you think? Thanks!

  • I don't understand why Rust is often recommended for CLI apps. Doesn't it depend on the nature of apps? My team works with a zillion line codebase of a system of CLI apps that work on a large database, generates emails and PDFs, mails them, creates directories of files, generates reports/xml, transports data over https and tcp, …, .etc. It is currently implemented in TCL and C. It is very old. We are planning to modernize it and are considering Java/Groovy/Scala or Python. Why would we consider Rust? It appears much more complicated than even Scala. I don't see why managing allocation and freeing memory yourself is a desirable thing.

  • i am learning rust because this language just makes sense. yes effing hard but "no no he's got a point"

  • think you lost your way.
    your channel is not useful any more
    you are repeating the same words in every video
    ( Microsoft azure blah blah blah )
    wish 2024 is better for all

  • wanting to get into algo trading and hft and other financial things in 3-4 years, should i learn rust or c++

  • There’s a huge elephant in the room which I was hoping you were going to mention and that is the failing leadership in the rust foundation that has given rise to the crablang fork that happened earlier this year. I have been trying to decide whether it is time for me to have a second attempt at learning rust as my previous attempt about 3 years ago failed mainly due to the difficulty in my battles to appease the dreaded borrow checker. Now that rust has matured somewhat and there are are more tools for learning such a language such as ChatGPT, I would like to give it another shot, but having recently learned of missteps by the rust leadership makes me wonder if I should just stick with golang (even given it’s short comings). I’m seriously worried about the potential fragmentation of the rust community as a result

  • Wasting your efforts in the crypto-currency space is a bad idea regardless of programming language.

  • I am new in the IT field and like every other newbie I am all over the place can you suggest me what to do ?
    I just completed my basics of frontend (html,CSS and js) and my goal in full-stack using js, so should I learn rust and where can I use it? Pls pls reply❤️

  • Zig is like an alternative to C where Rust is the alternative to C++, at least I hear that a lot

  • isn't the problem with Go is garbage collection rather than memory safety ?

  • You don't see a compelling use case for Zig?! That's straight up insanity. The real interop layers in zig is unmatched.

  • i love rust very much, maybe because some videos of you. But i hear that zig is faster than rust. So can you explain why i should choose rust rather than zig. Maybe always new language apeare and better in the furture.

  • You should learn everything!!! not just Rust and not just in 2024!!

  • My only disagreement is with the gas vs electric vehicles comparison. That's a pipe-dream that is going to become more and more glaring over the next few years.

    The unintended consequences of the naive Green New Scam carbon propaganda proponents will be deadly, a massive waste of resources, and a joke for generations. I certainly intend to return the brutal insults and ridicule that I endured for the last couple decades! 🙂

    Hydrogen (both as a combustion engine and a fuel cell technology) has a greater change of success than pure battery-based vehicles. Especially with the discovery that hydrogen can be a byproduct of graphine production, the cost of hydrogen is negative when offset with graphine sales.

    How can a limited lifespan metal battery that takes a prohibitive amount of electric grid infrastructure upgrades, element/mineral mining, and mandatory recharge time for each vehicle compete? Sure battery tech will improve and can be part of a solution (and graphine will probably be part of that technology) but the downside especially in colder climates for battery only solutions are a joke. I'd prefer to not freeze to death on the side of the road because my electric vehicle went into a ditch and the battery didn't have enough energy to run a heater. LED traffic lights had similar problems when they didn't melt the snow that blocked the signals. This is all a solution looking for a fraudulent problem.
    Note: I work for a green tech company that makes a ton of money off this pseudoscience political agenda.

  • Go is just as memory-safe as Rust – you can't easily cause buffer overflows, for example. All memory access is checked.

    Go's error/null handling is nowhere near as good as Rust's though. Go isn't thread safe either, but it's definitely memory safe.

  • People always say the Rust C interop is great, but no one of them has used the FFI before or what? Its just bad, its the same as in every other language, you need to build wrappers. So to your question, Zigs place is exactly there, in Zig we can simply include the C header file and are done. No wrapper needed, just on line of code to include. The Zig toolchain can directly replace a whole C toolchain and makes everything easier. The real C replacement is therefore Zig and not Rust. Rust is a better competitor with C++ than with C in my opinion

  • A couple of Points for Zig are, a more comfortable work with memory which makes it better if you need raw access for example with micro controllers. Also it's Interoperability with C/C++ is way better as you can just import a header and are ready to go. Also Zig is very usefull as a build system using only the build.zig to help with the mess that is the C ecosystem or when working with FFIs like cgo and linking c into rust.

  • Zig is way better than Rust for Low Level programming. My guess is that Rust support in Linux is switched with Zig in the future. At the moment they discover all the dark sides when using Rust in a kernel. Rust is just bad at this. Yes Rust provides some memory safety, but its way to strict about it. The compile times are another no go. So yeah, Rust is a better C++ in my opionion but nothing more

  • The only right answer is: pick one language and get good at it.

  • I like Rust and been using it for years (not at work tho), but I do feel like its mainly a C++ replacement. On one hand, a good C++ dev doesnt really need Rust. On the other, I wouldnt encourage a young beginner to choose C++ over Rust these days because C++ is complex but not for good reasons.

  • I don't think calling C/C++ a gas vehicle and Rust an electric vehicle is as great an argument as you think it is. I'd personally compare C/C++ to sailboats and Rust to a modern freighter. Both doing the same things, with Rust far safer and more reliable.

  • If anyone is thoroughly stressed about safety above everything else – then they should use ADA / Spark, or even Pascal instead of Rust.

    And Fortran is infinitely safer than any Rust program as well, since it allocates everything statically at comptime. Impossible to have buffer overruns.

    Rust safety is nothing but snake oil

  • Guy that runs a youtube channel about Rust: "I'm going to give you my completely unbiased answer."

    Little late for that.

    I enjoyed the video, but let's be real.

  • 6:04
    1. Lower learning curve

    2. Better performance

    3. Better C/C++ interop

    4. Cross compilation is first class citizen. Rust has good cross compilation features but Rust uses Zig to compile for Apple's M1

    5. Better developer experience

    6. Enough safety mechanisms without making the language unusable

    7. Better meta-programming with comptime instead of macros

  • I'm looking forward to the rise of a new generation of languages like Rust, Zig, Go and so forth. The changing software engineering landscape is what makes it worth doing IMO

  • I'm relearning Rust now, and I'm an experienced Scala dev. I'm looking for a culture that is less academic, more pragmatic, but still allows me to write high level code.

    Rust is surprisingly similar to Scala , it has ADTs, type classes, generics etc, extensive use of Option and Result (Its version of Either)

  • I've ben writing Rust for a few months now and, though it's very ugly and there are lots of annoyances, it's easily my favourite language rn. I wish I could write everything in Rust haha.

    Async traits are handy but you can't do dynamic dispatch on them – which is a big reason why I use traits. Trying to create a plugin system where the trait is the interface plugins adhere to is pretty tricky for this reason.

  • Will safety rust doesn’t work in webassembly with threads ?
    If yes I’ll learn. If not – Zig

  • Since gas powered vehicles operate where electric vehicles cannot, that's a bad analogy. 😉

  • Thanks, Bogdan. Believe it or not, your comprehensive and always encouraging episodes inclined my professional life towards Rust. A half-a-year of learning and doing some naive hobby-projects with Rust have healed my professional "wounds". With the understanding of my family, the 360-degrees support of my new team, and your really great tutorials, now I feel like a new cruiser ship, back in the programming ocean. The batteries are charged and a fresh wind is blowing in a good direction. This feeling I'd wish to share with all beginners Rustaceans. Happy and rusty 2024 for you, Bogdan, and for all people following this channel!

Comments are closed.