V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sadhen
V2EX  ›  程序员

《Scala 实用指南》上架啦!(附 Scala 相关图书简评)

  •  
  •   sadhen ·
    darcy-shen · 2018-06-14 01:10:43 +08:00 · 5628 次点击
    这是一个创建于 2386 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是一本写给 Java 开发者的 Scala 快速入门书,衷心的希望大家能够通过这本书真正开始 Scala 编程。

    登陆异步社区可以下载前三章的 PDF 样章,和出版社协商之后,公开了内容比较多的第三章,特别长特别棒的一章。

    内容简介

    本书循序渐进地介绍了 Scala 编程语言的多个方面。本书共分为 4 个部分:第一部分详细介绍 Scala 的一些基础知识,并和 Java 中的相关概念进行了参照;第二部分进一步介绍 Scala 的一些中级知识,以及与 Java 的一些差异点;第三部分介绍在 Scala 中如何进行并发编程,并务实地介绍 Akka 套件;第四部分通过实战练习对前面的知识进行综合应用。

    作者简介

    文卡特·苏帕拉马尼亚姆( Venkat Subramaniam )博士:Agile Developer 公司的创始人,同时也在休斯敦大学兼任教职。他已经培训和指导了数千名软件开发者。他也是多本书籍的(合著)作者,其中包括获得 2007 年度 Jolt “生产力大”( Productivity Award )的《高效程序员的 45 个习惯:敏捷开发修炼之道》一书。

    译者介绍

    • 沈达(@sadhen) 挖财大数据研发工程师,Scala 爱好者与实践者, 专注于大数据和分布式系统。业余时间是GNU TeXmacs的贡献者。
    • 何品(@hepin1989) 目前是淘宝的一名资深软件工程师,热爱反应式编程,同时也是 Akka 和 Netty 等项目的贡献者,活跃于 Scala 社区。

    同类对比

    比较项 Scala 实用指南 Scala 编程 快学 Scala Scala 程序设计
    价格(亚马逊自营 /RMB) 57.09 115.2 87.00 86.10
    书的版次 第二版 第三版 第二版 第二版
    出版时间 2018.07 2018.01 2017.07 2016.03
    Scala 版本 2.12 2.12 2.12 2.11
    Testing
    Metaprogramming
    Akka 一章 一节
    难易程度 简单 中等 中等

    个人阅读过《 Scala 编程》的英文版第三版,《快学 Scala 》第一版中文版。也非常推荐大家阅读这两本书,不过可能对于刚入门的读者来说,其中有些章节偏难,探讨的 Scala 的特性令人眼花缭乱。

    从快速上手的实用角度,非常推荐大家入手《 Scala 实用指南》,Scala 确实有特别复杂的一面,在团队协作中,大家也可以用本书作为一个 Scala 编程风格的指引,尽可能少地去使用那些 tricky 的 Scala 特性。

    个人简评:

    • 《 Scala 实用指南》:详细简洁,适合 Java 老司机,有很多深入 Java 字节码的分析,尤其适合没有接触过函数式编程的同学入门,没有难读的章节
    • 《 Scala 编程》:学院派,出自 Odersky 本人,对于已经熟悉 Scala 的同学仍然有仔细阅读的价值,比如第 30 章的 Equality 就是非常好的面试题
    • 《快学 Scala 》:快节奏,非常适合热爱编程有基础的同学入门,有比较难读的章节,尤其是第一版中的定界延续,不过第二版在易读性上做了很多改善,去掉了一些过于难懂的章节
    • 《 Scala 程序设计》:个人没有阅读过,从目录可以看出这本书略难,甚至比较详细地介绍了 Scala 的类型系统和范畴理论,可以作为进阶读物

    Scala 相关图书简评

    • 《 Scala 谜题》:可以用来检验你对 Scala 的了解程度,避免 Scala 编程中的一些陷阱
    • 《 Scala 集合技术手册》:非常不错的深入学习 Scala 集合代码的读物
    • 《 Scala 函数式编程》:我司三位架构师的译作,非常值得一读
    • 《高性能 Scala 》:进阶读物,需要对 JVM 有更多的了解(我暂时只读了几章,但是很受用)
    • 《 Scala Design Patterns 》第二版:进阶读物,推荐阅读

    个人认为《 Scala 并发编程》并没有太多阅读的价值,JVM 上的并发还是应该看经典的《 Java 并发编程实战》,另外《深入理解 Scala 》内容比较偏门,出版时间比较长,有些内容已经过时了,但其中也不乏写得非常棒的章节。

    19 条回复    2018-09-29 01:02:21 +08:00
    lxfxf
        1
    lxfxf  
       2018-06-14 06:05:42 +08:00
    感谢老铁分享
    Narcissu5
        2
    Narcissu5  
       2018-06-14 08:53:14 +08:00
    这语言才真的是从入门到放弃
    lshoo
        3
    lshoo  
       2018-06-14 09:30:51 +08:00
    好书,从入门到放弃的人可能是不适合写代码
    baoanlol
        4
    baoanlol  
       2018-06-14 09:41:50 +08:00
    很喜欢 scala 的风格,可惜国内找工作不容易啊,没啥公司要。。。(想跳槽都不知道有啥可以选
    sadhen
        5
    sadhen  
    OP
       2018-06-14 09:53:33 +08:00
    @Narcissu5 看《 Scala 实用指南》可以入门,如果直接看《 Scala 函数式编程》估计很多人就直接放弃了

    这门语言的核心是非常精巧,集合库也设计得非常棒,其实对于日常的开发,好用的集合库是能够极大地提高编程效率的。
    hepin1989
        6
    hepin1989  
       2018-06-14 10:41:41 +08:00
    哎呀,老铁,我必须要来顶一下。这个书可以直接入门!
    Lattez
        7
    Lattez  
       2018-06-14 10:56:53 +08:00
    看得快学 Scala...
    jowuIM
        8
    jowuIM  
       2018-06-14 11:07:18 +08:00
    反应式编程...
    evanvane
        9
    evanvane  
       2018-06-14 11:16:21 +08:00 via Android
    scala 函数式编程真是劝退
    hepin1989
        10
    hepin1989  
       2018-06-14 13:02:28 +08:00 via Android
    @jowuIM 你想说,响应式 对吧,不过的确是反应式,不服来辩。
    sadhen
        11
    sadhen  
    OP
       2018-06-14 13:30:06 +08:00
    @baoanlol 凡事写 Java 的项目都可以偷偷混点 Scala 进去,所以没有必要执着于找一份 Scala 的工作。

    一开始,建议从用 ScalaTest 替代 JUnit 写单元测试开始,给你的项目加点 Scala

    本书专门有一章讲解单元测试,以及如何使用 Mockito。现实情况下,很多人写代码都是不写单元测试的,这很糟糕。
    jowuIM
        12
    jowuIM  
       2018-06-14 13:31:15 +08:00
    @hepin1989 响应式使用以前 WPS 的概念引用过来的,你这个反应式实在让人摸不着头脑。
    jowuIM
        13
    jowuIM  
       2018-06-14 13:31:44 +08:00
    WPF 打错成 WPS 了
    sadhen
        14
    sadhen  
    OP
       2018-06-14 13:33:24 +08:00
    @jowuIM

    reactive: 反应式
    responsive: 响应式

    至于什么是反应式,可以仔细阅读一下 [反应式宣言]( https://www.reactivemanifesto.org/zh-CN)
    jowuIM
        15
    jowuIM  
       2018-06-14 13:40:43 +08:00
    @sadhen 可能是接触的概念有所不同吧,我所说的响应式就是你指的 reactive,而且主要指"消息驱动"这个特点
    hepin1989
        16
    hepin1989  
       2018-06-14 14:48:03 +08:00 via Android
    @jowuIM 响应式的确是错误的,特别是在反应式宣言里,比如,你觉得 responsive 应该怎么翻译呢?
    hepin1989
        17
    hepin1989  
       2018-06-14 14:49:45 +08:00 via Android
    @jowuIM 不是 wpf,里面的,函数反应式编程,毕竟现在概念在不断引申和发展,所以之前的响应式就存在问题了。
    shuyu
        18
    shuyu  
       2018-07-04 14:00:16 +08:00
    tldzyx
        19
    tldzyx  
       2018-09-29 01:02:21 +08:00
    支持一下, spark 要用到
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5354 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:51 · PVG 15:51 · LAX 23:51 · JFK 02:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.