It’s my first time coming across computer science literature that reads like one of Bertrand Russell’s philosophical pieces. Here’s an excerpt from the foreword I’ve just gotten past; if you’ve taken a course in programming languages this semester, steal this book!
Every computer program is a model, hatched in the mind, of a real or mental process. These processes, arising from human experience and thought, are huge in number, intricate in detail, and at any time only partially understood. They are modeled to our permanent satisfaction rarely by our computer programs. Thus even though our programs are carefully handcrafted discrete collections of symbols, mosaics of interlocking functions, they continually evolve: we change them as our perception of the model deepens, enlarges, generalizes until the model ultimately attains a metastable place within still another model with which we struggle. The source of the exhilaration associated with computer programming is the continual unfolding within the mind and on the computer of mechanisms expressed as programs and the explosion of perception they generate. If art interprets our dreams, the computer executes them in the guise of programs!
Source: Foreword, Structure and Interpretation of Computer Programs, Hal Abelson, Jerry Sussman and Julie Sussman (MIT Press, 1984; ISBN 0-262-01077-1)