Recreating SICP:故事框架设计

0.前言

为了表达计算机科学的全局定位感,我将以SICP(Structure and Interpretation of Computer Programs)为内核,用故事的形式来进行重构。

故事的人物原型采用动画片:Rick & Morty

Rick & Morty



1.提纲:

0.定位是本系列的第一抽象目标,摆对位置,理解自然发生。

1.计算机科学的定位:科学与世界的关系,计算机科学与科学的关系,编程与计算机科学的关系,软件与硬件的关系。

2.计算机科学即不是科学,重点也不是计算机。

计算机科学不是科学,它不是理学,它更像是工程学,类似一门手艺或者艺术。

计算机也也不应该是重点,计算机只是承载思考的工具,这就好比粒子加速器不能代表物理学,显微镜不能代表生物学。

计算机科学的真正名称应该是思考的艺术或者思考的手艺。

3.剧中Rick如何设计学习目标?

方案A:从0开始构建

1)到一个平行宇宙,在这没有计算机,Morty的学习目标是在这里构建计算机科学。

2)发明计算机

3)发明基于计算机的编程语言

4)利用编程语言构建复杂系统

5)编程语言可以构建逻辑计算机

方案B:直接从LISP开始

1)Process就是精灵,Procedue就是咒语,学会了咒语,就可以让精灵替你做事情。你就拥有了魔法能力。

2)Rick就开始教Morty这种魔法。目的是可以使用这种魔法做一个业务。

3)业务可以先画个大饼,吊着Morty的胃口,教学顺序则可以和SICP一致了。

4)本质上就是找一个理由,让RICK的教学和SICP一致。 而SICP没有给出这个具体的项目目标。

方案C:分层,Layer System

1)设计大小合适的目标,作为一个独立完整的层。

2)层和层之间是支撑关系,但是彼此还独立。

3)解决的问题是:目标设计的大小合适。如果目标是重造计算机科学太大了。如果是没有目标的直接从LISP开始,读者会没有方向感。

方案D:计算器->通用计算器

1)从一个极简的加法器开始

2)各种计算能力:平方根,有理数

3)通用计算器=计算机 

4)Rick‍‍‍会做一些脚手架,来为Morty接生,不会让Morty从0开始。

5)Rick带着Morty画一个圆,最终Morty可以咬上自己的尾巴,达到通透境界。

6)Rick一个人无法从零开始构建计算机科学,因为,最简单的起点最难理解,他必须经历足够多的复杂,才能理解简单。这就像一次浴火重生,一次轮回。这就像巴赫的哥德堡变奏曲,经过一个周期,回到第一首,同样的曲子不同的意境。

7)Morty想要学的是创造一个小宇宙就像之前Rick用来当电源的小宇宙。Rick说好,就创造了一个初级的半成品,这个宇宙还没有计算机科学,需要Morty帮助这个宇宙的人们造出一台通用计算机。为什么不让morty从零开始创造一个小宇宙呢?因为最开始的基础最难理解,必须要理解到足够的复杂之后才能理解,这个理解路径就像画一个圆圈,最难的是从底部开始画,比较容易的是从左边开始,画着画着就懂得了足够的复杂,再往前走就会碰触到那个底部的简单。所以真实过程是Morty在小宇宙中从半成品开始学习和构建,创造出了小宇宙中的小小宇宙,这时候morty就能理解最初的简单。在这个过程中Rick就是搞定半成品的脚手架、接生婆。Rick将Morty的认知接生出来。

8)第一阶段,Rick让Morty在自己创造的Lisp解释器之上构建计算器,

第二阶段,Morty需要让这些计算功能的代码跑在自己构建的Lisp解释器之上,虽然这个Lisp解释器是基于Rick提供的Lisp解释器。

第三阶段,Rick让Morty自己创造出支撑Lisp解释器的硬件(虚拟硬件,用LISP来模拟)。

4.通用视角:解释器。用解释器这个通用视角可以理解所有事情。通过这个视角可以明白Power来自原子的自动work,人能做的只是设计布线,让原子的力量可以传导到业务层。而原子的动力来自底层的解释器,即,元解释器。元解释器不可说,所以Pow come from  GOD。

5.编程是一门艺术,这里的艺术是指,在程序设计期间,就可以想象出运行时的效果,编程者的水平就依赖想象的能力,也就是看见未来的能力。用解释器的视角来解释,就是每个人的大脑中的解释器品质不同。

这种人脑中解释器的构建,本质就是在打磨艺术品。所以真正的艺术品是Mind中的解释器,而看得见的东西只不过是它的外显。

6.作者的定位是什么?即书中实现的产品目标是什么?

1)产品目标是计算机科学。上帝视角

2)产品目标是计算机科学的教程,SICP视角

3)产品目标是创造LISP语言,魔法师视角。

7.Essential of Computer science

An Art of controlling complexity with the tool of Computer.

An Art of entropy reduction, which is the original task of life.

从抽象的视角来看,所有技艺的目的都是减熵,只不过使用的工具不同,画家用画布和画笔、厨师用食材和刀叉、木匠用木头和尺锯、作家用文字和笔纸、程序员用代码和计算机

8.Design book structure

Part I Calculate

Part II Universal Computation

Part I for basic purpose: calculate faster than human’s brain. (inner cycle)

Part II for extended purpose: control complex (outer cycle)

9.戏核:如何创造出通用计算器

2.故事框架

1.Rick的宇宙飞船没电了,发现是电池没电了。

2.宇宙飞船的电池是一个RICK创造的小宇宙(Matrix)

3.Rick&Morty通过类似耳机的设备接入到Matrix,想要排查问题。

4.这时候,Rick&Morty的肉身还在现实世界,只是精神通过耳机联接进入了Matrix。

5.问题所在原来不是Matrix,而是垃圾回收程序(GC)

6.GC是一个特殊的程序,GC运行在Matrix之外,GC是清理内存,Matrix根本不知道它的存在。

7.Rick想要退出到现实世界,再来修复GC,但是耳机退出功能无效了。因为GC将Matrix搞乱了,而耳机的CODE虽然是好的,但是运行要基于Matrix,所以无法正常运行。

8.Rick想要创造一个新的解释器,来支撑耳机运行。

(接入SICP的第4章)

9.为了测试解释器,需要创造一个应用程序,即,一个计算器。(测试驱动,即因为解释器所以构建应用OR因为测试需求的存在,所以构建应用)

10.计算器一步一步演进,越来越复杂。同时解释器也跟着一步一步演进,跟得上应用的复杂。因为应用要跑在解释器之上。(融合SICP第3和第4章,成为双线演进)

最开始Rick带着Morty写一个计算器,后面主要由Morty负责,Rick可以随便提要求,功能越来越难,例如:自然数运算,有理数运算,复数运算,微积分等。因为Rick会说,这些计算能力,耳机中都会用到。所以,测试用例必须通过,耳机的退出才能正常。(这样设计的好处是,不用解释耳机如何做出来的)

11.新解释器好了,但是Rick发现自己糊涂了。因为即便新解释可以解释运行耳机代码,但是自己并不能进入到解释器中被执行。

12.所以,Rick需要创建一个新Matrix,让自己链接进去,再在里面运行耳机退出。

13.而,新Matrix无法基于新解释器,因为新解释器基于旧解释器。而旧解释器很不稳定。

14.所以,Rick需要基于硬件,创造出一个LISP Machine。Lisp Machine就是一个硬件的Lisp解释器。

(接入SICP的第5章)

15.为什么LISP Machine的硬件可以正常运转,而旧解释器无法正常运行?

    - 因为,硬件单元足够简单,没有被破坏。但是就解释器太复杂,无法稳定。

16.硬件单元的本质,也是LISP解释器解释出来的虚拟硬件单元。只不过这部分代码很稳定而已。也就是说,就的LISP解释器,只在解释硬件单元的部分是稳定的。

17.RICK联入新的MATRIX,然后退出到真实世界。

18.为什么进入到新Matrix,可以退出到最外层的现实世界,而不是退出到旧Matrix?

    - 因为,退出功能的本质,是欺骗大脑,自己真的退出了,真正退出动作是大脑完成的。

    - 因为,如果Rick在Matrix中自杀,会真的死掉,因为大脑相信自己死了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342