我的期望与痛: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 条评论
登录 后参与评论

相关文章

来自专栏理论坞

情商高的男人,都应该学习这些说话技巧

我们从一两岁开口发出第一个音节起,就被称为学会说话了,几十年来,每一天我们都要说话,从简单的沟通交流,到复杂的辩论探讨,说话伴随着我们每个人的生活——说话是件小...

712
来自专栏灯塔大数据

单身数学家如何通过大数据找到真爱

? 男主角麦金利 凌 晨三点,在加州大学洛杉矶分校(UCLA)数学系大楼五楼的一个拥挤小隔间里,克里斯·麦金利(Chris McKinlay)正在为他的博士论...

2695
来自专栏企鹅号快讯

编程难,首先入门就难

“Hello,world”,其实并不像你想象的那么简单。 某虽不才,小学稀里糊涂的拿过县里奥数三等奖,95年就能用小霸王学习机(Basic)打出杨辉三角形,高中...

2075
来自专栏程序人生

长日无痕(一)

注:本文写于2013年~所以文中的事件都发生在北京 (一) 又是一个闷热的周六,灰霾就像粘在天空一样,依旧笼罩着这个城市。带着小宝,我们三人游荡在蓝色港湾的儿...

3966
来自专栏腾讯社交用户体验设计

茶·花·小黄脸——QQ新增表情

1132
来自专栏大数据文摘

我12岁,4年码龄,我是这么学编程的

1574
来自专栏镁客网

让上班族尖叫的神器LiftUp!肌肉男神为之疯狂

1483
来自专栏企鹅号快讯

程序员必读的十三本经典书籍

程序员必读的十三本经典书籍 私人书单,仅供参考! 01 《代码大全》 史蒂夫·迈克康奈尔 “优秀的编程实践的百科全书,《代码大全》注重个人技术,其中所有东西加起...

1795
来自专栏程序人生

red,不红不专,但性感

red lang 前两天发布 0.6.3 了。osx GUI 终于得到了支持。 这事,连 hacker news 上都没掀出多少波澜。帖子在近二百多顶后,就渐渐...

32312
来自专栏编程坑太多

22 岁毕业做程序员的「普通」人,50 岁时的人生轨迹是怎样的?

  常年坐着写代码让我得了职业病,颈椎和腰椎都不太好。当然我也自认为是有些优点的,首先我对自己的逻辑能力还比较有自信,我也喜欢学习,编程完全是自学的,现在虽然一...

1034

扫码关注云+社区