前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的期望与痛:SICP

我的期望与痛:SICP

作者头像
张逸
发布2018-03-07 16:29:44
1.8K0
发布2018-03-07 16:29:44
举报
文章被收录于专栏:斑斓斑斓

几天前,袁英杰在微信中推荐《计算机程序的构造和解释》(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开始。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 逸言 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档