I came across an interesting article in which Andy Firth mentions how most programmers today are ignorant of the low level details about the environment they work in. I think he makes an excellent point – it’s absolutely essential to know how things work under the hood, even if you are not implementing things from scratch. He also makes a list of things programmers should go through, and links for details on each of the items. A must go-through list.
There is another timeless article on “Law of Leaky Abstractions” by Joel Spolsky, which can further highlight the disadvantages of ignoring these details. The abstraction that most platform developers have created for us is immensely useful, so that we can create higher-level, more useful software more easily, but when the abstraction fails, (like all software, they can have bugs too!) all hell breaks loose!