in reply to I *definitely* agree with Dijkstra
in thread about Coolness, Impatience and Complexity
Indeed, the functionality of the device doing the underlying
operations is the work of the mechanic, or in our case, the
EE. How often have abstractions in CS led to practical
discoveries? The Turing Machine was a theoretical construct,
but that construct is actually what led to the development
of the computers that we use today. Its simple language led
to the earliest machine and assembly languages.
And the higher level languages were results of abstraction
from assembly language. Object-oriented programming is a
perfect example of the practical fruits of thinking about
the way that tasks are performed on an abstract level
(avoiding the obvious pun on abstraction).