procedural thinking

30 Oct 2021 02:15 - 16 Dec 2022 12:22
Open in Logseq
    • The view that programming and computation are more than tools for business or science or other applications, but a powerful new set of tools for thought.
    • Articulated by
      • SICP
        • Underlying our approach to this subject is our conviction that "computer science'' is not a science and that its significance has little to do with computers. 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. Mathematics provides a framework for dealing precisely with notions of "what is.'' Computation provides a framework for dealing precisely with notions of "how to.''
    • Of course, computer technology did not invent "procedural epistemology" if we take it in the broad sense of "knowing how to do things". That's what most knowledge is! Humans have a lot more experience and are just much better at learning procedures than learning facts. We are pretty good at "how to", and even have rudimentary meta-level how-to knowledge possessed by good instructors and coaches — that is, they know how to develop how-to knowledge in others, how to develop and transmit it, whatever it is.
    • But the powerful abstractions and compositionally provided by computation is something new. Traditional learning of skills was slowm, demanding, body-centered; computations are light as air yet readily manipulable by clever programmers. It gives us new tools for thinking about procedures, and allows us to reflect on our procedural knowledge in ways we couldn't before.