C is 50 Years Old. Should You Learn Rust?

270,647
0
Published 2023-04-26
ITS A DEBATE AS OLD AS TIME. OR POSSIBLY 8 YEARS DEPENDING ON YOUR DEFINITION OF THE WORD "YEAR".

There's ton's of debate around what language you should learn first. Is it C? Is it Rust? TODAY WE FIND OUT.

๐Ÿซ COURSES ๐Ÿซ Check out my new courses at lowlevel.academy/

๐Ÿ™Œ SUPPORT THE CHANNEL ๐Ÿ™Œ Become a Low Level Associate and support the channel at youtube.com/c/LowLevelLearning/join

๐Ÿ›’ GREAT BOOKS FOR THE LOWEST LEVEL๐Ÿ›’
Blue Fox: Arm Assembly Internals and Reverse Engineering: amzn.to/4394t87
Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation : amzn.to/3C1z4sk
Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software : amzn.to/3C1daFy
The Ghidra Book: The Definitive Guide: amzn.to/3WC2Vkg

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ SOCIALS ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ
Low Level Merch!: www.linktr.ee/lowlevellearning
Follow me on Twitter: twitter.com/LowLevelTweets
Follow me on Twitch: twitch.tv/lowlevellearning
Join me on Discord!: discord.gg/gZhRXDdBYY

All Comments (21)
  • That intro makes no sense. Time clearly came into existence on January the first, 1970.
  • Whether or not you're going to learn Rust or use C in production, C is so immensely important to computer science and computing history that basically every real programmer needs to have experience with it
  • I've used C professionally long enough to be mad at it's limitations, but it is still the best language to build your foundational knowledge with. Because once you understand C, you start to understand the building blocks that pretty much the entire field of software development is built on. You don't have to learn it first IMO, any high level language is fine, but definitely learn it second. Speaking from my experience learning C contextualised my earlier experience with Java and a lot of the design of the language features started to make sense.
  • @guilherme5094
    C. If every language were like a martial art, I'd say that C is the one that improves your combat posture, and that can really make a difference.
  • @Zwiebelgian
    As quite a new โ€žrustaceanโ€œ, the biggest improvement for me was the tooling. I know C and C++ have lots of great third-party tooling but no setup one short command for everything is just so much better.
  • @TJDeez
    Full stack dev here and I can't stand how commonplace it is to just not give a fuck about memory. This depiction is so accurate. Even solid experienced devs happily choose js methods that create completely unnecessary memory and make excuses.
  • 100% learn C. I would advise any beginner to start with C until you get to posix things, do those too and voila, a bit more networking stuff and you are set for great success
  • @diogob003
    I've learned and coded a lot of C. Now I'm beginning to learn Rust and there's some patterns that I definitely will use within my C code too
  • Experienced developer here. C and Java among other languages. I'll learn RUST as soon as I have a need for it. Right now there are no job listings that list RUST in my area and right at the moment there are no software projects using RUST that I want to get into. If you're going to be a developer you should expect to be asked to pick up languages quickly as needed. It shouldn't take more than a couple of weeks to get productive with basics, though obviously it will take you longer to learn idioms, libraries and frameworks with proficiency.
  • @hicknopunk
    I agree C is great as you need no libraries, objects or classes when creating software. Direct low level hardware calls give you full control of the audio chip/card.
  • @jongeduard
    My advice would be to learn several programming languages, at least 3 or 4. So learn Rust and C, but do more if you can. I can at least recommend learning a combination of languages from which you learn all of these aspects: manual memory management, automatic memory management (garbage collection), procedural programming, object oriented programming (OOP) and functional programming (the latter one is gaining more popularity these days), strongly typed, loosely typed (scripting languages are often loosely typed). Many languages have a combination of those aspects, so you can often learn multiple things together.
  • @joshua7884
    I enjoy the topic, the content and the comedy, thank you
  • @psymcdad8151
    My friend had a very pragmatic approach to this question; "Take a look at some examplecode. Pick the one that looks appealing. You will have to pick up other languages allong the way, so start with one that you like on first look. Most important is to just start somewhere and then keep going." (Was C++ for me. Just recently decidet to go 'full C' after another 30-ish-hour-nightmare-debugsession-from-hell because returnvalues from templates that get funeld into frameworks wich in turn return a pointer to a polymorphed class with 35 levels or inherritance sucks quite some major cojones. And while I miss some features of C++ (references, operator- and function overloading) the general ease of use outweights those few drawbacks, IMHO)
  • @SnakeEngine
    Everyone should learn C as this is the thinnest layer over Assembler that allows you to write high level code. Once you understand how to write it in C, you will be able to understand any language and concepts in a very profound way.
  • C++ have good memory security features. But too much people write C code in C++ with is pointless
  • @LogicEu
    Best video out there about programming language choices when learning by far!
  • @boody8844
    Thank you for this! I was pretty overwhelmed.
  • Who needs rust when you have C++ which is bett segmentation fault (core dumped)