首页 > 代码库 > 代码的未来读书笔记<一>

代码的未来读书笔记<一>

代码的未来读书笔记<一>

1 编程的时间和空间

介绍回顾了计算机发展和摩尔定律,对未来做出了有限定的猜想

2 编程语言的过去现在和未来

2.1 编程语言的世界

介绍了编程语言的历史,对未来做出了猜想

2.2 DSL 特定领域语言

DSL,是指利用为特定领域(Domain)所专门设计的词汇和语法,简化程序设计过程,提高生产效率的技术,同时也让非编程领域专家的人直接描述逻辑成为可能。DSL的优点是,可以直接使用其对象领域中的概念,集中描述“想要做到什么”(What)的部分,而不必对“如何做到”(How)进行描述。

2.3 元编程

  • 元编程就是用程序来写程序.可以参考c-oop.
  • S表达式和宏

2.4 内存管理

内存回收的三种基本方式

1 标记清除

从根开始讲可能被引用的对象用递归的方式进行标记,然后没有标记到的对象作为垃圾回收

2 复制收集

将从根开始被引用的对象复制到另外的空间去,然后再将复制的对象所能引用的对象用递归不断复制

3 引用计数

在每个对象中保存改对象的引用计数,当引用发生增减时对计数进行跟新.当一个计数变成0的时候释放该内存

高级的方式

分代回收

将对象按照时间分代,扫描的时候扫描新的生代的对象.老对象对新对象的引用在记录集里.若干次新生代扫描后,来一次完整的扫描.

增量回收

将垃圾回收操作细分成过个部分逐一执行.限定每次回收的最大耗时.

并行回收

利用多CPU的处理能力才进行垃圾回收.在原有的程序运行的同时进行垃圾回收

2.5 异常处理

介绍了几种异常处理

2.6 闭包

介绍了闭包是什么和为啥有闭包

函数对象

将函数作为值来利用的方法,最大的用途是高阶函数(函数作为参数的函数).

闭包

在函数对象中,将局部变量这一环境封闭起来的结构被称为闭包.

代码的未来读书笔记<一>