Hacker News new | ask | show | jobs
by 9oliYQjP 6233 days ago
All software programmers should know, at some simplistic but fundamental level, how the high level code they write actually gets executed. That means familiarity with actual hardware, even if it is in an academic way (e.g., building J-K flip flops, learning a fake ISA, etc.)
1 comments

I don't think it's all that useful. The simplistic view that say Java > Bytecode > ASM is approximately true but modern CPU's basically ignore the ASM and give you the correct result even if they did not do it the way you suggested. Even simple assumptions about RAM break down once you start looking at how L1 cache actually works. And let's not get into what the video card does when rendering text.

At this point I think most people are far better served understanding the abstractions that sit above the HW than what's under them. Learning how stuff works is great fun, but the average programmer and the average carpenter have little reason to care about QM even if it impacts what they do at some level. :-)