主要观点:语言影响思维,编程语言尤甚。编程和数学对人类不易,新手常受已观察模式影响,不同编程语言塑造编程认知。保罗·格雷厄姆指出“Blub 悖论”,即按语言能力排序,中间语言的程序员能识别较弱语言,却难识别更强语言,这是半决策程序。作者提出“Co-Blub 悖论”,即对弱语言的了解在强语言环境中有害,是反模式。通过多个编程语言发展的例子说明,随着语言能力提升,曾认为重要的编程细节变得不那么相关,如从机器码到汇编、C 到 Java、Lisp 到 Haskell 再到 Agda,Agda 类型系统强大能证明程序正确性,学习 Agda 需区分问题解决的美与多年积累的巧妙技巧,这是必要的挣扎。
关键信息:语言与思维的关系、Blub 悖论及 Co-Blub 悖论、不同编程语言的发展及特点、Agda 的特点及学习意义
重要细节:人类对自然语言有天生神经回路,对编程语言则无;汇编语言提供了更易理解的指令;C 语言实现了软件在不同计算机间的可移植;Java 改变了对内存的看法;Lisp 中函数等是重要对象;Haskell 限制副作用;Agda 类型系统能证明程序正确等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。