The purpose of abstracting is not to be vague, but to create a new semantic level in which one can be absolutely precise.
— Edsger W. Dijkstra, The Humble Programmer (1972)
Source: https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html
Often misquoted as "The purpose of abstraction...".
Topics: software design