Scheme and the Art of Programming

  • content

Right now I am reading the book by Daniel P. Friedman, “Scheme and the Art of Programming”.
It is known to all that a teaching (lesson) is not complete without the teaching reflections. A book-reading
process is also not complete without picking up some notes, writing some reviews and providing feedback
to yourself as well as the authors.

So in this post I will write down all I see and all that I want to say. Hope it would be of a little help to you.

And therefore this post is mainly organized in the order of TOC of the book.


The most important concept in all computer science is abstraction.

  • Abstraction: give something a name.

  • Reference: mention something by name.

  • Synthesis: combine two things to make a complex.

  • Here lies the rest of the ingenuity, the startling generalizing principle: the objects to be combined are instances
    of the abstraction mechanism itself!

  • An important exception is static type checking.

  • Scheme focuses particular attention on the concepts of abstraction and gen-
    erality to an extreme unmatched by any other programming language on my
    list. All objects in the language may be named, by a single uniform naming
    mechanism. All objects are first class.