Positioning SICP 1: Building Abstractions with Procedures
Positioning SICP 1: Building Abstractions with Procedures
作者:何岩,recreating.org出品,谢绝转载。
阅读[SICP],站在Lisp发明者的上帝视角来思考:“我为什么要这么设计Lisp?”
0.前言
本系列为Recreating Lisp的准备阶段。因为,硬核知识要基于SICP,所以,我需要一边读SICP一边构建“纯”定位体系。
文字就像是线,串起来的珍珠就是SICP中的Lisp代码。
所以,这本书的创造,换句话说,就是面向代码定位,而非面向概念。
第一本书是面向概念定位,因为概念容易描述清楚。
而本书很难面向概念定位,因为SICP是将如何编程的,很难之用文字描述清楚,代码的描述是最客观的。所以,这也决定了,这个书更适技术背景的读者。
WHAT - 本系列写的是什么?
定位,定位概念体系,定位Lisp的概念体系,定位为什么Lisp如此设计?以及,为什么这么使用Lisp来构建抽象?
WHY - 为什么要写定位?
1.因为,让自己站在创造者的视角,用自己的眼睛看世界,用自己的语言表达一遍SICP中讨论的各种概念,才能真懂。
2.另外,SICP的文字的并不是面向定位的,所以比较难看出结构来,而我的文字目的就是要表达定位,所以我的文字的价值能有倾向性。
HOW - 我如何写?
1.我要站在Lisp发明人的上帝视角不断的提问:“我为什么要设计这个概念?(Why I design this concept?)”
2.通过问题来引出SICP中的代码实现。
3.再即兴的加入感悟的文字,关联其他领域,例如:Bitcoin,哲学等生活体验。
4.最终呈现一个概念体系,体系的核心是Lisp。
1.Why - 我为什么要创造Lisp这个高级编程语言?
为了构建抽象。
写到第二篇产生的感悟是:为了构建复杂,但是由于脑力限制,我们还要控制复杂。所以,编程就是既要构建复杂,又要控制复杂。解决的方法就是:抽象。
WHY - 为什么构建抽象?
为了模拟真实世界。
WHY - 为什么要模拟真实世界?
更高效的处理...
































































