• 大小: 2.34MB
    文件类型: .pdf
    金币: 1
    下载: 0 次
    发布日期: 2023-09-28
  • 语言: 其他
  • 标签:

资源简介

本版本为高清无水印PDF版,带标签可索引,出自麻省理工官方网页,排版整理成的PDF。内容绝对准确,自学阅读完全没有问题。 我为什么推荐 SICP? 向大家推荐 SICP,不知道有多少人看了,也不知道有多少人明白了,更不知道有多少人惊叹了。或者你根本不屑一顾,或者你看见 Lisp 那层层括号心生畏惧,又或者你了了一瞥,觉得没什么精彩之处。那我真的很失望。 我为什么要推荐SICP,而且为什么如此执着?这本不算厚的书带给我的观念,是从未有过的,是关乎于软件本质的。曾几何时,我觉得我看到了计算机编程书中没有的哲学观,但这一次我的梦破灭了,那些已经被写进书里差不多快 30 年了。 对于 SICP,我真正算看完的,恐怕只有第一章。我现在就来谈谈我的心得,以再次向你展现这本书的魔力。 第一章作为基础,作者并没有象后续章节写太多的软件思想,主要还是介绍 Scheme 语言,所以草草看去,没什么精辟之处。不过在第一章中,作者用了大量的篇幅来探讨数学问题,因为他想向你揭示程序设计中的核心哲学:抽象。而数学无疑是最好的例子。 了解数学史的人,应该知道整个数学史,就是一个不断抽象的历史。古希腊人将字母引入计算,使数学不再只是算术,而且具有表达抽象规则的能力。近代数学对函数和微积分的探求中,用 f(x) 替代了多项式表达式,函数更一般了,然后 n 维空间、复分析、映射、泛函,抽象代数、群论,等等等等,直到集合论,摧毁了数学的基石,使数学界再次陷入沉思。 构造程序的方法也是抽象。从最简单的元素开始,基本元素(自演算表达式,包括数字,字符串和布尔值),然后定义基本过程(基本运算符,四则运算和布尔运算),进一步,自定义标识符(如同代数),再自定义过程(函数),再将过程作为值参与运算(高阶过程)。一步步的抽象,形成了整个程序的结构。而我们编程,无非就是从现实世界抽象出模型,再将模型不断的提炼抽象,属性、方法、类、继承、层次、框架。 编程就是一个不断抽象的过程。我再次把作者在第一章末写下的结论抄在这里,作为最后的注脚。

资源截图

代码片段和文件信息

评论

共有 条评论

相关资源