Abstractions Save Time Working, but Not Learning

Software abstractions save us time doing work by not having to write programs from lower level building blocks. Programming languages like Python provide an easier way to write general purpose software than say, assembly language.

However, abstractions don’t absolve us from having to learn about lower level building blocks because they always seem to leak through to higher levels. For example, you can’t build a web app using React without debugging an issue with hooks that have to do with async JavaScript once in awhile. Eventually, we all need to learn what lies beneath!

From The Law of Leaky Abstractions.

See also: