Comment Re:makes sense (Score 1) 426
There is no need to know anything about the hardware.
Modern programming is about algorithms and interfaces. Knowing how to simulate 4GB memory space with only 8 bit registers is not important.
Sadly, modern programming is mostly about plugging increasingly bizarre abstractions into each other. The algorithms that do the actual work are hidden in the depths of libraries. But even if you're a Java jockey of the most bureaucratic kind, you still need to know about hardware because of the Law of Leaky Abstractions. For instance, sooner or later you will encounter an integer overflow, and it'll throw you for a loop unless you know about the two's complement representation of negative numbers.