David Thompson

David Thompson at

I find people's aversion to abstraction pretty confusing. Everything works via layers of abstraction. Abstraction is the most fundamental and important concept in engineering. For example: Digital circuits are implemented in terms of (i.e. an abstraction layer over) analog circuits. There are groups of people that want to use C for everything because they don't like high-level languages, but I certainly do not want to be concerned with the minutia of manual memory management when thinking about high-level problems like in a web application. It's absolutely crucial in good software design to construct a language that makes it easy to express the solutions to problems in the domain you are concerned with.

tl;dr - Read your SICP, folks!

Paco Vila, Claes Wallin (韋嘉誠) likes this.