Abstractions
http://www.joelonsoftware.com/articles/LeakyAbstractions.html --Essay by
JoelSpolsky
Even though there are many tools that add a layer of abstraction to something, sometimes the more low-level part breaks through, e.g. because of errors. One still has to know those low-level parts, therefore.
E.g. some language constructs are slower than others, achieving the same. E.g. visual programming let's you click together programms but if they don't work you are back at
handcrafting things.
Another example: There are several ways of accessing keys in dictionaries in
Python. Some are faster that others, under certain circumstances. Here
AbstractionsLeak.
[1]