3 ms·
One litmus test that a former coworker applied was "how resource constrained is the application"? I think conceptually this is a better test, more so than say
by kartayyar 7y ago
One litmus test that a former coworker applied was "how resource constrained is the application"?
I think conceptually this is a better test, more so than say if you have access to a raw pointer - because more important parts of how to handle core issues like scheduling, storage management, concurrency, parallelism and distributed computation manifest themselves in many forms.
I started my career doing C programming in a OS / kernel environment. In retrospect a lot of pieces of applications I've worked on are what I think of as systems, and many parts of kernels are more applications than systems.
- tom_mellior 7y agoHow resource constrained is the Linux kernel when running on a modern x86_64 machine with 16 GB of RAM? Not very. So is Linux kernel development for this platform not "systems programming"? If you're going to say something like "but the kernel should be fast when servicing syscalls", you are right, but that is not a resource constaint, it's a user requirement. LibreOffice should also be fast when reacting to my keypresses, but I hope we agree that LibreOffice development would fall into the "applications development" camp, if we have to put things into bins. The truth is, we don't have to put things into bins. There is no need for a muddy, fuzzy term like "systems programming". If you're doing "kernel programming" or "embedded systems programming on resource constrained microcontrollers", you can just say that directly.