快学Scala(第2版)

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

出版时间

2017-06-30

ISBN

9787121319952

评分

★★★★★
书籍介绍

Scala是一门主要以Java虚拟机(JVM)为目标运行环境并将面向对象和函数式编程语言的最佳特性结合在一起的编程语言。你可以使用Scala编写出更加精简的程序,同时充分利用并发的威力。由于Scala默认运行于JVM之上,因此它可以访问任何Java类库并且与Java框架进行互操作,比如Scala可以被编译成JavaScript代码,让我们更便捷、高效地开发Web应用。本书从实用角度出发,给出了一份快速的、基于代码的入门指南。Horstmann以“博客文章大小”的篇幅介绍了Scala的概念,让你可以快速地掌握和应用。《快学Scala(第2版)》用易于上手的操作、清晰定义的能力层次,为从初学者到专家的各阶段读者提供全程指导。

《快学Scala(第2版)》适合有一定Java编程经验、对Scala感兴趣,并希望尽快掌握Scala核心概念和用法的开发者阅读。

Cay S. Horstmann是《Java核心技术》卷1和卷2第8版(Sun Microsystems Press出版社2008年出版)的主要作者,除此之外还著有其他十多本面向专业程序员和计算机科学专业学生的书籍。他是San Jose州立大学计算机科学专业的教授,同时是一位Java Champion。

AI导读
核心看点
  • 结合面向对象与函数式编程,运行于JVM
  • 按角色分级,从基础语法到高级特性
  • 代码精简,支持并发与Java互操作
适合谁读
  • 有Java经验,想快速上手Scala的开发者
  • 需要Spark开发或大数据处理的技术人员
  • 希望了解函数式编程概念的程序员
读前提醒
  • 建议配合IDE实操,边写代码边阅读
  • 内容较散,适合查阅或快速浏览入门
  • 重点阅读函数式编程与集合操作章节
读者共识
  • 知识点覆盖全但讲解不够深入,点到为止
  • 翻译质量尚可,但部分术语读起来较费劲
  • 适合作为参考手册,不适合深究底层原理

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "更好的做法是使用字符串插值(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操练起来
下载
收藏