Building Abstractions
The first section of SICP looks at the process, i.e., the relationship and glue between data, and uses LISP as a means to conceptualize this relationship. Abelson and Sussman attempt to separate the “abstract” and invisible logic from the data that this relationship manipulates. They use LISP, LISt Processing, to bring out that underlying logic and treat the relationship as a conceptual object in itself. With LISP, they can name and control the movement of bits (process) through rules (LISP’s syntax), which manipulates data (building blocks). They bring the logic to the foreground to examine the data and process as objects in themselves to understand programming as a whole.
This focus on the process and relationship between data is similar to the project that Georg W. F. Hegel embarked on. In order to conceptualize two objects, there must be a third object that does the conceptualization of those objects and creates the relationship. The embodiment of the process has a purpose and direction, and he attempted to extrapolate this notion through social phenomena. His writings and the dialectic are somewhat cryptic as Abelson and Sussmman also treat the process of computer programs as a magic spell.