文章吧-经典好文章在线阅读:《Structure and Interpretation of Computer Programs - 2nd Ed

当前的位置:文章吧 > 经典文章 > 经典美文 > 经典精选 >

《Structure and Interpretation of Computer Programs - 2nd Ed

2020-12-23 03:05:31 来源:文章吧 阅读:载入中…

《Structure and Interpretation of Computer Programs - 2nd Ed

  《Structure and Interpretation of Computer Programs - 2nd Edition (MIT)》是一本由Harold Abelson / Gerald Jay Suss著作,The MIT Press出版的Hardcover图书,本书定价:USD 145.56,页数:657,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。

  《Structure and Interpretation of Computer Programs - 2nd Edition (MIT)》精选点评:

  ●有一天,写程序的人会意识到这是我们的圣经

  ●習題是該書不可缺的一部分,最好能都做。

  ●其实读的是Berkeley的python版。。。(反正都是functional programming) 重新学习了generator,但也只明白到block on yield,waiting for send()

  ●awesome. 一起来当geek吧hurray

  ●我为身为码农一员深感自豪。

  ●醍醐灌顶

  ●https://xuanji.appspot.com/isicp/index.html 互动版

  ●chp1-chp4(exercise done) chp5习题没做完。

  ●用了很久,可是还是没有看完...

  ●练习做起来实在畅快无比, so much fun working through. I decided that it's not for me ATM. Maybe I'll be coming back. Thank you so much... For teaching me the patience. 2013.10.1

  《Structure and Interpretation of Computer Programs - 2nd Edition (MIT)》读后感(一):易于接触的经典

  这本书的出版许可是 Creative Commons。所以,虽然纸版的比较贵,但是从网上还是能接触到不少版本的全文。前段时间纠结于没有合适的 Kindle 版,最近看到了各种尺寸的 PDF 版本:http://sicpebook.wordpress.com/

  Lisp 是一种很好的语言,但是它的各种「实现」都并不令人满意。如果我是主要进行 Web 开发,可能会选择 Clojure。不过我主要做桌面系统上的应用开发。所以我的计划是用 Lua 作为练习工具。Lua 自身的局限能在本书的内容上推进多远有待研究。

  《Structure and Interpretation of Computer Programs - 2nd Edition (MIT)》读后感(二):很有个性的计算机“入门书”

  刚读完,粗读,过了一篇而已。

  这是mit08年之前的课程6.0001的教材,最近这门课改用python教学了。

  我读这本书不是为了学习什么泛函编程之类的,但是很多lisper似乎把它当成了泛函编程的bible,我读这本书是为了感受一下作者的体系。这本神奇的书,用很少的篇幅、很少的代码讲述了语言设计、数据库、编译器、计算机体系结构。。。各方各面的内容,而且都可以用不长的代码实现,做实验,中间还穿插着许多其他方面的内容,如算法和学术前沿课题。所以感觉这是一本神书。

  其实我并不在乎它用什么语言讲述,但是泛函编程确实有简短的魅力。

  书中的细节很多都没仔细看,我只是想体会一下从寄存器到高级语言之间是怎么串起来的。我是当成system来学习的。

  书的初衷是“计算机入门”,但是实际上很多人把它当成泛函教材读,有点委屈它了。不过国内又有多少人把它当成“入门读物”呢?书的语言有点学术化,估计大部分人都有点头大。想我本科时读这书,连preface看着都很吃力,其实现在看,书的内容好像没那么难,当时的知识水平也很片面。这本书确实有把知识串起来的作用。

  《Structure and Interpretation of Computer Programs - 2nd Edition (MIT)》读后感(三):谈谈我的理解

  这本书目前我只看到第二章,认真地做了之前的每一道习题,我认为习题不是最重要的,最要的是思想,作者从一开始就像搭积木似的引导我们如何构造程序(这正是题目structure的意思),在构造的过程中,作者为我们解释了为什么要这样来构造(这便是题目interpretation的意思)。书中有很多思想是值得思考的:作者一开始就提到函数和数据其实都是数据,关键在于对待的方式,另一个思想是计算机科学其实并非“科学”,应该是工程,工程就意味着程序无法完美,总会有瑕疵,它要为现实服务,所以受到现实的限制,我们所做的,就是写出满足限制的程序。

  这本书绝不是一扫而过或者仔细阅读一遍就能够取其精华的书,给我的感觉像K&R的C,需要你不断地实践,在实践中验证书中的思想,这样你才能真正地体会到真谛,我想,做练习应该是最方便快捷的实践吧,因为作者出的每一道题都有用意,用意当然不是Lisp的语言本身,而是构造程序的思想,所以,我认为不要死扣语言的细节,而应着重体会构造的过程。

  阅读该书前请做好长期战斗的准备,本人比较愚钝,一个小节一般需要一上午的时间甚至是一天的时间来阅读和练习,进度缓慢,但我现在依然决心要继续下去。

  以上是鄙人想到的就写下了,调理不是很清晰,请见谅。

  《Structure and Interpretation of Computer Programs - 2nd Edition (MIT)》读后感(四):抽象能力

  这本书提到的很多次的一个词就是abstraction:对于函数进行抽象,对于数据进行抽象,这种抽象能力其实时非常重要的。

  阅读代码时的抽象

  在学好编程之前总是对于所有函数的所有实现都感兴趣,碰到一个大型的项目就恨不得将所有函数都弄明白,但是这种方法其实很不明智,在开发大型项目时其实每一个人都不可能懂得程序的每一个部分,Linus可能懂得Linux源码中的每个函数吗?所以在阅读源码时最好是将程序分为多个模块,模块之间如何互相调用以及模块之间的关系都不重要,你只需理解该模块是干什么的,然后在调用该模块的时候只要考虑接口,不要想着模块是怎么实现。就像编写递归程序时一样,只要递归程序考虑到了所有的情况那么该程序就是对的,不需要把自己当成编译器去跟踪递归的每次调用,那样只会累死人。

  编程过程中的抽象

  在本书的视频教程中总是提到Wishful thinking,具体意思就是在实现一个小函数之前不考虑如何进行实现,而只考虑它的功能和接口,这样思考大型项目的框架时才能解放自己,否则在考虑框架的时候就去考虑实现只会让你的思维陷入泥潭。

  所有看过本书视频教程的人都应该对第7讲印象深刻:教授根本不告诉学生如何实现一个具体的结构实现,也不告诉学生这个程序到底如何调用,只说了每个函数的功能就结束了,我觉得形容听这种课的感觉就像教授说的那样“itchy”,如果我们能忍住去探讨具体实现的痒,那么构建大型项目也就易如反掌了。

  《Structure and Interpretation of Computer Programs - 2nd Edition (MIT)》读后感(五):和MIT课程一起看更好

  

2020-08-09 想读 标签: Linux/Unix,SCIP,来自https://zhuanlan.zhihu.com/p/105833892,,好像是贼棒的书,评价可以看下这个 如何评价或者学习SICP《计算机程序的构造和解释》? - leiysky的回答 - 知乎 https://www.zhihu.com/question/363702331/answer/964063348

2020年10月15日,现在还没看完,自己读有点生硬,

知乎说这本书囊括了软件工程,语言,解释器的内容,作为入门书,我不是在入门的时候看的

前面章节在介绍LISP这门神奇的语言,.认识了尾递归,在抽象的章节有点软件工程的意味,看MIT课程更能理解书中说的内容

讲了不同的编程范式,functional programming,imperative programming,理解下为啥要引入变量和赋值

后面的寄存器和meta programming部分还没看

评价:

[匿名评论]登录注册

评论加载中……