We have also obtained a glimpse of another crucial idea about languages and program design. This is the approach of statified design, the notion that a complex system should be structured as a sequence of levels that are described using a sequence of languages. Each level is constructed by combining parts that are regarded as primitive at that level, and the parts constructed at each level are used as primitives at the next level. The language used at each level of a stratified design has primitives, means of combination, and means of abstraction appropriate to that level of detail.
obtained quotesglimpse quotescrucial quotesidea quoteslanguages quotesprogram quotesdesign quotesapproach quotesstatified quotesdesign quotesnotion quotescomplex quotessystem quotesstructured quotessequence quoteslevels quoteslanguages quoteslevel quotesconstructed quotescombining quotesparts quotesregarded quotesprimitive quoteslevel quotesprimitives quoteslevel quoteslanguage quotesstratified quotesdesign quotesprimitives quotesmeans quotescombination quotesabstraction quotesdetail quotes
The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology-the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects.
computer quotesrevolution quotesexpress quotesessence quoteschange quotesemergence quotescalled quotesprocedural quotesepistemologythe quotesstudy quotesstructure quotesknowledge quotesimperative quotespoint quotesview quotesopposed quotesdeclarative quotesview quotesclassical quotesmathematical quotessubjects quotes
First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.
Now the reason that we think computer science is about computers is pretty much the same reason that the Egyptians thought geometry was about surveying instruments: when some field is just getting started and you don't really understand it very well, it's very easy to confuse the essence of what you're doing with the tools that you use.