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.