Tuesday, April 24, 2007

Function v.s. Procedure

The contrast between function and procedure is a reflection of the
general distinction between describing properties of things and
describing how to do things, or, as it is sometimes referred to, the
distinction between declarative knowledge and imperative
knowledge. In mathematics we are usually concerned with declarative
(what is) descriptions, whereas in computer science we are usually
concerned with imperative (how to) descriptions.

-- SICP, 1.1.7 Example: Square Roots by Newton's Method

Sunday, April 22, 2007

SICPing again

We are about to study the idea of a computational process. 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.
-- SICP, Chaper 1, Building Abstractions with Procedures