3 ms·
This, exactly. CPUs and their insides, the hardware, understanding that, and then understanding the whole software stack that runs on that hardware, I mean _rea
by inDigiNeous 12y ago
This, exactly. CPUs and their insides, the hardware, understanding that, and then understanding the whole software stack that runs on that hardware, I mean _really_ understanding, by definition that if one bit was off in the RAM you could completely trace it all the way from the application level to the hardware level.
Almost nobody can do that. The hardware alone is so complex, these modern CPUs have many BILLIONS of transistors packed so tight that it is impossible for us to even fix them. So we just have a vague understanding of what is going on when we program, but really, we have no clear picture. But the best programmers out there, they have this map of the computer in their heads and the systems, and the better you are, the better the map in your head is.
Think NASA level programmers. They truly have to know how the system works, and yet, they cannot most probably understand the whole stack even, down to the transistor level operation, and then below that even in some really extreme cases where the systems overheat and there is magnetic bit flipping happening and other obscure stuff.
Immense amounts of work equals to amount of commitment required, which equals hard. To be a really competent programmer that knows how to truly take advantage of the machine is really rare, and even then it is down to some very specific domain, like graphics programming, systems programming and so on. So it is very hard to achieve, and very rare.