我的期望与痛:SICP

几天前,袁英杰在微信中推荐《计算机程序的构造和解释》(Structure and Interpretation of Computer Programs,SICP)。

他的推荐词说:

SICP是一本无论如何都应该去仔细阅读的书。读完它,如果你不是变成了fp的狂热爱好者,而是除了理解fp之外,也更加深刻的理解了OO,logical programming,以及认识到用任何一种方法描述世界都有其局限性,从而放弃对单种范式的狂热(但过程式是个例外,你需要从这个泥潭中越早跳出来越好),那么你才没有白读这本书。

其实,在2013年,我还在ThoughtWorks时,就曾经和同事一起整理了一份ThoughtWorks读书雷达,在编码实践象限中推荐了SICP。推荐词如下:

在Coding Practice象限中,我们唯一推荐了一本似乎与工程实践无直接关联的书籍,即Harold Abelson与Gerald Jay Sussman的著作Structure and Interpretation of Computer Programs《计算机程序的构造和解释》(即SICP)。 作为MIT(曾经的)计算机系第一门编程课的教材,这本书没有像诸多基于C或者Java的编程入门教材那样纠结于语法和库——LISP的语法确实也没什么可以纠结的。 本书讲的是一些最基本的问题,比如什么是计算、什么是抽象、什么是模块化、乃至什么是时间和什么是自然数。一个以软件开发为业的程序员,或早或晚终归要想透这些问题,然后才能看破各种琳琅满目的编程语言所提供的五花八门的语法糖,以不变应万变地坦然面对一切不涉及并发的程序设计问题。把这本书当做第一本编程教材或许有些激进(MIT也已经不再这样做),但你早晚会遇到它。 有人不无夸张但相当在理地说:自SICP以降,无并发的编程没有任何新鲜问题;如果你觉得自己有了新发现,要么是SICP已经写过只是你不知道,要么是你想错了。

这一段是熊节的推荐。

应该在2014年,ThoughtWorks成都Office的杨阳在Office开展了SICP的系列Workshop,选用了clojure语言来尝试阐释书中理论和思想。可惜当时我出差在外,没有机会参与这个有趣的活动。至今想来抱憾。

:clojure是我一直想学却一直未学的一门语言,而SICP是我一直想读却一直未读的一本书。

Anyway,得听本书的大名并且许下要阅读此书的宏愿,比这还要早得更早。可以称得上是我内心隐藏的期望了,如今倒成了一种痛。我像一个倒吃甘蔗的吝啬鬼,舍不得把最好的那段留到最前面。我总是说我要读它,因为它实在太好,反而不舍得去阅读了。

借口!

其实是心中怀抱一种恐惧吧。我害怕我有点读不懂它,就像是高高在上的女神,我有点自惭形秽不敢去追求。——于是,我买了中文版的SICP,却从来没有翻开它;我在GitBook下载了LFE(Lisp Flavored Erlang)版本的SICP,却从来不曾点开它。我将它藏起来了,貌似珍藏,实则逃避。说是拖延症吗?其实未必呢。

隐隐地,我总觉得阅读此书是重要的,却并非紧急的;于是无意识中让许多紧急却并不重要的事情抢到了前面,阅读的优先级一退再退。若按小刀的说法,则认为阅读此书与解决自己的痛点不符。大约也有道理,因为阅读本书可能看不到直截了当的短期效果。短平快的收益,是学习一门语言,学习一件工具,学习一个平台。有多少会熟练编写C++、Java、C#、Scala、JavaScript、Ruby、Python语言的人,又读过SICP呢?读了它,未必能成道;不读它,也足以成为高手;得道的可能万中存一,于是就放弃了。

剖析我的心路,大抵如此。

既然给英杰说要逼逼自己,就不要拖延到明天了。明日复明日,也许真要拖到老了。虽然英杰说读此书是It's never too late。不过早总比晚好,要不,今天就开始阅读。从第一章Building Abstractions with Functions开始。

原文发布于微信公众号 - 逸言(YiYan_OneWord)

原文发表时间:2016-01-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏斑斓

晴窗闲谈 | 今天,你写自动化测试了吗?

一艘货轮满载着货物从港口启航,向浩瀚的大海深处破水而去。海面平静,微微皱起波浪,从容而显得宽容。然而,货轮的步履却有些蹒跚,发动机“轰轰轰”地嘶吼着,不堪重负,...

3225
来自专栏大数据钻研

历史上最伟大的12位程序员

所谓程序员,是指那些能够创造、编写计算机程序的人。不论一个人是什么样的程序员,或多或少,他都在为我们这个社会贡献着什么东西。然而,有些程序员的贡献却超过了一个普...

36411
来自专栏腾讯大讲堂的专栏

陪你长大的互联网产品,小时候都长啥样?

18岁以前,我们总希望时间过得再快一点,好从父母老师的唠叨中挣扎解脱出来。 当我们再没有资格过儿童节,却无比怀念大大牌泡泡糖,一块钱一袋的小浣熊干脆面,英语课本...

2567
来自专栏量子位

艾玛不哭!AI引起的“换脸”问题,AI正在解决

这个年,希望艾玛·沃森(Emma Watson)过得踏实。 之前我们报道过,纸醉金迷的资本主义网站Reddit最近搞出可怕黑技术:用AI技术,把爱情动作片中的主...

3764
来自专栏大数据文摘

【致敬】历史上最伟大的12位程序员

1834
来自专栏腾讯NEXT学位

据说只有程序员看得懂这些段子

39310
来自专栏大数据文摘

你说的案发时间和Apple Watch讲的不一样!

一起表面看来是行窃杀人的案件,其实却是死者亲属的亲手策划,而让真相水落石出的,竟是一块小小的智能手表。如今,健身追踪器和它们收集的数据已经成为了刑事调查的得力助...

1210
来自专栏编程一生

作为初级管理者必会的方法论和分析法

1535
来自专栏ThoughtWorks

今天,你写自动化测试了吗?

一艘货轮满载着货物从港口启航,向浩瀚的大海深处破水而去。海面平静,微微皱起波浪,从容而显得宽容。然而,货轮的步履却有些蹒跚,发动机“轰轰轰”地嘶吼着,不堪重负,...

3117
来自专栏镁客网

罗永浩:我不跟骂TNT的人一般见识

还记得上一场“重新定义下一个十年的个人电脑”的那场发布会吗?这一场,锤子重新定义了7:30。

872

扫码关注云+社区