Scala编程

Scala编程 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:Martin Odersky、Lex Spoon、Bill Venners 著
出品人:博文视点
页数:492
译者:黄海旭
出版时间:2010-12
价格:89.00元
装帧:平装
isbn号码:9787121121197
丛书系列:
图书标签:
  • Scala
  • 函数式编程
  • 编程
  • programming
  • scala
  • 计算机
  • 程序设计
  • Java
  • Scala
  • 编程
  • 语言
  • 学习
  • 基础
  • 面向对象
  • 函数式编程
  • 并发
  • 集合
  • 实战
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书介绍了一种新的编程语言,它把面向对象和函数式编程概念有机地结合为整体,从而形成一种完整统一、语义丰富的新思维体系。本书循序渐进,由浅入深,经作者精心组织、仔细编排,将语言中的各种概念自然地铺陈在字里行间。除此之外,本书还包含了大量富有针对性和趣味性的示例,它们除了提供对语言各个方面的具体演示之外,还从侧面说明了如何将函数式编程的理念切实并广泛地应用到面向对象编程中。本书面向的读者是有一定编程经验的开发人员,他们希望能够开拓眼界,并致力于提高在软件开发各方面的技能。

《Scala编程》是一本旨在深入剖析Scala这门强大而富有表现力语言的书籍。本书并非仅仅罗列语法规则,而是致力于引导读者理解Scala的设计哲学,掌握其核心概念,并学会如何运用Scala解决实际的软件开发问题。 面向读者: 本书适合有一定编程基础的开发者,无论您是Java、Python、Ruby等语言的熟练使用者,还是希望涉足函数式编程领域的新手,都能从中受益。如果您追求编写更简洁、更安全、更高效的代码,那么本书将是您的理想选择。 内容深度与广度: 本书的结构安排旨在循序渐进,从基础概念到高级特性,层层递进,确保读者能够扎实掌握Scala。 基础篇: Scala入门: 详细介绍Scala的安装、开发环境搭建,以及第一个Scala程序的编写。我们将深入探讨Scala的交互式Shell(REPL)的使用,这是学习和实验Scala特性的绝佳工具。 表达式与值: 讲解Scala中一切皆表达式的理念,以及不可变性(immutability)的重要性。我们将学习如何声明和使用变量(val和var),理解它们在函数式编程中的角色。 数据类型: 全面介绍Scala提供的丰富数据类型,包括基本类型(Int, Double, Boolean等)、字符串(String)、以及Scala特有的Unit类型。我们将重点关注Scala如何将所有类型统一到单一的类型体系中,以及其与Java类型的互操作性。 控制结构: 学习Scala的条件表达式(if/else)、循环(for, while)以及模式匹配(pattern matching)。模式匹配将是本书的一大亮点,它不仅是强大的控制流工具,更是Scala表达力的重要体现。 函数: 这是Scala的灵魂所在。我们将深入理解函数的定义、调用、参数传递、返回值,以及高阶函数(higher-order functions)的概念。函数作为一等公民(first-class citizens)在Scala中扮演着至关重要的角色。 核心篇: 面向对象编程: 尽管Scala融合了函数式编程,但它仍然是一门强大的面向对象语言。我们将学习类(class)、对象(object)、继承、特质(trait)等OOP核心概念。特质在Scala中扮演着比Java接口更强大的角色,它允许我们组合行为。 集合(Collections): Scala提供了极其强大和富有表现力的集合库。本书将深入讲解List, Vector, Map, Set等常用集合类型,以及它们丰富的操作方法,如map, filter, reduce, fold等。我们将重点关注不可变集合(immutable collections)和可变集合(mutable collections)的区别与应用场景。 模式匹配进阶: 除了基础的模式匹配,我们还将探讨匹配守卫(match guards)、类型匹配(type matching)、变量捕获(variable binding)以及在函数、for表达式中的应用。 特质(Traits)与混入(Composition): 深入理解特质的强大之处,包括字段(fields)、抽象方法(abstract methods)、以及如何通过混入(mixin)的方式来组合功能,实现代码的复用和模块化。 案例分析: 通过一些实际的编程案例,展示如何将所学知识融会贯通,例如:构建简单的数据处理管道、实现响应式UI组件等。 高级篇: 函数式编程范式: 深入探讨纯函数(pure functions)、引用透明性(referential transparency)、不可变性(immutability)、惰性求值(lazy evaluation)等函数式编程的核心原则。理解这些原则如何帮助我们编写更易于理解、测试和并发的代码。 Option类型: 学习如何使用Option来优雅地处理可能为空的值,避免NullPointerException,从而提升代码的健壮性。 Either与Try: 探索Either类型用于表示可能发生的两种结果(成功或失败),以及Try类型用于处理可能抛出异常的操作。 并发与并行: Scala在并发编程方面提供了强大的支持。本书将介绍Scala的Future API,以及如何使用Actor模型(通过Akka库)来构建高并发、分布式的应用程序。 隐式转换与隐式参数(Implicit Conversions and Parameters): 这是Scala最独特也最强大的特性之一。我们将深入理解隐式转换如何扩展现有类型的功能,以及隐式参数如何简化代码,实现类型安全的“胶水代码”。 类型系统: 探讨Scala强大的类型系统,包括泛型(Generics)、类型成员(Type Members)、型变(Variance)、以及如何在设计API时充分利用类型系统的优势。 DSL(Domain-Specific Languages)构建: 学习如何利用Scala的语法特性,例如操作符重载、方法链、以及DSL的惯用法,来创建领域特定语言,使代码更具可读性和表达力。 与其他JVM语言的互操作性: 详细介绍Scala与Java之间的无缝集成,如何调用Java库,以及如何在Java项目中引入Scala代码。 本书特色: 代码示例丰富且实用: 每一章都配有大量的、经过精心设计的代码示例,读者可以通过运行和修改这些代码来加深理解。 由浅入深,循序渐进: 结构清晰,逻辑严谨,确保不同水平的读者都能找到适合自己的学习路径。 强调理解而非记忆: 关注Scala的设计理念和思想,帮助读者真正理解“为什么”这样做,而不是死记硬背语法。 实践导向: 鼓励读者动手实践,通过解决实际问题来巩固所学知识。 揭示Scala的“魔力”: 深入剖析Scala的一些高级特性,让读者领略到这门语言的独特魅力与强大之处。 学习《Scala编程》,您将能够: 编写出更简洁、更富有表现力的代码。 提高代码的健壮性和可维护性。 掌握函数式编程的核心思想,并将其应用于实际开发。 自信地处理并发和分布式场景。 构建出更易于测试和推理的程序。 提升整体的软件设计和开发能力。 本书将带领您踏上一段充实而富有启发性的Scala学习之旅,助您成为一名更加优秀的软件工程师。

作者简介

关于作者

Martin Odersky是Scala语言的创造者。作为瑞士洛桑联邦理工学院(EPFL)的教授,他主要从事编程语言领域的工作。更具体地说,是面向对象和函数式编程的语言。他研究的论题是,这两种编程模式是硬币的两面,应该被尽可能地统一在一起。为了证明这点,他已试验性地设计了大量的语言,从Pizza到GJ到Functional Nets语言 。他还作为Java泛型的联合设计师及当前javac参考编译器的原作者影响了Java的发展。从2001年起,他主要从事Scala编程语言的设计、实现及改进工作。

Lex Spoon是Google的软件工程师。他以EPFL博士后身份在Scala方面工作了两年时间,从佐治亚理工学院(Georgia Tech)获得计算机科学的博士学位。那时他的主要工作是动态语言的静态分析。除了Scala之外,他还从事大量其他的编程语言工作,范围从动态语言Smalltalk到科学性语言X10。他和他的妻子,两只猫、一条吉娃娃还有一只乌龟,现生活于亚特兰大。

Bill Venners是Artima的总裁,兼Artima开发者网站(www.artima.com)的发行人。他是《深入Java虚拟机》(“Inside the Java Virtual Machine”)的作者,该书是定向为程序员的Java平台架构和内部组织的总体研究。他在JavaWorld杂志上有很受欢迎的专栏,内容涵盖Java内部机制,面向对象设计,还有Jini。Bill从Jini诞生伊始就活跃于Jini社区,他曾领导Jini社区的ServiceUI项目,而其中的ServiceUI API已经变成了联系用户界面和Jini服务之间的事实标准。Bill还是ScalaTest(Scala和Java开发的开源测试工具)的首席开发者(lead developer)和设计者。

目录信息

目录 ix
图示清单 xvii
表格清单 xix
代码清单 xxi
序 I
致谢 III
简介 V
第1章 可伸展的语言 3
1.1 与你一同成长的语言 3
1.2 是什么让Scala具有可扩展性? 6
1.3 为什么选择Scala? 8
1.4 Scala的根源 13
1.5 小结 14
第2章 Scala入门初探 15
2.1 第一步 学习使用Scala解释器 15
2.2 第二步 变量定义 16
2.3 第三步 函数定义 18
2.4 第四步 编写Scala脚本 19
2.5 第五步 用while做循环;用if做判断 20
2.6 第六步 用foreach和for做枚举 21
2.7 小结 22
第3章 Scala入门再探 23
3.1 第七步 使用类型参数化数组(Array) 23
3.2 第八步 使用列表(List) 25
3.3 第九步 使用元组(Tuple) 28
3.4 第十步 使用集(set)和映射(map) 29
3.5 第十一步 学习识别函数式风格 32
3.6 第十二步 从文件里读取文本行 34
3.7 小结 36
第4章 类和对象 37
4.1 类、字段和方法 37
4.2 分号推断 40
4.3 Singleton对象 41
4.4 Scala程序 43
4.5 Application特质 45
4.6 小结 45
第5章 基本类型和操作 47
5.1 基本类型 47
5.2 字面量 48
5.3 操作符和方法 52
5.4 数学运算 54
5.5 关系和逻辑操作 55
5.6 位操作符 56
5.7 对象相等性 57
5.8 操作符的优先级和关联性 58
5.9 富包装器 60
5.10 小结 60
第6章 函数式对象 61
6.1 类Rational的规格说明书 61
6.2 创建Rational 62
6.3 重新实现toString方法 63
6.4 检查先决条件 63
6.5 添加字段 64
6.6 自指向 65
6.7 辅助构造器 65
6.8 私有字段和方法 66
6.9 定义操作符 67
6.10 Scala的标识符 68
6.11 方法重载 70
6.12 隐式转换 71
6.13 一番告诫 72
6.14 小结 72
第7章 内建控制结构 73
7.1 If表达式 73
7.2 While循环 74
7.3 for表达式 76
7.4 使用try表达式处理异常 80
7.5 匹配(match)表达式 82
7.6 不再使用break和continue 83
7.7 变量范围 84
7.8 重构指令式风格的代码 87
7.9 小结 88
第8章 函数和闭包 89
8.1 方法 89
8.2 本地函数 90
8.3 头等函数 91
8.4 函数字面量的短格式 93
8.5 占位符语法 93
8.6 部分应用函数 94
8.7 闭包 96
8.8 重复参数 98
8.9 尾递归 99
8.10 小结 102
第9章 控制抽象 103
9.1 减少代码重复 103
9.2 简化客户代码 106
9.3 柯里化(currying) 107
9.4 编写新的控制结构 108
9.5 传名参数(by-name parameter) 110
9.6 小结 112
第10章 组合与继承 113
10.1 二维布局库 113
10.2 抽象类 114
10.3 定义无参数方法 114
10.4 扩展类 116
10.5 重写方法和字段 117
10.6 定义参数化字段 118
10.7 调用超类构造器 119
10.8 使用override修饰符 120
10.9 多态和动态绑定 121
10.10 定义final成员 123
10.11 使用组合与继承 124
10.12 实现above、beside和toString 124
10.13 定义工厂对象 126
10.14 变高变宽 128
10.15 把代码都放在一起 129
10.16 小结 130
第11章 Scala的层级 131
11.1 Scala的类层级 131
11.2 原始类型是如何实现的 134
11.3 底层类型 135
11.4 小结 136
第12章 特质 137
12.1 特质是如何工作的 137
12.2 瘦接口对阵胖接口 139
12.3 样例:长方形对象 140
12.4 Ordered特质 141
12.5 特质用来做可堆叠的改变 143
12.6 为什么不是多重继承? 146
12.7 特质,用还是不用? 148
12.8 小结 149
第13章 包和引用 151
13.1 包 151
13.2 引用 153
13.3 隐式引用 156
13.4 访问修饰符 156
13.5 小结 160
第14章 断言和单元测试 161
14.1 断言 161
14.2 Scala里的单元测试 162
14.3 翔实的失败报告 163
14.4 使用JUnit和TestNG 164
14.5 规格测试 166
14.6 基于属性的测试 167
14.7 组织和运行测试 168
14.8 小结 170
第15章 样本类和模式匹配 171
15.1 简单例子 171
15.2 模式的种类 174
15.3 模式守卫 180
15.4 模式重叠 181
15.5 封闭类 182
15.6 Option类型 183
15.7 模式无处不在 184
15.8 一个更大的例子 187
15.9 小结 192
第16章 使用列表 193
16.1 列表字面量 193
16.2 List类型 193
16.3 构造列表 194
16.4 列表的基本操作 194
16.5 列表模式 195
16.6 List类的一阶方法 196
16.7 List类的高阶方法 204
16.8 List对象的方法 210
16.9 了解Scala的类型推断算法 212
16.10 小结 214
第17章 集合类型 215
17.1 集合库概览 215
17.2 序列 216
17.3 集(Set)和映射(Map) 220
17.4 可变(mutable)集合vs.不可变(immutable)集合 227
17.5 初始化集合 229
17.6 元组 231
17.7 小结 232
第18章 有状态的对象 233
18.1 什么让对象具有状态? 233
18.2 可重新赋值的变量和属性 234
18.3 案例研究:离散事件模拟 237
18.4 为数字电路定制的语言 237
18.5 Simulation API 239
18.6 电路模拟 242
18.7 小结 247
第19章 类型参数化 249
19.1 queues函数式队列 249
19.2 信息隐藏 251
19.3 变化型注解 253
19.4 检查变化型注解 256
19.5 下界 258
19.6 逆变 259
19.7 对象私有数据 261
19.8 上界 263
19.9 小结 264
第20章 抽象成员 265
20.1 抽象成员的快速浏览 265
20.2 类型成员 266
20.3 抽象val 266
20.4 抽象var 267
20.5 初始化抽象val 267
20.6 抽象类型 273
20.7 路径依赖类型 274
20.8 枚举 276
20.9 案例研究:货币 277
20.10 小结 284
第21章 隐式转换和参数 285
21.1 隐式转换 285
21.2 隐式操作规则 287
21.3 隐式转换为期望类型 289
21.4 转换(方法调用的)接收者 290
21.5 隐式参数 292
21.6 视界 296
21.7 隐式操作调试 297
21.8 小结 299
第22章 实现列表 301
22.1 List类原理 301
22.2 ListBuffer类 305
22.3 实际的List类 306
22.4 外在的函数式(风格) 308
22.5 小结 308
第23章 重访For表达式 309
23.1 For表达式 310
23.2 皇后问题 311
23.3 使用for表达式做查询 313
23.4 for表达式的转译 314
23.5 反其道而行之 317
23.6 泛化的for 318
23.7 小结 319
第24章 抽取器(Extractors) 321
24.1 例子:抽取email地址 321
24.2 抽取器 322
24.3 0或1个变量的模式 324
24.4 变参抽取器 325
24.5 抽取器和序列模式 327
24.6 抽取器VS.样本类 327
24.7 正则表达式 328
24.8 小结 330
第25章 注解 331
25.1 为什么要有注解? 331
25.2 注解语法 332
25.3 标准注解 333
25.4 小结 334
第26章 使用XML 335
26.1 半结构化数据 335
26.2 XML概览 335
26.3 XML字面量 336
26.4 序列化 338
26.5 拆解XML 339
26.6 反序列化 340
26.7 加载和保存 341
26.8 XML的模式匹配 342
26.9 小结 344
第27章 使用对象的模块化编程 345
27.1 问题 345
27.2 食谱应用 346
27.3 抽象概念 348
27.4 把模块拆分为特质 350
27.5 运行期链接 352
27.6 跟踪模块实例 353
27.7 小结 354
第28章 对象相等性 355
28.1 Scala中的相等性 355
28.2 编写相等性方法 355
28.3 定义带参数类型的相等性 365
28.4 equals和hashCode的制作方法 368
28.5 小结 371
第29章 结合Scala和Java 373
29.1 在Java中使用Scala 373
29.2 注解 375
29.3 存在类型 379
29.4 小结 381
第30章 Actor和并发 383
30.1 天堂中的烦恼 383
30.2 actor和消息传递 384
30.3 将原生线程当作actor 387
30.4 通过重用线程获得更好的性能 387
30.5 良好的actor风格 389
30.6 更长一些的示例:并行离散事件模拟 394
30.7 小结 406
第31章 连结符解析 407
31.1 示例:算术表达式 408
31.2 运行你的解析器 409
31.3 基本的正则表达式解析器 410
31.4 另一个示例:JSON 410
31.5 解析器输出 412
31.6 实现连结符解析器 416
31.7 字符串字面量和正则表达式 421
31.8 词法分析和解析 422
31.9 错误报告 423
31.10 回溯vs. LL(1) 424
31.11 小结 425
第32章 GUI编程 427
32.1 第一个Swing应用 427
32.2 面板和布局 429
32.3 处理事件 430
32.4 示例:摄氏/华氏温度转换器 432
32.5 小结 434
第33章 Scell试算表 435
33.1 可视化框架 435
33.2 将数据录入和显示分开 437
33.3 公式 439
33.4 解析公式 440
33.5 求值 444
33.6 操作库 446
33.7 修改传达 448
33.8 小结 451
附录A Unix和Windows的Scala脚本 453
术语表 455
参考文献 465
关于作者 467
索引 469
· · · · · · (收起)

读后感

评分

目前是最权威的也是最好的scala书,不过有些新的syntax没有cover,发现stackoverflow上的这个集合比较有用,推荐大家看看,http://stackoverflow.com/tags/scala/info  

评分

这本书的确是能帮助人更好的驾驭scala,这体现在效率及最佳实践上。但里面的内容得自己亲自用过这门语言才能体会得到,所以不要一用这本书作为scala入门,而是应该在自己使用过scala后用来提高自己代码质量及效率。 这本书看完花的时间并不多,三天左右把。主要是工作的时候要...  

评分

评分

这本书是我刚接触Scala的时候看的一本书,当时有个人翻译了前12章,我就跟着读了下来。Scala的语法和特性,这本书介绍非常的好,如果你不是Java程序员,建议首先看这本书。如果是Java程序员,最好先看《programming Scala》(少了一个in),这本书可以让Java程序员快速掌握Scala...  

评分

这本书的确是能帮助人更好的驾驭scala,这体现在效率及最佳实践上。但里面的内容得自己亲自用过这门语言才能体会得到,所以不要一用这本书作为scala入门,而是应该在自己使用过scala后用来提高自己代码质量及效率。 这本书看完花的时间并不多,三天左右把。主要是工作的时候要...  

用户评价

评分

偶然间翻到这本书,被它精致的封面和扎实的目录所吸引。我一直对编程语言的“美学”比较在意,而 Scala 恰好以其优雅的语法和强大的表达能力闻名。《Scala编程》这本书,无疑将这种美学体现得淋漓尽致。书中对“代数数据类型”(ADT)的阐述,让我看到了函数式编程在建模复杂业务逻辑时的巨大潜力。它不仅能够清晰地表达数据的结构,还能在编译时就捕获很多潜在的错误。书中的“模式匹配”与 ADT 结合,简直是天衣无缝,让代码的可读性和可维护性得到了极大的提升。我特别欣赏书中对“延迟计算”(Lazy Evaluation)的讲解,它在处理无限数据结构和优化性能方面,有着不可替代的作用。而且,书中还穿插了许多关于 Scala 生态系统的介绍,例如 Play Framework、Akka 等,让我对 Scala 的应用前景有了更直观的认识。这本书的语言风格比较细腻,每一个字都经过了斟酌,读起来就像在欣赏一幅精美的画作,让我沉浸其中,欲罢不能。

评分

最近因为工作需要,开始深入研究 Scala。之前对它有所耳闻,知道它在大数据处理、微服务等领域有着广泛的应用,但一直没有机会系统地学习。朋友推荐了这本《Scala编程》,我一口气读了下来。这本书的深度和广度都超出了我的预期。它不仅仅是教你如何使用 Scala 的语法,更重要的是,它深入剖析了 Scala 的设计哲学,以及它如何融合了面向对象和函数式编程的优点。我特别欣赏书中对“Actor 模型”的讲解,这对于理解并发编程的复杂性非常有帮助。作者用清晰的逻辑和丰富的案例,将并发编程中的难点一一化解,让我对如何构建高可用的分布式系统有了更深刻的认识。书中的很多设计模式的讲解,也让我受益匪浅,它将 Scala 的特性与设计模式结合起来, memberikan 了许多全新的视角。例如,书中关于“柯里化”和“高阶函数”的论述,让我理解了如何通过函数组合来构建更强大、更灵活的代码。这本书的语言风格非常严谨,但又不失趣味性,让我能够在这种高度专业的内容中保持专注。对于想要在 Scala 领域深耕的开发者来说,这本书绝对是不可多得的宝藏。

评分

初次接触 Scala,完全是出于对函数式编程的好奇,以及它在某些特定领域的强大表现力。我抱着学习一门新语言的心态,翻开了这本《Scala编程》。这本书最吸引我的地方在于,它并没有一开始就陷入到枯燥的语法细节中,而是从宏观的角度,用一种非常清晰的思路,一点点地铺展开 Scala 的核心理念。书中对“不可变性”的强调,以及它如何通过函数式思维来避免副作用,给我留下了深刻的印象。它不仅仅是教我如何写代码,更是在引导我如何去思考。书中大量的代码示例,都非常贴合实际应用场景,让我能够快速理解抽象的概念。而且,作者在解释一些稍显复杂的概念时,会适当地穿插一些比喻或者类比,这对于我这样非科班出身的读者来说,极大地降低了学习门槛。我尤其喜欢其中关于“模式匹配”的章节,它让我看到了 Scala 在处理复杂数据结构时,那种优雅而简洁的解决方案。我之前用其他语言处理类似问题时,总是需要写一大堆 `if-else if` 语句,现在看来,Scala 的模式匹配简直是神器。总的来说,这本书为我打开了一扇新的编程世界的大门,让我开始重新审视传统的面向对象编程范式,并对函数式编程产生了浓厚的兴趣。

评分

作为一名在 Java 领域摸爬滚打多年的开发者,转型到 Scala 确实经历了一个适应期。这本《Scala编程》恰好在我最需要的时候出现了。它以一种非常友好的方式,帮助我从 Java 的思维模式过渡到 Scala 的函数式思维。书中对“类型系统”的讲解,以及 Scala 如何通过强类型来保证代码的健壮性,给我留下了深刻的印象。我之前在 Java 中处理空指针异常(NullPointerException)的问题,常常让人头疼,而 Scala 的 `Option` 类型,则提供了一种优雅的解决方案,极大地减少了这种运行时错误。书中还详细介绍了 Scala 的集合库,它的不可变性和丰富的操作方法,让我能够写出更加简洁高效的代码。我尤其喜欢书中关于“特质”(Trait)的讲解,它提供了一种比 Java 的接口更强大的抽象机制,让代码的复用和扩展变得更加容易。作者在解释这些概念时,总是会和 Java 进行对比,这对于我这样的 Java 开发者来说,非常有帮助,能够快速理解 Scala 的优势和不同之处。这本书就像一座桥梁,让我顺利地跨越了语言和思维模式的鸿沟。

评分

一直以来,我对函数式编程的理解都停留在比较初级的阶段,知道它是一种不同的思考方式,但缺乏系统性的学习。《Scala编程》这本书,则给了我一次深入了解函数式编程的机会。作者在书中花了相当大的篇幅来解释函数式编程的核心概念,例如“纯函数”、“不可变性”、“高阶函数”等等,并且将这些概念与 Scala 的具体实现紧密结合。我尤其被书中关于“递归”和“尾递归优化”的讲解所打动,它让我看到了函数式编程在处理迭代问题时的另一种可能性,避免了传统迭代方式中可能出现的栈溢出问题。书中还介绍了 Scala 的“闭包”特性,让我理解了函数如何能够“捕获”其外部作用域的变量,这对于构建更复杂的函数式程序至关重要。这本书的逻辑非常清晰,循序渐进,让我能够一步步地理解这些抽象的概念。它不仅仅是一本技术书籍,更像是一位耐心的老师,引导我一步步地探索函数式编程的奥秘。

评分

是我喜欢的技术书籍风格,可惜出了太久,没有介绍continuation和macro

评分

scala创造者写的,介绍得全面但也很浅,很容易就翻完了

评分

静态类型语言的强约束,加上函数式语言高抽象带来的高表达力,以及对并发编程的支持,将这些合于一身的scala倒也是个不错的选择

评分

作为Scala入门级的语法书已经绰绰有余了。里面例子代码连贯性很强又容易懂,官网上有能直接在ide里跑出结果的所有例子

评分

翻译的实在不太好.

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有