《代码的未来》读书笔记

0.关于《代码的未来》

作者是Ruby之父松本行弘,内容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩尔定律、编程语言、多喝、NoSQL等当今备受关注的话题。笔记采用随阅读进度随时补充的策略,我会优先选择我感兴趣的部分,并将我认为有意思或者很重要的观点记录下来。标题代表所在章节即章节名称。

1.编程的时间和空间

  1. 创造出一种人类和计算机都能够理解的语言(编程语言),并通过这样的语言将人类的意图传达给计算机,这样的行为就叫做编程。
  2. 编程的本质是思考。
  3. 以不变应万变。比如说,算法就能以不变应万变。被称为最古老算法的辗转相除法,是在公元前300年左右被提出的。此外,计算机科学中的大多数基本算法都是在20世纪60年代被提出的。
  4. 摩尔定律的局限。首先是物理定律的局限。LSI是现实世界中物理存在的东西,自然受到物理定律的制约。在这40年里,LSI一直在不断变得更加精密,甚至快要到达量子力学所管辖的地盘了。当LSI的精密化达到这种程度,日常生活中一些从来不必在意的小事,都会变成十分严重的问题。第一个重要的问题是光速。光速约为每秒30万千米,即一秒钟可以绕地球7圈半…然而,CPU的时钟频率已经到达了GHz尺度,比如说,在3GHz的频率下,波形由开到关(即1个时钟周期)的时间内,光只能前进10cm的距离…
  5. “巴纳姆效应”是一种心理学现象,指的是将一些原本是放之四海而皆准、模棱两可的一般性描述望自己身上套,并认为这些描述对自己是准确的。
  6. IT未来预测从价格、性能、容量、带宽考虑。

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

  1. 古代编程语言三巨头:FORTRAN、COBOL、Lisp
  2. 编程语言的进化冬季,不是工具和语言本身的简化,而是将通过这些工具和语言所得到的结果(解决方案)更简洁地表达出来。
  3. DSL(Domain Specific Language 特定领域语言)
  4. 元编程…在单词前面加上meta,表示对自身的描述。例如,描述数据所具有的结构的数据,也就是关于数据本身的数据,被称为元数据(Metadata)…小说中的角色如果知道自己所身处的故事是虚构的,这样的小说就被称为元小说(Metafiction)…像这样获取和变更城区本身信息的功能,被称为反射(Reflection)。
Table of Contents