scala编程 编程语言 (德)martin odersky[等]
¥
95.9
5.1折
¥
188
全新
库存44件
作者(德)martin odersky[等]
出版社电子工业出版社
ISBN9787121428326
出版时间2022-02
版次5
装帧其他
开本16
页数656页
定价188元
货号311_9787121428326
上书时间2024-04-25
商品详情
- 品相描述:全新
-
正版特价新书
- 商品描述
-
主编:
"cala编程(第5版)是cala的图书。cala是java台上的一门功能强大的主流语言,它以独到的方式将面向对象和函数式编程的概念有机地结合在一起,供开发者使用。
这本cala的图书由cala语言的设计者共同编写,将循序渐进地向你介绍cala编程语言和它背后的设计理念。
为了帮助你更好地学,本书做了很多仔细的编排和组织。开始的几章将教给你足够多的基础知识,让你可以直接上手用cala处理简单任务。本书严格遵循这样的原则:每个新的概念都基于之前已经出现过的概念,通过阶梯式的,让你逐步掌握cala编程语言和它背后的重要设计理念。
这是一本全面介绍cala的教科书,涵盖了语言基础和重要类库,可被当作cala的参书。
如果你读过本书之前的版本,则会发现这本第5版有重大更新,覆盖了cala 3.0。它增加了新的章节,也删减了部分旧的章节。本书第5版对cala 3.0的以下特进行了详细的介绍:√枚举和代数数据类型√上下文参数√扩展方法√安静语法和可选花括号√特质参数√并集类型和交集类型√导出子句√顶层定义"
目录:
序x
引言i
章一门可伸缩的语言1
1.1一门按需伸缩的语言2
1.2是什么让scala能屈能伸6
1.3为什么要用scala9
1.4scala寻根17
1.5结语19
第2章scala入门20
步使用scala解释器21
第2步定义变量22
第3步定义函数25
第4步编写scala脚本27
第5步用while做循环;用if做判断29
第6步用foreach方法和for-do遍历31
结语34
第3章scala入门(续)35
第7步用类型参数化数组35
第8步使用列表40
第9步使用元组44
0步使用集和映45
1步识别函数式编程风格50
2步用map方法和for-yield变换53
结语57
第4章类和对象58
4.1类、字段和方法58
4.2分号推断63
4.3单例对象64
4.4样例类67
4.5scala应用程序69
4.6结语71
第5章基础类型和作72
5.1一些基础类型72
5.2字面量73
5.3字符串插值79
5.4作符即方法81
5.5算术作84
5.6关系和逻辑作85
5.7位运算作87
5.8对象相等88
5.9作符优先级和结合律90
5.10富包装类93
5.11结语94
第6章函数式对象95
6.1rational类的规格定义95
6.2构建rational实例96
6.3重新实现tostring方法98
6.4检查前提条件99
6.5添加字段100
6.6自引用102
6.7辅助构造方法103
6.8私有字段和方法105
6.9定义作符106
6.10scala中的标识符108
6.11方法重载111
6.12扩展方法113
6.13注意事项114
6.14结语115
第7章内建的控制结构116
7.1if表达式117
7.2while循环118
7.3for表达式121
7.4用try表达式实现异常处理127
7.5match表达式131
7.6没有break和continue的子133
7.7变量作用域135
7.8对指令式代码进行重构139
7.9结语141
第8章函数和闭包142
8.1方法142
8.2局部函数143
8.3一等函数145
8.4函数字面量的简写形式147
8.5占位符语法148
8.6部分应用的函数149
8.7闭包152
8.8特殊的函数调用形式154
8.9sam类型158
8.10尾递归159
8.11结语163
第9章控制抽象164
9.1减少代码重复164
9.2简化调用方代码168
9.3柯里化170
9.4编写新的控制结构172
9.5传名参数175
9.6结语178
0章组合和继承179
10.1一个二维的布局类库179
10.2抽象类180
10.3定义无参方法182
10.4扩展类184
10.5重写方法和字段187
10.6定义参数化字段188
10.7调用超类构造方法189
10.8使用override修饰符191
10.9多态和动态绑定192
10.10声明final成员195
10.11使用组合和继承196
10.12实现above、beside和tostring方法198
10.13定义工厂对象201
10.14和增宽204
10.15放在一起205
10.16结语207
1章特质208
11.1特质如何工作208
11.2瘦接和富接211
11.3作为可叠加修改的特质214
11.4为什么不用多重继承218
11.5特质参数223
11.6结语225
2章包、引入和导出227
12.1将代码放进包里227
12.2对相关代码的精简访问229
12.3引入232
12.4隐式引入236
12.5访问修饰符237
12.6顶层定义242
12.7导出243
12.8结语247
3章样例类和模式匹配248
13.1一个简单的例子248
13.2模式的种类253
13.3模式守卫264
13.4模式重叠265
13.5密封类267
13.6对option进行模式匹配269
13.7到处都是模式271
13.8一个复杂的例子276
13.9结语284
4章使用列表285
14.1list字面量285
14.2list类型286
14.3构建列表287
14.4列表的基本作287
14.5列表模式289
14.6list类的初阶方法291
14.7list类的高阶方法303
14.8list对象的方法311
14.9同时处理多个列表313
14.10理解scala的类型推断算法315
14.11结语319
5章使用其他集合类320
15.1序列320
15.2集和映324
15.3在可变和不可变集合之间选择331
15.4初始化集合334
15.5元组337
15.6结语340
6章可变对象341
16.1什么样的对象是可变的341
16.2可被重新赋值的变量和属344
16.3案例分析:离散事件模拟347
16.4用于描述数字电路的语言348
16.5模拟api351
16.6电路模拟356
16.7结语363
7章scala的继承关系365
17.1scala的类继承关系365
17.2基本类型的实现机制369
17.3底类型371
17.4定义自己的值类型372
17.5交集类型376
17.6并集类型377
17.7透明特质380
17.8结语382
8章类型参数化383
18.1函数式队列383
18.2信息隐藏387
18.3型变注解390
18.4检查型变注解396
18.5下界399
18.6逆变401
18.7上界404
18.8结语407
9章枚举408
19.1枚举数据类型408
19.2代数数据类型413
19.3泛化代数数据类型415
19.4为什么说adt是代数数据类型416
19.5结语420
第20章抽象成员421
20.1抽象成员概览421
20.2类型成员422
20.3抽象的val423
20.4抽象的var424
20.5初始化抽象的val425
20.6抽象类型433
20.7路径依赖类型436
20.8改良类型438
20.9案例分析:货币439
20.10结语450
第21章上下文参数451
21.1上下文参数的工作452
21.2参数化的上下文参数类型456
21.3匿名上下文参数461
21.4作为类型族的参数化上下文参数463
21.5上下文参数的引入466
21.6上下文参数的规则468
21.7当有多个上下文参数可选时471
21.8调试上下文参数473
21.9结语475
第22章扩展方法476
22.1扩展方法的基础476
22.2泛化的扩展方法479
22.3成组的扩展方法481
22.4使用类型族484
22.5针对上下文参数的扩展方法486
22.6scala如何查找扩展方法491
22.7结语492
第23章类型族493
23.1为什么要用类型族493
23.2上下文界定499
23.3主方法502
23.4跨界相等506
23.5隐式转换512
23.6类型族案例分析:json序列化515
23.7结语526
第24章深入集合类527
24.1可变和不可变集合528
24.2集合的一致530
24.3iterable特质532
24.4序列型特质seq、indexedseq和linearseq539
24.5集544
24.6映548
24.7具体的不可变集合类553
24.8具体的可变集合类560
24.9数组565
24.10字符串570
24.11能特征571
24.12相等573
24.13视图574
24.14迭代器579
24.15从头创建集合585
24.16java和scala集合互转587
24.17结语589
第25章断言和测试590
25.1断言590
25.2用scala写测试592
25.3翔实的失败报告594
25.4作为规格说明的测试596
25.5基于属的测试599
25.6组织和运行测试601
25.7结语603
术语表604
关于作者627
内容简介:
本书由直接参与cala开发的一线人员编写,深入介绍了cala这门结合面向对象和函数式的编程语言的核心特和设计取舍。继第4版后,时隔一年,本书迎来重大更新,内容覆盖cala3.0,对新的缩进语法、并集类型、交集类型、枚举、代数数据类型、上下文参数、特质参数、扩展方法、类型族等都有详细介绍。本书适合有编程经验的开发者阅读,尤其是对cala3.0新特感兴趣的开发者朋友。即便是不直接使用cala的读者,也能从本书中学到大量关于函数式和面向对象的编程概念和。
精彩书评:
"“如果让我在java之外选一门语言,我会选cala。”
——jame goling,java之父
cala编程可能是我读过优选的编程书之一。我喜欢它的写作风格、简明扼要的描述,以及细致入微的讲解。本书能在我想到某个问题时,适时地给出,可以说它是先我一步。作者们并不只是简单地秀代码,想当然地认为你会理解,他们会让你真正明白代码背后的东西。我非常欣赏这一点。
——ken egervari,首席软件架构师
cala编程行文清晰、深入细致、易于理解,示例、提示和建议贯穿全书。本书可以让我们快速、高效地掌握cala这门编程语言。对于想要理解cala的灵活和优雅的程序员来说,这本书非常棒。
——larry morroni,公司老板,morroni technologie inc.
cala编程是一本非常好的cala入门教材。本书每一章都构建在之前章节的概念和示例之上,内容循序渐进,很容易上手。同时,本书对cala的语法结构的解释很深入,经常会给出示例来解释cala与java的不同。除了介绍语言本身,还介绍了类库,如容器类和actor等。
我认为本书非常易读,属于我近读过的比较好的技术书。真心给所有想要进一步了解cala编程的程序员们。
——matthew todd
我对cala编程的作者们付出的努力表示惊叹。本书对于cala台(我喜欢这样来称呼)来说是一个非常有价值的指南:如何写出更好的代码,如何设计和实现可伸缩的软件架构。如果在我 2003 年参与设计和实现 2004年雅典奥运会门户架构时,cala像这样成熟,书桌上有这样一本参书,该多好!
我想对所有的读者说:不论你有怎样的编程背景,我认为你都会发现cala编程是非常舒心、可释放用户潜能的,这本书也会成为你探索cale编程的良伴。
——chrito kk loverdo,软件咨询师,研究员
cala编程非常棒,对cala进行了深入的讲解,同时是很好的参书。它会在我的书架占据显著位置(近不管去哪儿我都会带上它)。
——brian clapper,,ardentex inc.
很棒的书,代码示例和讲解都非常到位。不论编程老手和新手,我都会将本书给他们。
——howard lovatt
cala 编程不仅告诉你如何使用这门新的编程语言做开发,更重要的是,它还告诉你这样做的原因。本书从很务实的角度入手,向我们介绍将面向对象和函数式编程结合在一起所带来的强大功能,让读者明白cala的真谛。
——dr. ervin varga,ceo/创始人,expro i.t. conulting
对面向对象(oo)程序员而言,本书很好地介绍了函数式编程。我的首要目标是学函数式编程(fp),不过在学过程中我也发现了一些惊喜,如样例类(cae cla)和模式匹配(pattern matching)。cala是一门有趣的编程语言,而本书是关于cala编程的很好的教程。
一本介绍编程语言的书,对于各种细节和背景,讲多讲少,这个度很难拿捏得准。我认为cala编程在这方面做得非常好。
——jeff heon,程序分析师
我预购了这本由martin oderky、lex poon和bill venner等编写的cala编程,当我收到预先发行版本的时候,立马成了其。因为它不仅包含了关于这门语言全面的介绍,还介绍了几项核心功能,让我印象深刻:我从未见过哪一本电子书对于超的应用如此到位,不仅有书签,还可以从目录和索引直接跳转到对应章节。这些功能对读者来说非常有用,但是我不清楚为什么没有更多的作者这样做。另一组很赞的功能:外链到论坛(dicu)及向作者发送电子邮件(ugget);提出意见和建议,这个功能本身并没有什么了不起,但是cala编程能够在读者提交建议时自动带上页码,这给作者和读者都提供了便利。正因如此,我贡献了比以往更多的意见和建议。
无论如何,cala编程的内容都值得一读,如果你读的是,可别浪费了作者们费心加入的这些功能哦!
——dianne marh,创始人/软件咨询师,rt olution
清晰洞察和技术完整是一本好书的标志特征,我向本书的作者martin oderky、lex poon和bill venner等表示祝贺!cala编程从坚实的基础概念开始,将cala用户从入门带到中级并继续向上攀升。对任何想要学cala编程的人而言,本书都不容错过。
——jagan nambi,企业架构师,gmac finan ervice
cala编程的阅读体验非常好。对主题的讲解深入、细致、全面,行文精简、优雅。
本书的章节组织非常自然,符合逻辑。无论是对于那些对新鲜事物好奇的技术工作者,还是对于那些想要深入理解cala核心功能点和设计内在动因的专业人士,都同样适用。对于对函数式编程感兴趣的朋友,我强烈本书。而对于cala开发者,本书是阅读的。
——igor khlytov,软件架构师/主程,greytone inc.
cala编程从头到尾都让人感受到作者在背后付出的巨大心血。在此之前,我从未读到过哪本教程类的书能够兼顾入门和。大部分教程类的书,为了达到看上去易懂(同时不让读者“困惑”)的效果,悄悄地剔除了相关主题中的那些对当前讨论而言过于的知识点。这对于读者来说体验很糟糕,因为我们并不能确切地知道自己有没有接近理解,理解到什么程度。我们会觉察到有些残余的、没有被充分解释的“魔法”,而这些是否属实,我们作为读者也无从评判。这本书不会使人产生这种感觉,它从不把任何事当作理所当然的:对于任何细节,要么在当前章节充分解释,要么清楚地指出在后续哪一个章节会详细介绍。的确,本书的文字交引用非常多,索引也非常全,因此,当我们想要在脑海里构建出某个复杂主题的全貌时,也相对容易得多。
——gerald loeffler,企业级java架构师
在当今这个编程好书稀缺的时代,由martin oderky、lex poon和bill venner等共同撰写的cala编程——这本面向中级程序员的介绍类图书格外引人注目。在这里,你能找到关于cala这门语言你所需要知道的。
——chritian neukirchen"
— 没有更多了 —
以下为对购买帮助不大的评价