标签
内容简介
《Scala编程》是 Scala 语言的官方权威教程,由 Scala 的缔造者 Martin Odersky 与核心团队成员 Lex Spoon、Bill Venners 共同撰写,中文版由资深架构师高宇翔翻译。第4版对应 Scala 2.13,副标题为“基于Scala 2.13”,全书共 34 章,从语言设计理念一直讲到实际运用。 全书从“可伸缩的语言”谈起,说明 Scala 为何同时融合面向对象与函数式两大范式,随后用“入门十二步”带读者在实际操作中熟悉解释器、变量、函数、脚本、列表、元组、集与映射等基础内容。主体部分系统讲解类与对象、基础类型与操作、函数式对象、内建控制结构、函数与闭包、控制抽象、组合与继承、特质、包与引入、断言与测试、样例类与模式匹配、列表与其他集合类、可变对象、类型参数化、抽象成员、隐式转换与隐式参数,并深入到列表实现、for 表达式重访与集合类架构。 后段章节覆盖提取器、注解、XML 处理、用对象实现模块化编程、对象相等性、Scala 与 Java 互操作、Future 与并发编程、组合子解析,最后以一个完整的电子表格(SCells)案例作结。第4版最大的变化是为向 Scala 3 过渡而几乎重写了集合框架,集合类的继承关系、实现方式、方法与视图等内容均大幅更新,篇幅扩充至近 850 页。本书不只教“怎么写”,更解释“为什么这样设计”,帮助读者理解语言特性背后的取舍,是深入学习 Scala 不可替代的参考书。
编辑推荐
如果说有一本书可以被称作 Scala 领域的“圣经”,那一定是它。作者 Martin Odersky 正是 Scala 语言的设计者,书中讲的不是二手转述的用法,而是语言为何长成今天这个样子——类型系统为何如此设计、隐式转换要解决什么问题、集合框架为什么反复重构。这种“造物者视角”是市面上绝大多数 Scala 教程给不了的。 第4版紧跟 Scala 2.13,对集合类库做了几乎重写级的大幅更新,同时为 Scala 3 铺路,因此它既是一本学语言的教材,也是理解 Scala 演进方向的窗口。译者高宇翔是 Scala 在国内的早期布道者,术语译法稳妥,长句处理流畅,减少了阅读原版时的理解摩擦。 需要提醒的是,这本书更像“教材+参考手册”,而不是速查手册:34 章的体量、800 多页的篇幅,加上密集的示例与设计讨论,需要读者真正投入时间。对于有 Java 或其他面向对象语言经验、想系统吃透 Scala 的开发者,它值得占据书架最随手可及的位置。
适合谁读
适合
- 具备 Java 或其他面向对象语言基础,准备系统转向 Scala 的开发者
- 已在工作中使用 Scala,希望补齐类型系统、隐式与集合框架知识的中级工程师
- 需要理解函数式与面向对象融合范式,想从语言设计视角提升认知的程序员
- 大数据方向(Spark、Kafka 等生态)开发者,需要扎实掌握 Scala 语言本身的人
不适合
- 完全没有编程经验的零基础读者,书中假定读者熟悉面向对象基本概念
- 只想快速查语法、抄代码的读者,本书更偏系统讲解而非速查手册
- 只使用 Scala 3 且不愿阅读 2.13 语义细节的读者,部分内容与 Scala 3 已有差异
阅读建议
- 前 3 章务必边读边在 REPL 中敲示例,先把解释器、脚本和集合用法跑通再深入。
- 第 6、8、9、15、21 章是理解 Scala 思维的关键,建议放慢速度、配合习题手写代码。
- 第 22、24、25 章讲集合实现与架构,可在实际项目用到集合时再回读,效果更好。
- 把第 34 章 SCells 案例作为综合练习,独立复现一遍,检验对模式匹配与组合子解析的掌握。
出版社简介
电子工业出版社
中国 · 成立于 1982 年
电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。
目录
- 序
- 致谢
- 引言
- 第1章 一门可伸缩的语言
- 第2章 Scala入门
- 第3章 Scala入门(续)
- 第4章 类和对象
- 第5章 基础类型和操作
- 第6章 函数式对象
- 第7章 内建的控制结构
- 第8章 函数和闭包
- 第9章 控制抽象
- 第10章 组合和继承
- 第11章 Scala的继承关系
- 第12章 特质
- 第13章 包和引入
- 第14章 断言和测试
- 第15章 样例类和模式匹配
- 第16章 使用列表
- 第17章 使用其他集合类
- 第18章 可变对象
- 第19章 类型参数化
- 第20章 抽象成员
- 第21章 隐式转换和隐式参数
- 第22章 实现列表
- 第23章 重访for表达式
- 第24章 深入集合类
- 第25章 Scala集合架构
- 第26章 提取器
- 第27章 注解
- 第28章 使用XML
- 第29章 用对象实现模块化编程
- 第30章 对象相等性
- 第31章 结合Scala和Java
- 第32章 Future和并发编程
- 第33章 组合子解析
- 第34章 SCells试算表
- 附录 Unix和Windows环境的Scala脚本
- 术语表
- 关于作者
常见问题
这本书适合完全没有编程基础的人吗?
不太适合。书中默认读者具备一定的编程经验,尤其熟悉类、对象、继承等面向对象概念,示例也常与 Java 对比。零基础读者建议先学习一门主流面向对象语言,再来阅读本书会顺畅很多。
第4版和第3版的主要区别是什么?
第4版对应 Scala 2.13,主要变化是集合类库几乎被重写、集合的继承关系与实现方式大幅调整,并新增集合方法、视图等内容,篇幅也由约 830 页增至 844 页。第3版基于较早的 Scala 版本,若使用 2.13 或准备迁移 Scala 3,应优先选第4版。
这本书讲的是 Scala 2 还是 Scala 3?
第4版副标题为“基于Scala 2.13”,内容以 Scala 2.13 为准,并在多处为 Scala 3 的语法与集合设计做铺垫。如果你主要使用 Scala 3,阅读时需注意 implicit、部分语法等已有变化,可配合官方迁移指南对照学习。
一定要按顺序从头读到尾吗?
建议前 3 章按顺序读并动手实践,建立基本语感;之后可按需跳读。已有 Scala 基础的读者可直接从第 6、12、15、21、24 章切入,遇到概念缺口再回补前文,效率更高。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。