程序设计语言特性
按特性讲清四种语言:每章一个特性,先讲概念,再看 Python、JS/TS、C#、Go 各自怎么做,最后分析差异从哪来。附四种语言的速查表和跨语言对照表。
- 前言
- 第 1 章 · 五种语言的全景
- 第一部分导读:语言的地基
- 第 2 章 · 编译、解释、字节码、JIT 与 AOT
- 第 3 章 · 类型系统
- 第 4 章 · 变量、常量与可变性
- 第 5 章 · 值与引用、相等性、内存与垃圾回收
- 第 6 章 · 空值:None、null、undefined、nil
- 第二部分导读:抽象与组织
- 第 7 章 · 函数:一等函数、闭包、参数、多返回值
- 第 8 章 · 类、接口与组合:继承、鸭子类型与无类
- 第 9 章 · 泛型
- 第 10 章 · 错误处理与资源清理
- 第 11 章 · 模块、包、可见性与依赖管理
- 第三部分导读:数据
- 第 12 章 · 集合:列表、字典、集合与不可变集合
- 第 13 章 · 迭代与惰性:迭代器协议、生成器、推导式与 LINQ
- 第 14 章 · 字符串与编码:码点、码元与 rune
- 第 15 章 · 枚举、联合类型与模式匹配
- 第四部分导读:并发
- 第 16 章 · 并发总览:并发与并行、进程线程协程、四种运行时模型
- 第 17 章 · 多线程:共享内存、竞态与锁
- 第 18 章 · 多进程:何时需要、进程间通信
- 第 19 章 · 异步:async/await 的四种实现,Go 为什么没有它
- 第 20 章 · 通道与消息传递:queue、Channel、Go channel 与 select
- 第 21 章 · 取消、超时与结构化并发
- 第五部分导读:运行时与元编程
- 第 22 章 · 装饰器、特性、结构标签与反射
- 第六部分导读:看全局
- 第 23 章 · 语言在互相抄什么:模式匹配、async、泛型、类型标注的趋同与分歧
- 第 24 章 · 换语言最容易踩的坑:从 X 到 Y 要忘掉什么
- 第 25 章 · 按语言深入:官方文档、必读书、社区与工具
- 第 26 章 · 按主题深入:类型系统、并发、内存、语言设计的书与论文
- 附录 A Python 速查表
- 附录 B JS/TS 速查表
- 附录 C C# 速查表
- 附录 D Go 速查表
- 附录 E 跨语言对照表
- 附录 F 术语表