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,更重要的是计算过程

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

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

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

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

构建计算机组件

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

控制复杂度的几种技术:

技术一:通过黑盒抽象

盒子内部是什么都不重要

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

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


screenshot.png

技术二:通过定义接口

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

![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,下一代流行的语言必须解决的问题就是并发——李道兵)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分Common Lisp介绍第1章 介绍一下Lisp你在学的时候觉得已经明白了,写的时候更加确信了解了,教别...
    geoeee阅读 3,007评论 5 8
  • 说明 函数式编程和面向对象编程可以说是编程的两大宗教,犹如编辑器之争一样,之间口角不断。我虽然靠着OOP的主力语言...
    lingyv阅读 1,714评论 1 14
  • 第三章 EVAL标记法 3.1 导引 在进一步深入学习Lisp之前,我们必须切换到一个更加适合的标记法,EVAL标...
    geoeee阅读 2,472评论 0 5
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,765评论 18 399
  • 今天打开电脑敲下这行字的时候时间不多不少刚好距离上一篇碎碎念一个月的时间。这段时间,是一新的工作,是新的城市,是新...
    雀岛札记阅读 259评论 0 1