所以,你要试试SICP

标签: 分类?没有 | 发表时间:2011-03-28 14:21 | 作者:yuanyi Sirius
出处:http://heikezhi.com

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版查找树介绍及性能分析

网站背后的面孔

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

相关 [所以 sicp] 推荐:

所以,你要试试SICP

- Sirius - 黑客志
计算机程序结构和解释(Structure and Interpretation of Computer Programs, 也就是SICP)是由麻省理工(MIT)教授计算机编程的一门课程演变而来的一本好书,. 你可能会问,为什么你应该了解SICP. 这个问题让Stack Overflow来回答:. 一些经典书籍[...]教给你高效的工作习惯以及这个行业的某些需要注意的细节,其他一些[...]则带领你进入软件开发的某个特定领域,这些书都有他们各自的市场.

知其所以然(续)

- 小和尚 - 刘未鹏 | Mind Hacks
查了一下,上篇知其所以然(以学习算法为例)是08年7月写的,现在已经是10年11月,过去了两年零4个月,这说明了三件事情:1,一个问题其实你可以一直放在脑子里面,利用暗时间对其软泡硬磨,时间足够久你总会有一点新的感悟,问题其实就像那句老话说的那样,不怕贼偷就怕贼惦记,聚精会神的思考一天,也许比不上惦记一个星期(据说数学家庞加莱就特别会惦记问题).

所以说,人与人看事物的角度不同啊

- suki - 煎蛋
所以说,人和人之间对同样一个事物的理解,可是不同的呢……. 数码MEME:iPhone 视频即时翻译软件. 注册一个[email protected]如何. 无厘头科学:科幻剧中的声波螺丝刀可能成为现实. © 煎蛋 / 随便看看 / 图片托管于又拍网.

[v]所以呢,这个,就是鲸鱼的JJ了……

- 大连猫 - 煎蛋
由鲸鱼专家来告诉你,它们的JJ有多神奇. ……其实是Channel4频道一期关于抹香鲸的节目的片花,嘛,突然变得很想去看这档节目了呢……. //负责解说的这位女科学家真是热爱她的工作啊…………. //什么,我发现有个错别字于是去改,结果又改错了……=_=. 致富信息:俄罗斯视频网站开发识别JJ 的软件.

所以说,猫真的是不可战胜的

- fish - 鸸鹋动物园
这两张图来自玉米猫同学的投递. © 丸子 for 鸸鹋动物园, 2011. 转发本文地址 所以说,猫真的是不可战胜的 http://www.ermiao.com/video/20110813/21179.html. 本文标签:搞笑, 无敌, 猫. 继续阅读分类【视频】下的更多精彩. 小帖士,看不见图或者看不见视频的,请点这里试试看 | 欢迎给动物园投稿.

毛岸英之所以牺牲是因为他爸是李刚

- wu - 嫣牛博 - 没有政治内容的牛博 (测试版)
说实话一开始我听到“毛岸英是因一碗蛋炒饭而死”这个故事的时候我是将信将疑的,因为这段情节实在是太欢乐了,乌有之乡的不少毛左至今仍坚信这是个用心歹毒的谎言,甚至扬言要把造谣者和其家属人肉出来杀掉,颇有文革遗风. 很不幸的是,随着时间的流逝,我发现自己过去将信将疑的那些故事,最后往往都被证明是证据确凿.

有一只机器鸟SmartBird,它能自己飞,所以很鸟

- 书轩 - Engadget 中国版
Festo 是世界上著名的气动元件、组件和系统的生产厂商. 这次他们带来的这只智能海鸥,只有450克(15.87盎司),翼展1.96米(6.4英尺),能够完成鸟类的大多数动作,可以根据气流做出相应的调整,躯干内包括有充电电池、发动机、变速箱、曲柄轴和电子控制器,能够做出精确的飞行动作,甚至是借助空气滑翔,这真的是个很鸟的海鸥,我们不需要有多大的商业应用,倒是希望做成买得起的玩具就够大家消遣了,点进来看视频:.

知其所以然(三):为什么算法这么难?

- Jiang - 刘未鹏 | Mind Hacks
广大码农同学们大多都有个共识,认为算法是个硬骨头,很难啃,悲剧的是啃完了还未必有用——除了面试的时候. 实际工程中一般都是用现成的模块,一般只需了解算法的目的和时空复杂度即可. 不过话说回来,面试的时候面算法,包括面项目中几乎不大可能用到的算法,其实并不能说是毫无道理的. 算法往往是对学习和理解能力的一块试金石,难的都能掌握,往往容易的事情不在话下.

【日本岐阜】因为无常,所以极致灿烂

- bravusliu - .
在日本旅行,常常感慨与惊叹他们对于美的极致追求,一山一水,一景一物,一饭一汤,无不展现出惊人的美. 这些美,建立在日本的无常观(mujo)之上,所谓无常,即没有不变之事. 日本的自然环境很恶劣,地震、海啸等各种灾害频发,让他们倍感世界与生命的无常. 在日本有名的随笔文学《枕草子》中,也经常咏叹人生的无常,作者说:“飞鸟川,一日为深渊与一日为浅滩没有一定,让人感到人生变化无常,使人很感动.

[国际足球] 贺炜V:中国足球之所以被骂成孙子

- fyy - 水木社区 今日十大热门话题
发信人: CestLaVie (アヤナミ レイ), 信区: WorldSoccer. 标 题: 贺炜V:中国足球之所以被骂成孙子. 发信站: 水木社区 (Wed Mar 30 10:13:05 2011), 站内. @贺炜V:我亲爱的童鞋们,环顾你的四周:医疗、住房、教育、公共服务、基础建设、官僚体系、司法系统、食品、贸易、电力、能源、金融……能够找出来哪个领域,可以像足球一样,日常行为方式被电视直播,或者和国际先进水平同平台较量过程被电视直播.