新書推薦:
《
现代无人机鉴赏(珍藏版)
》
售價:HK$
78.2
《
汗青堂丛书·晚清风云(4册套装):帝国的切口 清朝与中华传统文化 太平天国运动史 冲击与回应
》
售價:HK$
427.8
《
穿在身上的历史:世界服饰图鉴(增订珍藏版)
》
售價:HK$
557.8
《
历史的严妆:解读道学阴影下的南宋史学(中华学术·有道)
》
售價:HK$
109.8
《
海外中国研究·江南:中国文雅的源流
》
售價:HK$
76.2
《
迟缓的巨人:“大而不能倒”的反思与人性化转向
》
售價:HK$
77.3
《
我们去往何方:身体、身份和个人价值
》
售價:HK$
67.0
《
大学问·批判的武器:罗莎·卢森堡与同时代思想者的论争
》
售價:HK$
98.6
編輯推薦:
1.经典的Erlang轻松入门指南。
2.原著被广泛认为是学习Erlang的好方法。
3.作者是Erlang专家,有丰富的开发经验。
Erlang是编写健壮的并发应用的优质语言, 但是Erlang语言奇怪的语法和函数式设计让很多初学者望而却步。幸运的是,现在有了一件对抗Erlang恐惧症的新武器——《Erlang趣学指南》!
Erlang专家Fred Hébert从简单概念入手,让你轻松掌握Erlang的基础知识:你会学习Erlang的非传统语法、类型系统以及基本的函数式编程技术。一旦你理解了这些简单的概念,就可以学习Erlang语言中核心的内容——并发、分布式计算、代码热加载以及那些能够让Erlang成为当今有见识的开发者之间热门话题的黑魔法了。
随着深入到Erlang语言解决实际问题的奇妙世界,你将学到:
● 使用EUnit和Common Test对应用进行测试;
● 使用OTP框架构建和发布应用;
● 传递消息、抛出错误异常以及在多节点上启动终止进程;
● 使用Mnesia和ETS存储和读取数据;
● 使用TCP、UDP和inet模块进行网络编程;
● 编写
內容簡介:
这是一本讲解Erlang编程语言的入门指南,内容通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从Erlang的基础知识讲起,融汇所有的基本概念和语法。内容涉及模块、函数、类型、递归、错误和异常、常用数据结构、并行编程、多处理、OTP、事件处理,以及所有Erlang的重要特性和强大功能。
關於作者:
作者介绍
Fred Hébert是一位自学成才的程序员,具有Web前端、Web 服务开发经验以及全面的后端多语言编程经验。他撰写的Erlang在线教程Learn You Some Erlang for Great Good! 被公认为好的Erlang学习教程。在Erlang Solutions工作期间,他撰写过Erlang培训资料,并在西方国家到处教授Erlang编程。目前,他在用Erlang开发一款实时竞价平台(AdGear),他被提名为2012年度Erlang User。
译者介绍
邓辉 独立咨询顾问,捷中科技首席架构师,有10年Erlang编程经验。《敏捷软件开发:原则、模式与实践》一书的译者,Erlang领域两本重要著作《面对软件错误构建可靠的分布式系统》《硝烟中的Erlang》中文译本的审校者和译者。对指示语义、类型理论、程序语言理论和分布式系统设计有浓厚的兴趣。目前在研究学习TLA+。
孙鸣 中兴通讯杰出架构师,具有丰富的电信软件架构设计经验。《敏捷软件开发:原则、模式与实践》(C#版)、《硝烟中的Erlang》等书的译者。对函数式编程有浓厚的兴趣,平时喜欢设计各种各样的小语言。喜欢的编程语言是Scheme和Erlang,并用Erlang语言重写了Structure and Interpretation of Computer Programs一书中的全部代码。
目錄 :
目录
第1章 启程 1
1.1 使用Erlang shell 1
1.1.1 输入shell命令 1
1.1.2 退出shell 2
1.2 Erlang基础知识 3
1.2.1 数值类型 3
1.2.2 不变的变量 4
1.2.3 原子 5
1.2.4 布尔代数和比较操作符 6
1.2.5 元组 8
1.2.6 列表 10
1.2.7 列表推导式 13
1.3 处理二进制数据 14
1.3.1 位语法 15
1.3.2 二进制数的按位操作 17
1.3.3 二进制字符串 18
1.3.4 二进制推导式 19
第2章 模块 20
2.1 什么是模块 20
2.2 创建模块 21
2.3 编译代码 23
2.4 定义宏 26
2.5 模块的其他内容 27
2.5.1 元数据 27
2.5.2 环形依赖 28
第3章 函数 29
3.1 模式匹配 29
3.1.1 模式进阶 31
3.1.2 绑定中的变量 31
3.2 卫语句 33
3.3 if表达式 34
3.4 case ... of表达式 37
3.5 如何选择 38
第4章 类型 39
4.1 动态强类型 39
4.2 类型转换 40
4.3 数据类型检测函数 41
4.4 致静态类型爱好者 43
第5章 递归 44
5.1 递归的工作原理 44
5.1.1 列表的长度 45
5.1.2 列表长度的尾递归实现 46
5.2 更多递归函数 47
5.2.1 duplicate函数 47
5.2.2 reverse函数 48
5.2.3 sublist函数 49
5.2.4 zip函数 50
5.2.5 快速排序 51
5.3 不仅仅是列表 53
5.4 递归思维 55
第6章 高阶函数 58
6.1 一切都是函数 58
6.2 匿名函数 60
6.2.1 匿名函数的其他用途 60
6.2.2 函数的作用域和闭包 61
6.3 映射、过滤器、折叠以及其他 63
6.3.1 过滤器 63
6.3.2 折叠一切 64
6.3.3 其他抽象 66
第7章 错误和异常 67
7.1 错误编译 67
7.1.1 编译期错误 67
7.1.2 逻辑错误 69
7.1.3 运行时错误 69
7.2 引发异常 71
7.2.1 出错异常 71
7.2.2 退出异常 72
7.2.3 抛出异常 73
7.3 处理异常 74
7.3.1 处理不同类型的异常 74
7.3.2 catch后的after语句 76
7.3.3 尝试多个表达式 76
7.3.4 更多选择 78
7.4 在树中使用try语句 80
第8章 用函数式思维解决问题 82
8.1 逆波兰式计算器 82
8.1.1 RPN计算器的工作原理 82
8.1.2 实现RPN计算器 84
8.1.3 代码测试 85
8.2 从希思罗到伦敦 87
8.2.1 递归地解决问题 87
8.2.2 编写代码 89
8.2.3 不使用Erlang shell运行程序 93
第9章 常用数据结构简介 95
9.1 记录 95
9.1.1 定义记录 95
9.1.2 读取记录字段值 97
9.1.3 更新记录 99
9.1.4 共享记录定义 99
9.2 键值存储 100
9.2.1 小数据量存储 100
9.2.2 大数据量存储:字典和通用平衡树 101
9.3 集合 102
9.4 有向图 104
9.5 队列 104
9.6 小结 105
第10章 并发编程漫游指南 106
10.1 不必惊慌 106
10.2 并发概念 107
10.2.1 伸缩性 108
10.2.2 容错 108
10.2.3 并发实现 109
10.3 并非完全不能线性伸缩 110
10.4 再见,谢谢你的鱼 111
10.4.1 创建进程 112
10.4.2 发送消息 113
10.4.3 接收消息 114
第11章 深入多重处理 118
11.1 定义进程状态 118
11.2 隐藏消息实现 120
11.3 超时 121
11.4 选择性接收 123
11.4.1 选择性接收的风险 124
11.4.2 邮箱使用的其他风险 126
第12章 错误与进程 127
12.1 链接 127
12.1.1 捕获退出信号 129
12.1.2 老异常,新概念 130
12.2 监控器 133
12.3 命名进程 134
第13章 并发应用设计 139
13.1 理解问题 139
13.2 设计协议 141
13.3 目录