4 ms·
The key to any of embedded, system, or low-level programming is as much about learning how the computer actually works to a reasonable degree. You are not progr
by fargle 3y ago
The key to any of embedded, system, or low-level programming is as much about learning how the computer actually works to a reasonable degree. You are not programming to an abstract computation model. You are moving bits and bytes around and generating assembly code and talking to the machine at quite a low-level.
So while Rust and C++ are higher-level languages with all kinds of nice features to be safer, concise, structured, etc. they are not good at all for learning how to work at this low-level. Wielding either of them well for systems code is quite advanced.
C and assembly are where you really need to start.
- user8501 3y agoC is an abstract computer as much as any virtual machine. Now this computer is quite simple compared to the abstract machines of Rust and C++ but is doesn’t have much to do with how a computer actually works.
- nathants 3y agoc doesn’t have any good game engines or physics libraries. missing other stuff too. otherwise it’s perfect. passing structs to functions is probably the way, but a struct with functions works too.
- kaba0 3y agoDisagree, C is not at all lower level than Rust or C++. It is much less expressive, but there is nothing that would be possible in C that can’t be done in C++/Rust. Hell, these latter two are even closer to the hardware due to having proper SIMD primitives. C++ is the de facto “most performant” language for a reason.