At least in GNU land, even the C++ dynamic libraries depend on C.
Circling back to my original question, this does mean that a lot of interesting low-level library work must happen in C (or in C++ or Objective-C). This includes stuff like drivers, high-performance libraries, and so on.
So, where the heck are those developers discussing their development features?
In the scientific literature, both math and computing papers have the same extremely annoying feature, in my opinion: the most interesting bit, the development of a solution, is often skipped by using circuitous verbiage like "find a set S that fulfills ...", "having a tree T such that ..."; the actual interesting part, programming-wise, being how such a set is found efficiently, or how to construct such a tree efficiently, and so on. Basically, the papers either tell you there is such a way, or that there is an optimal way with specific characteristics, and spend a lot of effort in proving it, but they typically omit the actual interesting bits.
Most of my colleagues I've talked about this don't really see it that way. I don't know if it is because my own perception is wonky, or because they're accustomed to it.
In any case, I still believe there are people working on solving actual interesting problems using C (or C++ or Fortran); I'm just bewildered as to where the heck they're discussing the issues at.
Eh? Assembly has not gone anywhere. Anyone doing any serious debugging, or developing high-performance or security-sensitive code must be able to read and understand assembly.
Granted, few programmers need the skill to write assembly, although it is very useful for establishing a baseline for high-performance functions. (Those programming microcontrollers with strict timing requirements, kernel writers, and possibly low-level system library/compiler writers, are the ones that come to mind.)
Yup. If you don't have at least an overall understanding on how DRAM is built at the physical level, you'd never suspect rowhammer exists.