前言
1.1 介绍¶
本教程基于书籍 《七周七语言(第一版)》,原书作者:Bruce A. Tate。
本书旨在通过七种语言,快速了解不同的编程思想:
-
Ruby:面向对象
- 万物皆对象
- 元编程
- 特定领域语言 DSL
-
Io:原型继承
- 一切皆对象
- 消息传递
-
Prolog:逻辑编程
- 事实 + 规则 + 查询
- 自动推理
-
Scala:函数式 + 面向对象
- 静态类型
- Actor 并发
- Java 兼容
-
Erlang:并发编程
- 分布式
- 轻量进程
- 热更新
-
Clojure:纯函数式编程
- Lisp 方言
- 不可变性
-
Haskell:纯函数式 + 类型驱动开发
- Monad
- 类型推导
- 懒求值
- 超强抽象能力
1.2 学习条件¶
如果你已经掌握一门编程语言(如 Python),并希望拓展视野、探索不同编程范式,那么本教程将非常适合你。
如果你是编程纯新手,本书可能不太适合作为入门教材。书中默认你已有一定基础,重点放在“语言思想”而非“语法教学”。 不过,本教程会在每章最后 补充书中未涉及的语法点,帮助你更好完成习题。
1.3 电子书资源¶
电子书下载
1.4 本笔记的一些规范¶
为了提高阅读体验与内容统一性,本笔记遵循以下规范:
内容结构:¶
- 每个章节编号如
1.1
、2.3
等,前一位为章节号,后一位为子章节号,便于索引与引用。 - 知识顺序大致和原书一样,但是章节号和章节名称并不会完全按照原书。
- 每门语言的内容以“讲解示例代码为主”,最后统一列出“题目解答与补充语法”。
语法风格:¶
- 术语统一:如“变量”、“函数”、“对象”等尽量与语言原生术语对应(如 Ruby 中为 method 而非 function)。
知识标记:¶
- 使用
!!! abstract
标记每章节摘要。 - 使用
!!! info
标记书中引用、资料补充、电子书下载等说明性内容。 - 使用
!!! warning
标记注意事项、常见错误等。 - 使用
!!! tip
标记小知识点和原书中已经过时的部分。 - 使用
!!! example
标记原书源代码。
示例说明:¶
- 所有代码示例均可直接在解释器或终端中运行,鼓励边读边试。
- 对于关键输出、结果等,尽量提供运行截图或实际输出示例。
测试说明:¶
- 本笔记所有示例代码在对应语言解释器中测试通过。
- 若书中内容过旧,本笔记会给出当前语言推荐写法。
开始学习 Ruby