Ask HN: How do you get into systems programming
a_tartaruga 4 hours ago It sounds like you're doing the normal sort of things that systems people do to get started. The fact that you have lots of ideas to jump off of is very good. In general just follow all of your ideas down as far as you can to the base systems. Write the TCP implementation for your HTTP server and run it over the internet for example. You've only gone too far when you start worrying about noise and debugging looks like randomly grounding metal things.abhisek 23 hours ago IMHO there is neither baseline nor “enough” when it comes to learning any programming language for any reasonably complex domain.As you already know, C/C++ helps with low level software layers that interface with or manage hardware resources. In my experience, Go and Rust are also pretty much used as systems programming languages. For example, I use Go and EBPF to instrument systems calls on Linux kernel.
For me, most of my learning came from solving problems and building for specific use-cases. I think getting into builder mode and creating some cool will definitely accelerate your learning.
sargstuff 23 hours ago On software side, building an OS (distribution) from scratch provides a step above bare metal programming[0].Provides familiarity with different types of things a kernel does via programs/scripts that make use of kernel.
Actually writing binary code for kernel bit can be done under qem[1][2]. aka don't need to buy actual hardware, can use 'software probes' to view what's going on, etc. Don't have to worry about 'crashing'/trashing box running on (just crash the qem software & loosing just what was done in qem session, if didn't save as 'export/save to external location outside of qem session')
"Reading OpenBSD source code daily (blog.tintagel.pl)" from [hn: 3] automated way to review code.
-----
[0] : https://www.linuxfromscratch.org/
[1] : qem for kernel developers - https://www.youtube.com/watch?v=LyWlpuntdU4
[2] : https://www.collabora.com/news-and-blog/blog/2017/01/16/sett...