Scala程序设计

出版时间:2010-8  出版社:人民邮电出版社  作者:[美]Venkat Subramaniam  页数:180  译者:郑晔,李剑  
Tag标签:无  

内容概要

  Scala是一门混合了函数式和面向对象的静态类型语言。本书旨在使读者在Scala上达到一定水平,可以用它编写并发、可伸缩、有表现力的程序。主要涉及Scala的函数式风格、自适应类型、闭包、XML处理、模式匹配和并发编程等内容。通过学习本书,你可以使用Scala的强大能力,创建多线程的应用程序。  这本书是为想了解Scala的程序员和有经验的Java程序员准备的。本书可以帮助读者快速领会Scala的精髓,用它构建真实的应用。

作者简介

Venkat Subramaniam,Agile Developer创办人,培训并指导了美国、加拿大、印度和欧洲多国的上千名软件开发人员,并多次应邀在各种大会上发表演讲。他是《高效程序员的45个习惯:敏捷开发修炼之道》(2007年Jolt大奖作品)的第一作者,还著有.NET Gotchas(O’Reilly)、Programming Groovy(Pragmatic)等书。

书籍目录

第1章 简介  1.1 为何选择Scala  1.2 何为Scala  1.3 函数式编程  1.4 本书的内容  1.5 本书面向的读者  1.6 致谢 第2章 起步  2.1 下载Scala  2.2 安装Scala   2.2.1 在Windows上安装Scala   2.2.2 在类UNIX系统上安装Scala  2.3 让Scala跑起来  2.4 命令行上的Scala  2.5 把Scala代码当作脚本运行   2.5.1 在类UNIX系统上作为脚本运行   2.5.2 在Windows上作为脚本运行  2.6 在IDE里面运行Scala  2.7 编译Scala 第3章 Scala步入正轨  3.1 把Scala当作简洁的Java  3.2 Java基本类型对应的Scala类  3.3 元组与多重赋值  3.4 字符串与多行原始字符串  3.5 自适应的默认做法  3.6 运算符重载  3.7 Scala带给Java程序员的惊奇   3.7.1 赋值的结果   3.7.2 Scala的==   3.7.3 分号是半可选的   3.7.4 默认的访问修饰符   3.7.5 默认的访问修饰符以及如何修改   3.7.6 Scala的Protected   3.7.7 细粒度访问控制   3.7.8 避免显式return 第4章 Scala的类  4.1 创建类  4.2 定义字段、方法和构造函数  4.3 类继承  4.4 单例对象  4.5 独立对象和伴生对象  4.6 Scala中的static 第5章 自适应类型  5.1 容器和类型推演  5.2 Any类型  5.3 关于Nothing的更多情况  5.4 Option类型  5.5 方法返回类型推演  5.6 传递变参  5.7 参数化类型的可变性 第6章 函数值和闭包  6.1 从普通函数迈向高阶函数  6.2 函数值  6.3 具有多参数的函数值  6.4 Curry化  6.5 重用函数值  6.6 参数的位置记法  6.7 Execute Around Method模式  6.8 偏应用函数  6.9 闭包 第7章 Trait和类型转换  7.1 Trait  7.2 选择性混入   7.3 以trait进行装饰  7.4 Trait方法的延迟绑定  7.5 隐式类型转换 第8章 使用容器  8.1 常见的Scala容器  8.2 使用Set  8.3 使用Map  8.4 使用List  8.5 for表达式 第9章 模式匹配和正则表达式  9.1 匹配字面量和常量  9.2 匹配通配符  9.3 匹配元组和列表 9.4 类型和卫述句的匹配  9.5 case表达式里的模式变量和常量  9.6 对XML片段进行模式匹配  9.7 使用case类进行模式匹配  9.8 使用提取器进行匹配  9.9 正则表达式  9.10 把正则表达式当做提取器 第10章 并发编程  10.1 促进不变性  10.2 使用Actor的并发  10.3 消息传递  10.4 Actor类  10.5 actor方法  10.6 receive和receiveWithin方法  10.7 react和reactWithin方法  10.8 loop和loopWhile  10.9 控制线程执行  10.10 在各种接收方法中选择 第11章 与Java互操作  11.1 在Scala里使用Scala类  11.2 在Scala里使用Java类  11.3 在Java里使用Scala类   11.3.1 有普通函数和高阶函数的Scala类   11.3.2 同trait一起工作   11.3.3 单例对象和伴生对象  11.4 继承类 第12章 用Scala做单元测试  12.1 使用JUnit  12.2 使用ScalaTest  12.3 以Canary测试开始  12.4 使用Runner  12.5 Asserts  12.6 异常测试  12.7 在测试间共享代码   12.7.1 用BeforeAndAfter共享代码   12.7.2 用闭包共享代码  12.8 FunSuite的函数式风格  12.9 用JUnit运行ScalaTest 第13章 异常处理  13.1 异常处理  13.2 注意catch顺序 第14章 使用Scala  14.1 净资产应用实例  14.2 获取用户输入  14.3 读写文件  14.4 XML,作为一等公民  14.5 读写XML  14.6 从Web获取股票价格  14.7 让净资产应用并发  14.8 为净资产应用增加GUI 附录A Web资源 

图书封面

图书标签Tags

评论、评分、阅读与下载


    Scala程序设计 PDF格式下载


用户评论 (总计44条)

 
 

  •   其定位决定了本书不会覆盖Scala的方方面面,但是对于熟练的Java用户而言,本书是最理想的Scala入门书。本书可以帮助用户在短时间内学会如何用Scala编写线程安全的Java组件,而不是教人如何从头用Scala编写完整的应用。
    限于篇幅,本书也没有像其它Scala教材一样涉及太多的算法和设计理论(由于Scala设计者的学术背景,很多参考书会比较深入的探讨Scala的设计原理),这是遗憾,但毕竟是从定位出发的。

    Scala的版本变化对书中的例程有一定的影响,建议下载2.7版进行练习。

    PS:很讨厌“偏应用函数”的说法,英文其实是“未完全实现的函数”之意,偏函数的说法让人不知所云(但可惜已经成了习惯译法,所以说第一个译者真的很重要)
  •   是对Scala中多核并发编程一种很好的诠释,看完后感觉和Erlang非常相似,但又有差别,不过收益很少,了解了Scala应用的一个重要方面
  •   概念清楚,条理清晰。很多在Java眼里很晦涩的概念解释的非常合理和透彻,看完这本之后再看更深的书会容易的多。适合Java开发者,快速入门Scala。
  •   建议有Java和Scala基础之后再阅读
  •   用了很多种语言了,目的是想看一看各种新的语言有什么新的进展。抱着想对Scala这个语言做一个基本的了解的目的买了此书。我觉得这本书的厚度刚好能满足我的目的。读起来不费劲。

    这本书不是Scala的完全引用手册。可作为入门的读物。
  •   简洁,突出重点,适合有一定java基础之后去看....
  •   眼见为实,入门绝佳好书,足以。。建议学习光看。
  •   可以收获很多。
  •   学到新知识了
  •   挺薄的一本,入门还不错吧~
  •   这本书内容信息量比较大,内容比较跳跃。需要反复来回看。主要Scala的三大重点、函数/闭包、匹配、Actor三块来讲。不是循序渐进的那种。初学者 需要配合其它参考书
  •   一直使用java,对于一个0基础scala的人来说,还是值得的,很高兴在当当网买一本书也免了邮费。
  •   书确实太薄了点,而且字也比较大,可目前国内没有人写这方面的书,就当是看看吧。所说scala会是java的合法继承者,那就拭目以待啰!
  •   这本书用来学习scala挺好,不太难。
  •   入门还可以,内容稍微嫌少。
  •   不适合入门,建议配合其他的书一起看
  •   初生婴儿视觉激发卡黑白
  •   昨天刚到,看了小部分,适合入门。
  •   和 oreily 的书是一个大小尺寸
  •   已经看了,很不错,精简
  •   不是说书的问题,只是觉得这本书的内容不是很全面。市面上scala的书很少,不过这本书也给我不少的启发,总体还不错。
  •   对于入门scala,这是一本不错的书,特别是在现在scala的纸质书不多的情况下
  •   当你开始深入的去理解和追逐他的脚步,认识到他的原理
    再深入他的设计 你会为此着迷。
  •   书的内容还在读,还没看到令人惊喜的地方
  •   运送速度还可以,就是书好像被人翻过,总体来说还好
  •   粗略的看了下,感觉还不错
  •   看完第六页后,就到了第23页,然后申请换货,当当网竟然说没有货了。然后再看购买页面又显示库存是有的
  •   书拿到了,薄薄的一本180页;再一翻恩,字很大,四边留白很多;
    还没看内容,此书给俺留下的印象就是...0的突破专用书籍
    这就是第一本中文版的scala书籍,其他评论等俺看完了再说.
    E文好的朋友还是去看原版吧,据说有700多页;
    只是苦了俺等E文只能凑合的大众
  •     本来是想借助它入门,结果,也仅仅是入了个门,对很多东西描述的太少。
      
       是很轻薄,但同时好多例子也不好理解,解释的太粗。
      
       所以,我的观点:不管是入门,还是想深入研究,强烈推荐另一本《scala编程》,scala的作者写的,不会错的。
  •      大师们都推荐,每个人至少学第二门编程语言。在看scala之前,学C#的同学一直诟病Java的语法:一潭死水、不吸取新的特色。当时,我只能用C#问世比Java晚借鉴Java的长处弥补不足为条件力辩--后来人依葫芦画瓢然后避免前人犯的一些错误就Ok,而且,你不能期待微软模拟出来的东西有多差。另外,同学说,我不看好Java,但我看好强大的JVM。他这两点的确说到点子上了!
       scala的确是对Java语法的很大弥补,比如类型推演,Trait,Curring,函数式编程,对并发的更高级抽象,对XML的支持,对读写文件的便利操作等。这本书不似API,看完之后你还得另看一本详细介绍的书然后才进入实际开发,它侧重于讲Scala的新特性和语法,而不是大范围内的囊括所有scala的知识点,比如scala的图形界面。但,看完后、敲一遍代码,你绝对算对scala入门了。。。
  •     很薄而有精炼的一本书,通过ipad在上班的地铁上把这本书E文版看完了。一个Java程序员,看完一遍,基本上可以比较顺利的使用Scala了写程序了。有了Scala,你还会期待慢腾腾的Java 7,8,9,10..的新特性么?打算在一些小的项目、工具和机器学习的实验代码中使用并熟悉scala语言。对于一个有Java和Ruby,少许Erlang经验的程序员,学习Scala或许不再像书中所说的那样惊诧于Scala的简洁和怪异的语法,但不得不惊诧于一个静态语言能够如此平滑的将面向对象和函数式编程方式溶为一题,同时又能如此实现像Ruby一样动态的功能。
      
  •     译者的辛苦努力首先要得到承认。但不得不说这本书的内容有点鸡肋。很多东西都没写清楚,行文不太流畅,有个别错误。作为一名Java程序员如果打算了解Scala,IBM developer有几篇不错的文章。如果打算全面了解Scala,这本薄薄的书的内容实在太少。
      总之,买这本书,有点亏得慌!
  •     本书主要讲了学习、使用 Scala 必备的知识点(编程要点、技巧),
      略去了太过“偏”的细节,更加容易理解!
  •     目标读者定位很明确,就是帮助Java程序员熟悉Scala语言。
      
      可能是由于Scala的确有很多新颖(或者说不太适应)的东西,加上一些概念还没有标准化翻译,所以感觉还是稍欠打磨。
      
      不过这本书还是推荐作为Scala入门书籍,对初接触Scala的人来说,还是很不错。
      
      另外,我觉得译作加上一些评注,是很好的尝试。尤其是Scala这种快速成长中的技术,翻译的时候技术更新了,加上评注对读者是很好的交代。
  •     快速入门书,没看完呢,不过觉得译者有点刻意想让读者知道自己看懂了原文的感觉,有点别扭,而且经常是通过无意义的脚注来说明他们看懂了,不喜欢这种做法。
  •     这两个关键词:
      1、适合Java开发者
      2、快速入门Scala
      
      概念清楚,条理清晰。很多在Java眼里很晦涩的概念解释的非常合理和透彻。看完这本之后再看更深的书会容易的多。
  •   其实,在我们现在的阶段学Scala。用的很少,语法倒不是关键,
    我觉得有两点:第一,就是学习里面的函数式的特性,比如列表推演,不变类型这些。然后就是一些并发的实现。就是说那些思想。第二,就是面试的时候至少能说的东西多些 ^-^
  •   同感,尤其看到actor时就没看下去,看这本有些浪费时间,不如直接看马丁二叔的PiS,转读动物世界那本...
  •   楼上问的是重点
  •   感觉翻译的还不错。
  •   准备买了
  •   我去找电子版的算了,不能再买书了
  •   我也有电子版,只是平时整天对着电脑,实在有点受不了了。到ppurl.com上可以下载
  •   我是比较欣赏译者,然后才去买书。
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7