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.