sicp第一讲笔记

scip 第一讲

http://v.youku.com/v_show/id_XNTEzMDAyMTU2.html?from=s1.8-1-1.2&f=23307070&spm=a2h0k.8191407.0.0#paction
视频在此- -!

计算机科学的本质

引子:
古希腊人眼中的几何,是一门使用工具测量具体事物的学科
现代人中的几何,现代人眼中古希腊人:使用时间和空间,来形式化表达数学

那么计算机科学呢?

computer science

science:不是science ,应该是一门艺术/手艺

computer:不是computer,更重要的是计算过程

我们准备学习的是有关计算过程的知识

计算机科学的本质:如何对计算过程进行形式化表述、如何去解决问题,并结合两者发展一套对问题处理过程精确表达的方法

计算机科学中的任务:形式化这种如有关“怎么做”的指令性知识

在大系统中控制复杂度的技术是关键之一

构建计算机组件

计算机处理的是理想化组建
在构建大型系统时,软件都是理想化的,我们忽略现实的束缚,可以随心所欲地组合,唯一的限制是我们的大脑。而其他工程的限制来源于物理层面

控制复杂度的几种技术:

技术一:通过黑盒抽象

盒子内部是什么都不重要

黑盒抽象的基本规则:将处理过程细节放入盒子内去 ,这样可以去脱身去构建更大的盒子

另一个原因:可以实现自己的方法——比方说去创建自己的球平方根方法。但是盒子还是求平方根——我们将通过程序讨论指令性知识


sicp第一讲笔记_第1张图片
screenshot.png

技术二:通过定义接口

——实现方法是按照约定来实现相应的接口
——根据这个标准来构建系统

sicp第一讲笔记_第2张图片
![Uploading screenshot_393285.png . . .]

modularity:模块化

object-oriented progeramming 面向对象编程
operations on aggregates :聚合操作
jdk8 加入了聚合操作:http://blog.csdn.net/adamyong/article/details/25159505

技术三:元语言抽象

定义一门新语言——最核心的————强调一些方面,又隐藏另一些方面
将展现如何用lisp解释lisp——元语言抽象——这门课最关键的一点
过程——应用和求值——不断重复循环

仅仅关注元素之间关系的语言

这门课中重要的不是lisp,重要的是一种通用框架体系
我们用通用的框架体系来组织语言

一门新语言:

  • 基本元素有哪些(primitively elements)
  • 将元素整合的方法/构建在一起的方法是什么。
  • 抽象的方法是什么(我们怎么利用这些元素把它封装成盒子——将它们当作基本元素,然后继续构造更复杂的程序)
  • 解决的问题有哪些(比方说c艹解决了面向对象,java解决了GC,下一代流行的语言必须解决的问题就是并发——李道兵)

你可能感兴趣的:(sicp第一讲笔记)