Put the gun away and throw that cpp book in the bin, fool. I brought The Linux Kernel Programming Guide, which is in C, and my own socks, which are wool. Now let's gets crackin.
Never touched rust, so I don't understand the hype. I'm not arguing against it, mind you, but I'm gathering, more and more, that it's worth a look. Maybe I'll look into it after work.
Did he actually say that he likes it? My impression was that it's not his comfort zone, but he recognizes that for the vast majority of young programmers, C is not their comfort zone. And so, if they don't hop on this Rust train, the Linux kernel is going to look like a COBOL project in a not too distant future. It does not happen very often that a programming language capable of implementing kernels gains wide-spread adoption.
If they can define a useful ABI that manages to include lifetimes, that might just be enough of an improvement to get people to switch over from assuming the C ABI everywhere.
Honestly, I prefer King's book to any other for intro to C programming. K&R is a classic, and is really quite good for diving into some cool tricks (i.e. postfix operation wizardry).
But as a beginner, I can just say that King's book is much more digestible. The author holds your hand a lot more and assumes you only have a basic knowledge of programming and the UNIX command line.
That said, the exercises and simple projects do push you to demonstrate what you learned in each chapter as well as enforcing other Computer Science fundamentals like basic data structures (stacks, queues, linked lists) through demonstrations in the C language.
the author of C++ said that C gives you many opportunities to shoot yourself in the leg. You have a much less chance for this to happen with C++, but when it does, you will blow your whole lower body off
Am I going too hard by making shortcuts to start and stop SSH on my steamdeck desktop for easier file transfer?
Feels like a basic security step when connecting to other networks, while not wanting to remember the commands to enable, also wanting to avoid keeping the perms permanently open for the sake of unknown backdoors.
Even added windows stating if it was started or stopped in the case of extra sauce or herb.
Ayy girl, we're going over and beyond with your network security, because we all do a fucky wucky from time to time.
for command line apps bash, python, perl, ruby and similiar high level languages are more than enough. You can write some Kali Lincox the louder you are the less you hear network probe stuff with any of these, or even a storage optimizer (BleachBit is almost entirely written in Python, which is a very highly abstracted language implemented from C) Rust and C are only needed for performance-crtitical stuff (like rythm games) or/and directly interacting with hardware (drivers, firmware, system functions)
I would not throw Rust and C together in this.
Rust is low-level in terms of being usable for kernel and embedded development (due to not needing a runtime), but it's rather high-level in terms of the syntax offering lots of abstraction from the weirdness of the hardware.
Some of that not-needing-a-runtime does bleed into the syntax, but in my opinion, it's still higher level from a syntax perspective than Bash et al, because it brings in many functional aspects.
I guess, I'm also just bothered by you saying, you don't 'need' Rust for writing CLIs, when it's my favorite language for this.
To some degree, I do just find it ridiculous to launch a whole runtime when the user just wants the --help, but the argument parsing in Rust is also just really nice: https://rust-cli.github.io/book/tutorial/cli-args.html#parsing-cli-arguments-with-clap
i never said you can't. But high level languages were made for high level programming, and low level for low level programming. If you only know C, sure, you can write a desktop music player, but it will be much harder than just using Java, or even Python, since both of these languages are known about their extensive prewritten libraries. And you have to write much less, which means less room for error. Using a high level language will also benefit you if you decide to port your app to a drasticly different operating system. You can use the same codebase for Python, and for Java too to seamlessly run the program on any other os supported by these languages. In C, you need to adjust a lot of things, i know from experience that Linux C source can compile and run on windows, but it is extremely rare and can introduce bugs. However, you are right that C is highly multifunctional. If you know it, you can write any low level software or desktop app. And it also runs mich faster than any high level intrepeted language. And even if i could be considered a beginner, i actually study software development and testing, so i have an idea what i'm talking about