出版时间:2011-3 出版社:机械工业出版社 作者:Francesco Cesarini,Simon Thompson 页数:444 译者:慕尼黑Isar工作组
Tag标签:无
内容概要
《Erlang编程指南》是对Erlang语言的深入介绍。Erlang是任何必须并发、容错和快速响应的环境的理想编程语言。随着多核处理器及其针对并发的新的可扩展方式的发展,Erlang得到了广泛的使用。通过本书,你将学会如何使用Erlang编写复杂的并发程序,不管你是否有编程背景和经验。
《Erlang编程指南》由国际知名的Erlang社区领导者根据他们的培训材料编写而成。本书的重点集中在解释Erlang的语法和语义,并且介绍了其模式匹配、规范列表、递归、调试、网络和并发性等内容。
本书帮助你:
理解Erlang的强大功能及其包含的特殊功能。
学习并发背后的概念以及Erlang处理并发的方式。
编写高效的Erlang程序并保持代码整洁和良好的可读性。
探究Erlang如何满足分布式系统的要求。
轻松添加简单的图形用户界面。
学习Erlang的跟踪机制以调试并发和分布式系统。
使用内置的Mnesia数据库和其他表存储功能。
本书每章末尾都提供了练习题,并且由简单的示例贯穿全书。
作者简介
Francesco Cesarini,14年来一直向学生、开发人员、测试人员、项目和技术经理教授Erlang/OTP技术。他协助在爱尔兰、美国和英国建立起了Erlang开发中心。 Simon Thompson是一位肯特大学计算机实验室的逻辑和计算学教授,在过去25年里,他在那里教授本科生和研究生的计算学课程。
书籍目录
序/1
前言/3
第1章引言/9
为什么我应该使用Erlang/9
Erlang语言的历史及发展/11
Erlang的特性/12
Erlang和多核/17
案例研究/18
应该如何使用Erlang/21
第2章Erlang基础/22
整数/22
Erlang终端/23
浮点数/23
基元/25
布尔类型/27
元组/28
列表/29
项元比较/34
变量/36
复杂数据结构/38
模式匹配/40
函数/44
模块/46
练习/50
第3章Erlang顺序编程/52
条件评估/52
保护元/57
内置函数/60
递归/66
运行时错误/75
处理错误/77
模块库/84
调试器/87
练习/90
第4章并发编程/95
创建进程/96
消息传递/98
接收消息/100
注册进程/107
超时/110
性能基准测试/111
进程架构/112
尾递归和内存泄漏/113
面向并发程序设计的个案研究/115
竞争条件、死锁和饥饿进程/116
进程管理器/118
练习/119
第5章进程设计模式/121
客户端/服务器模型/122
进程模式实例/128
有限状态机/130
事件管理器和句柄/134
练习/141
第6章进程错误处理机制/143
进程链接和退出信号/143
健壮性系统/152
练习/158
第7章记录和宏/161
记录/162
宏/168
练习/172
第8章软件升级/175
升级模块/175
幕后/178
升级过程/184
.erlang文件/188
练习/188
第9章更多数据类型和高级别构造/190
实践中的函数式编程/190
Funs和高阶函数/191
列表解析/198
二进制类型和序列化/202
引用/211
练习/212
第10章ETS和Dets表/214
ETS表/214
Dets表/228
移动用户数据库实例/231
练习/242
第11章Erlang中的分布式编程/244
Erlang中的分布式系统/244
Erlang中的分布式计算:基础/246
epmd进程/259
练习/260
第12章OTP行为包/261
OTP行为包介绍/261
通用服务器/264
监控进程/274
应用/278
版本发行的处理/284
其他行为包和更多阅读资源/287
练习/288
第13章Mnesia介绍/290
何时使用Mnesia/290
配置Mnesia/292
事务处理/296
分区网络/301
扩展阅读/302
练习/303
第14章图形用户界面编程wxErlang/305
wxWidgets/305
wxErlang:wxWidgets绑定到Erlang/306
第一个实例:MicroBlog/309
MiniBlog实例/313
获取和运行wxErlang/316
练习/317
第15章套接字编程/319
用户数据报协议/319
传输控制协议/323
inet模块/328
扩展阅读/329
练习/330
第16章Erlang与其他编程语言接口/332
交互运作概况/332
与Java交互运作/334
C节点/339
Unix终端的Erlang调用:erl_call/343
端口程序/343
通信支持库/347
内联驱动程序和FFI/349
练习/350
第17章跟踪内置函数,dbg跟踪器以及匹配规则/351
引言/351
跟踪内置函数/352
用trace_pattern内置函数跟踪调用/358
dbg跟踪器/362
匹配规则:fun语法/370
匹配规则:螺母和螺栓/379
扩展阅读/387
练习/388
第18章类型和文档/390
Erlang中的类型/390
TypEr: 成功类型和类型推断/394
使用EDoc生成文档/397
练习/405
第19章EUnit和测试驱动开发/406
测试驱动开发/406
EUnit/407
EUnit的基础架构/411
测试基于状态的系统/413
在Erlang中测试并发程序/414
练习/415
第20章风格和效率/417
应用和模块/417
进程和并发/422
格式约定/425
编码策略/431
效率/433
最后/437
附录使用Erlang/439
章节摘录
当编写程序的时候,你怎么知道这个程序将如何运行呢?你也许会在脑子里面形成一个模型,这个模型定义了该程序会做什么。但是只有使用你的程序或者与它以某种方式互动时,才能确定这个程序真正的功能。第18章展示了如何使用-spec来表示预想的一个函数的输入和输出的类型是什么,TypEr可以检查它是否和代码本身一致。类型并不能告诉你一个程序如何运行,但是测试是了解你的代码如何工作的最好方法之一。其实本书从头到尾我们都在非正式地这样做。每一次给出一些定义,我们马上就到Erlang的终端中尝试它们。在Erlang中进行开发时,你的代码和测试循环往往都很小。你写完一些函数然后测试它们。你再添加一些函数,然后再次测试它们。每次在终端中重复所有这些测试往往会变得既耗时且容易出错。 ……
媒体关注与评论
“即便我已经使用Erlang多年,在编程的时候仍然需要参考本书。不同层次的Erlang程序员都会发现本书是有价值的学习和参考资料。” ——Steve Vinoski,《IEEE Internet Computing》专栏作家
图书封面
图书标签Tags
无
评论、评分、阅读与下载