nSICP Chapter 2 intro
n
nThus, whereas our focus in
chapter 1 was on building abstractions by combining procedures to form compound procedures, we
turn in this chapter to
another key aspect of any programming language: the means it provides for building abstractions by combining
data objects to form compound data.
n
nWhy do we want compound
data in a programming language? For the same reasons that we want compound procedures: to
elevate the conceptual level at
which we can design our programs, to increase the modularity of our designs, and to enhance the expressive
power of our language.
Just as the ability to define procedures enables us to deal with processes at a higher conceptual level than that of
the primitive operations
of the language, the ability to construct compound data objects enables us to deal with data at a higher
conceptual level than that of the
primitive data objects of the language.