SICP(Structure and Interpretation of Computer Programs)
Framework
Chapter 1 Building Abstractions with Procedures
Chapter 2 Building Abstractions with Data
Chapter 3 Modularity, Objects, and State
Chapter 4 Metalinguistic Abstraction
Chapter 5 Computing with Register Machines
Chapter 1 Building Abstractions with Procedures
This chapter will talk about what is Procedures, and how to use it as a kind of material to build Abstractions. The second important thing is understand what is the essential of Abstraction.
Chapter 2 Building Abstractions with Data
The essential of Data. Program = Data + Procedure,
Procedure is another Data, Data is another Procedure.
Chapter 3 Modularity, Objects, and State
Modularity : Modularity is one measure of the structure of networks or graphs. It was designed to measure the strength of division of a network into modules (also called groups, clusters or communities).
Why we need Modularity? Because the program grow up to big, it become too complex to understand and control. So separating is the only way. The way of separating is Modularity.
Where is the concept Objects come from? Object is one kind of Modularity. Because Object close to the real world , so human can understand it easily.
What is State? As program being more complex, program need the ability of memory. So, State is the abstract perspective of memory.
When we get this chapter, there becomes some technic which likes the cook technic to manage program and let it easy to be understand. And the food is always be Data and Procedures.
Chapter 4 Meta-linguistic Abstraction
We can establish our new program language. why we need a new language? Because our business is too complex to control if we use the PL which had been fixed already. So we need a middle layer interpreter which called DSL to reduce the complexity.
What is the core part of a interpreter? That is eval and apply. They like the a engine works to spurts the whole calculate.
Chapter 5 Computing with Register Machines
This chapter will talk about an abstract Machine.
Last chapter we create a new program language as an interpreter. This Chapter will talk about what is the deeper next layer of the interpreter, who support the calculating , who support the eval and apply working.
The answer is a logic unit , we can use the logic unit to build the deeper interpreter to support the higher interpreter which likes the Lisp interpreter or Our own interpreter.
And the logic unit and be found in the real physical world . so we can build a physical machine to working in the real world , that is CPU.
Also we can use the logic unit to build a virtual machine likes a virtual CPU.
网友评论