快学Scala(第2版)

【美】Cay S. Horstmann (凯.S.霍斯特曼)

出版时间

2017-06-30

ISBN

9787121319952

评分

★★★★★
书籍介绍
这本书最鲜明的标签是「快」——它刻意回避系统性的理论铺陈,以「博客文章」般的短小篇幅逐块讲解概念,追求让你迅速上手。正因如此,读者评价呈现明显分化:有人赞其讲解细腻简洁、是入门Scala的可靠选择;也有人抱怨它「太细太散太凌乱」,不适合作为初学者的第一本系统教材。这种分裂恰恰源于它的定位:它更像一本供查阅的参考书,而非从头到尾的教程。书中将知识按「业务使用者」与「库开发者」两类角色分级,暗示学习路径应因人而异、循序渐进。它尤其适合已有一定Java基础、希望快速抓住Scala核心语法与函数式思维的开发者;若你期待循序渐进的完整体系,或许该先读入门教材,再把本书当作案头速查工具。
AI导读
核心看点
  • 结合面向对象与函数式编程,运行于JVM
  • 按角色分级,从基础语法到高级特性
  • 代码精简,支持并发与Java互操作
读者共识
  • 知识点覆盖全但讲解不够深入,点到为止
  • 翻译质量尚可,但部分术语读起来较费劲
  • 适合作为参考手册,不适合深究底层原理
精彩摘录
  • "更好的做法是使用字符串插值(string interpolation): print(f"Hello, $name! In six months, you'll be ${age + 0.5}%7.2f years old%n")"
  • "Key points of this chapter: • Use an Array if the length is fixed, and an ArrayBuffer if the length can vary. • Don’t use new when supplying initial values. • Use () to access elements. • Use for (elem <- arr) to traverse the elements. • Use for (elem <- arr if . . . ) . . . yield . . . to transform"
  • "A tuple value is formed by enclosing individual values in parentheses. For example, (1, 3.14, "Fred") is a tuple of type Tuple3[Int, Double, java.lang.String] which is also written as (Int, Double, java.lang.String)"
  • "Can you call friends with that function? Of course you can. 你能用这个函数调用 friends 吗?当然可以。"
  • "闭包由代码和代码用到的任何非局部变量定义构成。 def mulBy(factor: Double) = (x: Double) => factor *x val triple = mulBy(3) val half = mulBy(0.5) println(triple(14) + " " + half(14)) // print 42 7 mulBy的首次调用将参数变量factor设为3。该变量在(x:Double)=> factor * x函数的函数体内被引用,该函数被存入triple。然后参数变量factor从运行时的栈上被弹出。 接下来,mulBy再次被调用,这次factor被设为了0"
  • "隐式转换在如下三种各不相同的情况会被考虑: 1)当表达式的类型与预期的类型不同时 2)当对象访问一个不存在的成员时 3)当对象调用某个方法,而该方法的参数声明与传入参数不匹配时"
  • "构造器以如下顺序执行: 1. 首先调用超类的构造器 2. 特质构造器在超类构造器之后、类构造器之前执行 3. 特质由左到右被构造 4. 在每个特质中,父特质优先被构造 5. 如果每个特质共有一个父特质,而那个父特质已经被构造,则该父特质不会被再次构造 6. 所有特质构造完毕,子类被构造"
  • "The traditional approach, in which concurrent tasks have side effects that mutate shared data, is tedious and error-prone. Scala encourages you to think of a computation in a functional way. A computation yields a value, sometime in the future. As long as the computations don’t have side effects, yo"
目录
译者序. V
第1版序.XVII
前言.XIX
作者简介.XXIII
第1章 基础 A1 1

显示全部
用户评论
第二版了!出自《Java核心技术》作者之手,讲解细腻简洁非常好,国内入门学的人看得比较多评价不错!把要掌握的知识分级成不同角色(业务使用者/库开发者)是本书的一大特点(不同角色的技能要求和时间投入差别很大,而对于学习则希望循序渐进)。
确实配得上这个书名
Scala不善啊
写的挺好的,翻译的也不错,是很好的入门书。虽然我看过后没机会用,都忘光了。。
对scala语法有个大致了解吧。看的不是特别仔细。平时工作用不上,可能后面还会忘记的。
适合当工具书,类似c++ primer和java核心技术卷那种,第二版翻译不好。
看到模式匹配
总体我感觉,还是太过于零散了些。如果当作手册来查的话,就还不错
scala快速入门,需要配合ide操练起来
下载
收藏