出版社: Manning Publications
出版年: 2010-05-28
页数: 500
定价: USD 49.99
装帧: Paperback
ISBN: 9781933988788
内容简介 · · · · · ·
HIGHLIGHT Erlang and OTP in Action offers an introduction to concurrent programming and shows how to develop distributed systems. DESCRIPTION Erlang, together with the Open Telecom Platform (OTP), is a functional programming model designed to facilitate concurrency--programming that exploits the capabilities and speed of multi-processor hardware. Erlang applications run ...
HIGHLIGHT Erlang and OTP in Action offers an introduction to concurrent programming and shows how to develop distributed systems. DESCRIPTION Erlang, together with the Open Telecom Platform (OTP), is a functional programming model designed to facilitate concurrency--programming that exploits the capabilities and speed of multi-processor hardware. Erlang applications run fast, recover quickly from errors, integrate with other systems, and can be updated dynamically at run-time. Erlang and OTP in Action walks readers through the practical steps of building systems in Erlang and integrating them with real-world C/C++, Java, and .NET applications. Hands-on examples progress from simple to complex real-world distributed applications and system design. Going beyond the nuts and bolts of Erlang, the book offers a comprehensive view of how concurrency relates to SOA and web technologies. KEY POINTS * Strong early demand through MEAP * Numerous hands-on, real-world examples * Concise and developer-centric "In Action" style * Examples include C++, Java and .NET integration
作者简介 · · · · · ·
作者简介:
Martin Logan 从1999年开始活跃于Erlang社区,后来全职从事Erlang研发。目前任职于全球最大的在线旅游公司Orbitz Worldwide,为基于大规模分布式服务的基础设施开发解决方案。Erlware联合创始人,核心开发人员,Erlang/OTP软件包管理系统Faxien的主要开发者。
Eric Merritt 专注并发编程和分布式系统。曾任职于Amazon.com,现为eCD Market软件工程师。Erlware联合创始人,Erlang芝加哥用户组核心成员。Erlware团队开源产品核心开发人员,Erlang/OTP构建系统Sinan的主要开发者。
Richard Carlsson 瑞典乌普萨拉大学高性能Erlang计划(HiPE)早期成员,研究Erlang技术达17年,曾为标准库、Erlang编译器、运行时系...
作者简介:
Martin Logan 从1999年开始活跃于Erlang社区,后来全职从事Erlang研发。目前任职于全球最大的在线旅游公司Orbitz Worldwide,为基于大规模分布式服务的基础设施开发解决方案。Erlware联合创始人,核心开发人员,Erlang/OTP软件包管理系统Faxien的主要开发者。
Eric Merritt 专注并发编程和分布式系统。曾任职于Amazon.com,现为eCD Market软件工程师。Erlware联合创始人,Erlang芝加哥用户组核心成员。Erlware团队开源产品核心开发人员,Erlang/OTP构建系统Sinan的主要开发者。
Richard Carlsson 瑞典乌普萨拉大学高性能Erlang计划(HiPE)早期成员,研究Erlang技术达17年,曾为标准库、Erlang编译器、运行时系统和Erlang语言本身都作出过不少贡献。此外,他还是Erlang文档系统EDoc和单元测试框架EUnit的创建者。目前加入了Kreditor,致力于高可用性支付系统的Erlang开发。
译者简介:
连城
百度资深软件工程师,《Erlang并发编程(第一部分)》社区翻译项目组织者及主要译者。对分布式存储、分布式消息系统、程序语言设计实现抱有浓厚兴趣。
喜欢读"Erlang and OTP in Action"的人也喜欢的电子书 · · · · · ·
喜欢读"Erlang and OTP in Action"的人也喜欢 · · · · · ·
Erlang and OTP in Action的话题 · · · · · · ( 全部 条 )



Erlang and OTP in Action的书评 · · · · · · ( 全部 2 条 )

> 更多书评 2篇
-
熟悉re的要小心了,"(.*):(.*)\s*\\((.*)\s*\\)\s*.\s*$" 里的\s不是re的,而是erlang字串的escape,见joe的p105。刚好\s对他们都代表空白,同样还是\r\n。 但,例如\d在re里代表数字,而erlang里代表delete。所以 re:run("1", "\d"). 是nomatch,而要写成re:run("1", "\\d")才可以。所以\\( 才是\(。因为erlang的\(是(。
2011-04-14 09:41
-
Erlang只使用异步通信,是Actor model,而不是Hoare 在CSP特意选用的同步通信。所以,gen_server:call/2实际上是用async实现sync的功能(即block)。sync的理由之一是更接近函数调用,即rpc,在通信可靠时更方便,但跨机间的不可靠通信,使用async作为sync的底层,对出错处理更方便。Erlang的领域是大规模容错集群计算,所以async是合适的选择,也经过了时间的验证。
2011-04-13 07:58
-
嵌套循环的例子: [ {X,Y} || X <- [0,1], Y <-[0,1] ]. [{0,0},{0,1},{1,0},{1,1}] 还有,在joe的书里,template,generator和condition 分别叫做 constructor,generator和 filter。
2011-04-12 13:42
-
虽说 size(<<"Motörhead"/utf8>>)应该是10,但在DOS命令行下,变成了9, 在acme的win下,成了12。 再例如,werl下 $你. 是20320,DOS和acme/win下都是 syntax error before: 还有,werl下 B8 = <<"你"/utf8>>. 是 ** exception error: bad argument, DOS下是<<195,132,195,163>>,而acme/win下是<<"ä½">>,而io:format("~w", [B8]). <<195,164,194,189,194,16...
2011-04-12 13:09
虽说 size(<<"Motörhead"/utf8>>)应该是10,但在DOS命令行下,变成了9, 在acme的win下,成了12。 再例如,werl下 $你. 是20320,DOS和acme/win下都是 syntax error before: 还有,werl下 B8 = <<"你"/utf8>>. 是 ** exception error: bad argument, DOS下是<<195,132,195,163>>,而acme/win下是<<"ä½">>,而io:format("~w", [B8]). <<195,164,194,189,194,160>>。 MacOSX上和werl是一样的。 没有在Linux上试验,但至少Windows下的不同终端可能会得到不同的结果,应以werl为准。
回应 2011-04-12 13:09
-
熟悉re的要小心了,"(.*):(.*)\s*\\((.*)\s*\\)\s*.\s*$" 里的\s不是re的,而是erlang字串的escape,见joe的p105。刚好\s对他们都代表空白,同样还是\r\n。 但,例如\d在re里代表数字,而erlang里代表delete。所以 re:run("1", "\d"). 是nomatch,而要写成re:run("1", "\\d")才可以。所以\\( 才是\(。因为erlang的\(是(。
2011-04-14 09:41
-
Erlang只使用异步通信,是Actor model,而不是Hoare 在CSP特意选用的同步通信。所以,gen_server:call/2实际上是用async实现sync的功能(即block)。sync的理由之一是更接近函数调用,即rpc,在通信可靠时更方便,但跨机间的不可靠通信,使用async作为sync的底层,对出错处理更方便。Erlang的领域是大规模容错集群计算,所以async是合适的选择,也经过了时间的验证。
2011-04-13 07:58
这本书的其他版本 · · · · · · ( 全部2 )
-
人民邮电出版社 (2012)8.4分 126人读过
以下书单推荐 · · · · · · ( 全部 )
谁读这本书?
二手市场
订阅关于Erlang and OTP in Action的评论:
feed: rss 2.0
0 有用 paranoid.emacs 2011-12-15
很细。
0 有用 kkwang 2013-01-04
深入浅出,难度适中
1 有用 苦难的历程 2011-04-06
没什么机会把最后几章看完了,而且再读它的可能性估计也不大。erlang虽然有意思,但实在没法让我找到一份好工作,或干点有意义的事。
0 有用 粟渺 2013-01-19
第二本erlang书
0 有用 Evan 2011-09-13
erlang, hello world
0 有用 李岳阳 2019-12-27
如果说Erlang程序设计是教科书的话,那这本书就是实践手册
0 有用 leeyi 2016-01-19
读过两遍了,后面版本发布的内容还不是很明白
0 有用 Faine 2015-10-07
读了后半段,前半段有很多基础,后半段几个例子挺不错的。
0 有用 少年阿猫 2014-08-07
not bad.
0 有用 kedebug 2014-08-05
抽丝剥茧,Martin 把丰富的实践化成文字,循序渐进,提纲挈领,原来学习 erlang 也可以如此轻松愉快。