所以,你要试试SICP

SICP真的很酷!不过你可能不知道该从何下手。

那就让我们开始吧!

等等,这到底是个什么东西?

计算机程序结构和解释(Structure and Interpretation of Computer Programs, 也就是SICP)是由麻省理工(MIT)教授计算机编程的一门课程演变而来的一本好书,

你可能会问,为什么你应该了解SICP?这个问题让Stack Overflow来回答:

一些经典书籍[...]教给你高效的工作习惯以及这个行业的某些需要注意的细节,其他一些[...]则带领你进入软件开发的某个特定领域,这些书都有他们各自的市场。

SICP,尽管如此,和它们完全处在不同的级别,这是一本带给你启发的书,它会唤起你编写优秀程序的激情。此外,它还会教你识别和欣赏什么是优秀,它会将你带入一种渴求了解更多知识的状态。其他书可能会让你成为一个更好的程序员,但这本书会让你成为一个真正的程序员

如果以上观点还不足以打动你,那么恐怕我也帮不了你了。

这本书的全部内容,包括课程以及练习,都可以在MIT网站找到:

http://mitpress.mit.edu/sicp/full-text/book/book.html

当然,要完全领会SICP,你需要做些练习,对此你要有心里准备,这些练习的难度是逐次递增的,有些需要你动点脑筋,还有些概念则会让你头痛欲裂。

SICP使用了Scheme作为教学语言,一种Lisp方言,这让SICP成为一本不错的函数式编程入门介绍,在Erlang,Haskell,Scala,Clojure甚至Arc(如果你读Hacker News的话)流行的今天,这看起来还挺时髦。

好了,但是只做练习而不测试是没有意义的,要做测试,你就需要一个Scheme REPL!

REPL

REPL是Read-Eval-Print-Loop的缩写,举个例子,我们可以将bash看做是一个REPL,你输入一行代码,代码被执行,打印出结果,然后继续。

Scheme有很多不错的REPL,比如Gambit Scheme。如果你用的是Mac,并且装了Homebrew,可以通过brew install gambit-scheme 安装,然后执行scheme-r5rsin,好了,你已经可以开始了!

如果你实在不想在本地倒弄scheme环境,你可以使用这个很不错的在线REPL:

http://sisc-scheme.org/sisc-online.php

(不过注意:在Mac上,你不能使用拷贝和粘贴,同样Firefox 4也不可以,不管mac还是windows都不行,求验证)

听起来还不错,但如果遇到困难该怎么办呢?

答案

别担心,有许多人已经在网上发布了他们的SICP练习的答案,Scheme的社区wiki就是个好地方:

http://community.schemewiki.org/?sicp-solutions

如果你足够信任我,也可以在github看到我的练习答案。

就是这样,你没有任何理由不去试试SICP,没错,就是现在,你这个懒人。

顺祝愉快!

更新: Hacker news上的评论总是那么的有深度。

原文链接,作者: Florent Delannoy

无觅猜您也喜欢:

救援机器人的日本地震救援计划

JavaScript版查找树介绍及性能分析

网站背后的面孔

创业者能得到的最高“赞扬”:你全都搞错了
无觅

你可能感兴趣的:(分类?没有)