SICP

30 Oct 2021 - 22 Feb 2026
Open in Logseq
    • book
    • Structure and Interpretation of Computer Programs by Hal Abelson and Jerry Sussman. In olden times, used as the text for the first course in MIT's CS program. Uses Scheme (a Lisp dialect) which gives it a certain timeless feel.
    • image.png
    • 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.''
      • – from the Preface
    • Also too
      • Computational processes are abstract beings that inhabit computers. As they evolve, processes manipulate other abstract things called data. The evolution of a process is directed by a pattern of rules called a program. People create programs to direct processes. In effect, we conjure the spirits of the computer with our spells. A computational process is indeed much like a sorcerer's idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory. The programs we use to conjure processes are like a sorcerer's spells.