5 ms·
The answer is probably never. There will be deeper levels of abstraction, and the OS, for the most part, will do a marvelous job hiding it, but without a stron
by jasonjei 14y ago
The answer is probably never. There will be deeper levels of abstraction, and the OS, for the most part, will do a marvelous job hiding it, but without a strong understanding of assembly you'll never be able to work on things like memory management, efficiency algorithms, and so forth. For example, assembly forces you to think in terms of bits, so knowing word-aligned vs non word-aligned code can make drastic differences in speed. Also, knowing how 64-bit is different from 32-bit makes a world of difference. Assembly forces you to think in those contexts.
For the most part, the average programmer today already does not need to know assembly. But if you want to work on other low-level aspects of code (or optimize your code for efficiency), knowledge of assembly is critical. You might not have to write very much assembly, but things like context-switching that happens on the CPU level (e.g kernel land vs user land) can only be done by sending the right instructions to the CPU.