4 ms·
I think this answer is pretty bad. You don't need to do all that CJ stuff of building a Linux just to learn systems programming. That's all domain-specific kn
by SamReidHughes 12y ago
I think this answer is pretty bad. You don't need to do all that CJ stuff of building a Linux just to learn systems programming. That's all domain-specific knowledge that would be irrelevant to the vast majority of people doing systems programming on Linux, and all of the people doing systems programming on other operating systems.
Assembler is also a low priority to learn. The details of x86 assembly are not important until you happen to need them for some reason -- in which case, learn it when you need it. The same goes for Linux and OS details. Most systems programming does not require the use of assembly language. If you do want to get a feel for "what assembly is", do some of the challenges at https://microcorruption.com/ https://microcorruption.com/ . It's a lot of fun in its own right and avoids x86 minutia, and you'll get a good picture of how what a stack would look like and what function calling can look like.
What you need to do to learn "systems programming" is crack open C and C++ and get yourself pretty good at them. And get good at dealing with multithreading and the like. That's what the original poster is asking for.