深入理解Scala

深入理解Scala
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Joshua D.Suereth) ,
2015-01
版次: 1
ISBN: 9787115365545
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 274页
字数: 385千字
正文语种: 简体中文
原版书名: Scala in depth
63人买过
  •   Scala是一种多范式的编程语言,它既支持面向对象编程,也支持函数式编程的各种特性。
      《深入理解Scala》深入探讨了Scala里几个较为复杂的领域,包括类型系统的高阶内容、隐式转换、特质的组合技巧、集合、Actor、函数式编程的范畴论等,而且不是干巴巴地讲述语言和库的概念。《深入理解Scala》充满各种实用的建议和佳实践,可以来帮助读者学习怎样把Scala里较少被掌握的部分应用到工作中。
      《深入理解Scala》不是Scala的入门级教程,而是适合有经验的Scala程序员向专家水平进阶的参考读物。《深入理解Scala》适合想要了解Scala语言的底层机制和技术细节的读者阅读参考。    JoshSuereth,是Typesafe公司的一名软件工程师,它是Scala的Committer之一,也是scala-tools.org的维护者。 第1章Scala——一种混合式编程语言
    1.1Scala的设计哲学
    1.2当函数式编程遇见面向对象
    1.2.1重新发现函数式概念
    1.2.2GoogleCollections中的函数式概念
    1.3静态类型和表达力
    1.3.1换边
    1.3.2类型推断
    1.3.3抛开语法1
    1.3.4隐式转换概念早已有之
    1.3.5使用Scala的implicit关键字
    1.4与JVM的缝集成
    1.4.1Scala调用Java
    1.4.2Java调用Scala
    1.4.3JVM的优越性
    1.5总结

    第2章核心规则
    2.1学习使用Scala交互模式(REPL)
    2.1.1实验驱动开发
    2.1.2绕过积极(eaglerly)解析
    2.1.3法表现的语言特性
    2.2优先采用面向表达式编程
    2.2.1方法和模式匹配
    2.2.2可变性
    2.3优先选择不变性
    2.3.1判等
    2.3.2并发
    2.4用None不用null
    2.5多态场景下的判等
    2.5.1例子:时间线库
    2.5.2多态判等实现
    2.6总结

    第3章来点样式-编码规范
    3.1避免照搬其他语言的编码规范
    3.2空悬的操作符和括号表达式
    3.3使用有意义的命名
    3.3.1命名时避免$符号
    3.3.2使用命名和默认参数
    3.4总是标记覆盖(overriden)方法
    3.5对期望的优化进行标注
    3.6总结

    第4章面向对象编程
    4.1限制在对象或特质的body里初始化逻辑的代码
    4.1.1延迟构造
    4.12多重继承又来了
    4.2为特质的抽象方法提供空实现
    4.3组合可以包含继承
    4.3.1通过继承组合成员
    4.3.2经典构造器withatwist
    4.3.3总结
    4.4提升抽象接口为独立特质
    4.4.1和接口交互
    4.4.2从历史中吸取教训
    4.4.3结论
    4.5public接口应当提供返回值
    4.6总结

    第5章利用隐式转换写更有表达力
    5.1介绍隐式转换系统
    5.1.1题外话:标识符
    5.1.2作用域和绑定
    5.1.3隐式解析
    5.1.4通过类型参数获得隐式作用域
    5.1.5通过嵌套获得隐式作用域
    5.2隐式视图:强化已存在的类
    5.3隐式参数结合默认参数
    5.4限制隐式系统的作用域
    5.4.1为导入创建隐式转换
    5.4.2没有导入税(importtax)的隐式转换
    5.5总结1

    第6章类型系统
    6.1类型
    6.1.1类型和路径
    6.1.2type关键字
    6.1.3结构化类型
    6.2类型约束130
    6.3类型参数和高阶类型(HigherKindedTypes)
    6.3.1类型参数约束
    6.3.2高阶类型
    6.4型变(Variance)
    6.5存在类型
    6.6总结

    第7章隐式转换和类型系统结合应用
    7.1上下文边界和视图边界
    7.2用隐式转换来捕捉类型
    7.2.1捕获类型用于运行时计算(capturingtypesforruntimeevaluation)
    7.2.2使用Manifest
    7.2.3捕捉类型约束
    7.2.4特定方法(Specializedmethod)
    7.3使用类型类(typeclass)
    7.3.1作为类型类的FileLike
    7.3.2类型类的好处
    7.4用类型系统实现条件执行
    7.4.1异构类型List
    7.4.2IndexedView
    7.5总结

    第8章Scala集合库
    8.1使用正确的集合类型
    8.1.1集合库继承层次
    8.1.2Traversable
    8.1.3Iterable
    8.1.4Seq
    8.1.5LinearSeq
    8.1.6IndexedSeq
    8.1.7Set
    8.1.8Map
    8.2不可变集合
    8.2.1Vector
    8.2.2List
    8.2.3Stream(流)
    8.3可变集合
    8.3.1ArrayBuffer
    8.3.2混入修改事件发布特质
    8.3.3混入串行化特质
    8.4用视图和并行集合来改变计算策略
    8.4.1视图
    8.4.2并行集合
    8.5编写能处理所有集合类型的方法
    8.6总结

    第9章Actors
    9.1使用Actor的时机
    9.2使用有类型的、透明的引用
    9.3把故障限制在故障区里
    9.3.1发散搜集故障区
    9.3.2通常的故障处理实践
    9.4利用排期区控制负载
    9.5动态Actor拓扑
    9.6总结

    第10章Scala和Java集成
    10.1Scala/Java不匹配
    10.1.1基础类型自动打包的差异
    10.1.2可见性的差异
    10.1.3不可表达的语言特性
    10.2谨慎使用隐式转换
    10.2.1对象标识和判等
    10.2.2链式隐式转换
    10.3小心Java序列化
    10.4注解你的注解
    10.4.1注解目标
    10.4.2Scala和静态属性
    10.5总结

    第11章函数式编程
    11.1计算机科学领域的范畴论
    11.2函子(Functor),Monad及它们与范畴的关系
    11.3咖喱化和可应用风格(Applicativestyle)
    11.3.1咖喱化
    11.3.2可应用风格
    11.4用作工作流的单子
    11.5总结
  • 内容简介:
      Scala是一种多范式的编程语言,它既支持面向对象编程,也支持函数式编程的各种特性。
      《深入理解Scala》深入探讨了Scala里几个较为复杂的领域,包括类型系统的高阶内容、隐式转换、特质的组合技巧、集合、Actor、函数式编程的范畴论等,而且不是干巴巴地讲述语言和库的概念。《深入理解Scala》充满各种实用的建议和佳实践,可以来帮助读者学习怎样把Scala里较少被掌握的部分应用到工作中。
      《深入理解Scala》不是Scala的入门级教程,而是适合有经验的Scala程序员向专家水平进阶的参考读物。《深入理解Scala》适合想要了解Scala语言的底层机制和技术细节的读者阅读参考。
  • 作者简介:
       JoshSuereth,是Typesafe公司的一名软件工程师,它是Scala的Committer之一,也是scala-tools.org的维护者。
  • 目录:
    第1章Scala——一种混合式编程语言
    1.1Scala的设计哲学
    1.2当函数式编程遇见面向对象
    1.2.1重新发现函数式概念
    1.2.2GoogleCollections中的函数式概念
    1.3静态类型和表达力
    1.3.1换边
    1.3.2类型推断
    1.3.3抛开语法1
    1.3.4隐式转换概念早已有之
    1.3.5使用Scala的implicit关键字
    1.4与JVM的缝集成
    1.4.1Scala调用Java
    1.4.2Java调用Scala
    1.4.3JVM的优越性
    1.5总结

    第2章核心规则
    2.1学习使用Scala交互模式(REPL)
    2.1.1实验驱动开发
    2.1.2绕过积极(eaglerly)解析
    2.1.3法表现的语言特性
    2.2优先采用面向表达式编程
    2.2.1方法和模式匹配
    2.2.2可变性
    2.3优先选择不变性
    2.3.1判等
    2.3.2并发
    2.4用None不用null
    2.5多态场景下的判等
    2.5.1例子:时间线库
    2.5.2多态判等实现
    2.6总结

    第3章来点样式-编码规范
    3.1避免照搬其他语言的编码规范
    3.2空悬的操作符和括号表达式
    3.3使用有意义的命名
    3.3.1命名时避免$符号
    3.3.2使用命名和默认参数
    3.4总是标记覆盖(overriden)方法
    3.5对期望的优化进行标注
    3.6总结

    第4章面向对象编程
    4.1限制在对象或特质的body里初始化逻辑的代码
    4.1.1延迟构造
    4.12多重继承又来了
    4.2为特质的抽象方法提供空实现
    4.3组合可以包含继承
    4.3.1通过继承组合成员
    4.3.2经典构造器withatwist
    4.3.3总结
    4.4提升抽象接口为独立特质
    4.4.1和接口交互
    4.4.2从历史中吸取教训
    4.4.3结论
    4.5public接口应当提供返回值
    4.6总结

    第5章利用隐式转换写更有表达力
    5.1介绍隐式转换系统
    5.1.1题外话:标识符
    5.1.2作用域和绑定
    5.1.3隐式解析
    5.1.4通过类型参数获得隐式作用域
    5.1.5通过嵌套获得隐式作用域
    5.2隐式视图:强化已存在的类
    5.3隐式参数结合默认参数
    5.4限制隐式系统的作用域
    5.4.1为导入创建隐式转换
    5.4.2没有导入税(importtax)的隐式转换
    5.5总结1

    第6章类型系统
    6.1类型
    6.1.1类型和路径
    6.1.2type关键字
    6.1.3结构化类型
    6.2类型约束130
    6.3类型参数和高阶类型(HigherKindedTypes)
    6.3.1类型参数约束
    6.3.2高阶类型
    6.4型变(Variance)
    6.5存在类型
    6.6总结

    第7章隐式转换和类型系统结合应用
    7.1上下文边界和视图边界
    7.2用隐式转换来捕捉类型
    7.2.1捕获类型用于运行时计算(capturingtypesforruntimeevaluation)
    7.2.2使用Manifest
    7.2.3捕捉类型约束
    7.2.4特定方法(Specializedmethod)
    7.3使用类型类(typeclass)
    7.3.1作为类型类的FileLike
    7.3.2类型类的好处
    7.4用类型系统实现条件执行
    7.4.1异构类型List
    7.4.2IndexedView
    7.5总结

    第8章Scala集合库
    8.1使用正确的集合类型
    8.1.1集合库继承层次
    8.1.2Traversable
    8.1.3Iterable
    8.1.4Seq
    8.1.5LinearSeq
    8.1.6IndexedSeq
    8.1.7Set
    8.1.8Map
    8.2不可变集合
    8.2.1Vector
    8.2.2List
    8.2.3Stream(流)
    8.3可变集合
    8.3.1ArrayBuffer
    8.3.2混入修改事件发布特质
    8.3.3混入串行化特质
    8.4用视图和并行集合来改变计算策略
    8.4.1视图
    8.4.2并行集合
    8.5编写能处理所有集合类型的方法
    8.6总结

    第9章Actors
    9.1使用Actor的时机
    9.2使用有类型的、透明的引用
    9.3把故障限制在故障区里
    9.3.1发散搜集故障区
    9.3.2通常的故障处理实践
    9.4利用排期区控制负载
    9.5动态Actor拓扑
    9.6总结

    第10章Scala和Java集成
    10.1Scala/Java不匹配
    10.1.1基础类型自动打包的差异
    10.1.2可见性的差异
    10.1.3不可表达的语言特性
    10.2谨慎使用隐式转换
    10.2.1对象标识和判等
    10.2.2链式隐式转换
    10.3小心Java序列化
    10.4注解你的注解
    10.4.1注解目标
    10.4.2Scala和静态属性
    10.5总结

    第11章函数式编程
    11.1计算机科学领域的范畴论
    11.2函子(Functor),Monad及它们与范畴的关系
    11.3咖喱化和可应用风格(Applicativestyle)
    11.3.1咖喱化
    11.3.2可应用风格
    11.4用作工作流的单子
    11.5总结
查看详情
其他版本 / 全部 (1)
相关图书 / 更多
深入理解Scala
深入浅出全链路压测
吴骏龙
深入理解Scala
深入解析Windows操作系统 (第7版)(卷2)
(美)安德里亚·阿列维(Andrea Allievi)
深入理解Scala
深入理解移动互联网
吴功宜 吴英 编著
深入理解Scala
深入实施“四个育人”,彰显本科人才培养特色——云南大学本科教育改革与创新优秀论文集
主编唐旭光
深入理解Scala
深入浅出存储引擎 文小飞
文小飞
深入理解Scala
深入浅出C语言程序设计(第3版·微课版)
李俊·c;强振平;荣剑;张晴晖;赵毅力;钟丽辉
深入理解Scala
深入理解物联网 吴功宜 吴英
吴功宜 吴英
深入理解Scala
深入学习习近平关于科技创新的重要论述
科学技术部编写组 著
深入理解Scala
深入浅出Spring Boot 3.x
杨开振
深入理解Scala
深入浅出数字经济
郭全中
深入理解Scala
深入地心 少儿科普 新华正版
英国尤斯伯恩出版公司
深入理解Scala
深入理解FFmpeg
刘歧 赵军 杜金房 赵文杰 宋韶颍
您可能感兴趣 / 更多
深入理解Scala
从一到无穷大(爱因斯坦亲笔推荐的科普入门书,清华大学校长送给新生的礼物;世界著名物理学家、宇宙大爆炸学说的先驱)
[美]乔治·伽莫夫 著;栗子文化 出品;有容书邦 发行
深入理解Scala
明信片(《断背山》作者又一力作,荣获福克纳文学奖,49张明信片背后是100种离奇人生)
[美]安妮·普鲁 著;黄宜思 译
深入理解Scala
欲望行星:人类时代的地球
[美]唐纳德·沃斯特(Donald Worster) 著;侯深 译;汉唐阳光 出品
深入理解Scala
超大规模集成电路物理设计:从图分割到时序收敛(原书第2版) [美国]安德·B.卡恩
[美]安德·B.卡恩
深入理解Scala
海外中国研究·文化、权力与国家:1900—1942年的华北农村(海外中国研究丛书精选版第四辑)
[美]杜赞奇 著;王福明 译
深入理解Scala
全新正版图书 改变世界的6种力亨利·波卓斯基浙江科学技术出版社9787573910929
[美] 亨利·波卓斯基
深入理解Scala
(守望者·传记)身体的疯狂朝圣:田纳西·威廉斯传
[美]约翰·拉尔 著;张敏 凌建娥 译
深入理解Scala
哥白尼
[美]欧文·金格里奇(Owen Gingerich)
深入理解Scala
玻璃底片上的宇宙
[美]达娃·索贝尔 后浪
深入理解Scala
数学侦探 珠宝行里的X劫匪
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
深入理解Scala
十大经济学家
[美]约瑟夫·熊彼特
深入理解Scala
闲散一些也无可厚非
[美]艾莉森·孙 著;李昂 译