本书由Erlang之父Joe Armstrong编写,是毋庸置疑的经典著作。书中兼顾了顺序编程、并发编程和分布式编程,重点介绍如何编写并发和分布式的Erlang程序以及如何在多核CPU上自动加速程序,并深入地讨论了开发Erlang应用中至关重要的文件和网络编程、OTP、ETS和DETS等主题。第2版全新改写,反应了自第1版面世以来Erlang历经的所有变化,添加了大量针对初学者的内容,并在每章后都附上了练习题。
作者简介:
Joe Armstrong
Erlang最初的设计者和实现者,也是Erlang OTP系统项目的首席架构师。他拥有瑞典皇家理工学院博士学位,是容错系统开发领域的世界级专家。现就职于爱立信公司。
译者简介:
牛化成
2004年毕业于浙江工商大学广告学专业,文学学士。2000年开始制作网站,对各种Web前后端技术多有深入了解。习惯思考,热爱新知,出于个人兴趣一直关注互联网各种前沿领域,并长期追踪传播学、心理学、神经科学和视觉设计等方面的最新成果。自由职业者,目前正在设计开发一个面向未来的新型网站。
我运行后,弹出四个对话窗口,然后就错误了! 下面是错误i的log: =ERROR REPORT==== 31-Aug-2011::09:30:56 === Error in process <0.53.0> with exit value: {undef,[{lib_md5,string,["axjxhxoabhkcythsqnvbqwhxbAsDT67aQ"]},{lib_chan,authenticate,4},{lib_chan,connect,5...
评分Gary Pollice, 实践教授, Worcester Polytechnic Institute 2008 年 2 月 15 阅读 Joe Armstrong 的关于用 Erlang 语言进行程序设计的新书如何成为寻求解决并行问题的程序员的无价资源。 来自 The Rational Edge. 原文:http://www.ibm.com/developerworks/cn/rational/dec0...
评分第五章 95页 5.3节 关于计算mp3文件同步帧的例子 FrameLength = framelength(Layer, BitRate, SampleRate, Padding), if FrameLength < 21 -> exit(frameSize); true -> {ok, FrameLength, {Layer,BitRate,SampleRate,Vsn,Bits}} end; 为什么FrameLength要小于21呢?
评分《Programming Erlang》Joe的新书,买了个电子版,在花了一些时间读了一下之后,发发牢骚,写写读后感。 书不太厚,也不薄,500多页,但是单纯附录就占了100+,Appendix F Module and Function Reference,有凑页面的嫌疑。有仁兄打印了整本书,叠起来转头那么厚,其实后面那...
评分【数据类型篇】 数字(integer + float)和原子(atom)是最基础的常量,说它们最基础,是因为它们没有结构。数字可以计算,原子不可以计算(只能进行比较)。Erlang支持任意长整数的计算,浮点数的计算精确到小数点后16位数,你可以理解为1/(10^16)就是所谓的“1”,在此基础上的任...
这本书最大的亮点或许在于其对“软实时”(Soft Real-Time)系统设计理念的贯彻。在讲解如何利用Erlang虚拟机的调度特性来确保服务质量(QoS)时,作者提供了许多基于实际电信交换系统经验的洞察。这些内容在其他主流语言的资料中是极其罕见的。书中关于如何设计高效的信令处理流程和消息队列的章节,对我启发极大。我过去总是过度依赖外部消息队列,而这本书让我看到了,在Erlang/OTP内部构建一个高度优化的、基于进程的内部通信管道是多么有效率。它强调了“快”不仅仅是CPU的速度,更是系统响应延迟的稳定性。此外,作者在介绍`gen_server`行为模式时,将回调函数的职责划分得极其清晰,为我们提供了一个极佳的模板,使得任何复杂的业务逻辑都能被抽象成清晰的状态机和事件处理器,极大地降低了长期维护的复杂度和出错的可能性。
评分老实说,这本书的阅读体验是那种需要你静下心来,带着笔记本和一杯咖啡才能真正消化的类型。它不是那种可以快速翻阅、只看结论的“速成”手册。作者在引入像Mnesia这样的分布式数据库时,并没有回避其局限性,反而坦诚地指出了在特定网络分区场景下的数据一致性权衡。这种坦诚和深入的讨论,极大地增强了本书的可信度和实用价值。我发现书中对错误处理模式(Error Handling Patterns)的讨论尤为深刻,它不仅仅停留在`catch/error`的基本用法上,而是探讨了如何使用`try/catch/exit`的组合来优雅地管理进程生命周期和资源清理,这对于编写健壮的生产级代码至关重要。很多其他介绍Erlang的资料往往只是一带而过,但本书却用近乎教科书式的严谨性,将这些“软技能”——即如何写出不容易出错的代码——进行了系统化的阐述。每次重读关于进程监控和重启策略的部分,总能发现新的理解层次。
评分这本书的排版和术语一致性方面处理得相当到位,这一点对于技术书籍来说至关重要,省去了反复查阅早期章节以确认某个特定函数或概念定义的麻烦。它的内容组织逻辑非常流畅,从基础的语法和数据结构开始,稳步过渡到核心的并发模型,然后再深入到Erlang生态中最具标志性的OTP应用开发。我尤其欣赏作者在处理并发安全问题时的细致入微。例如,在描述共享状态的处理时,作者并没有简单地建议使用锁(因为Erlang的最佳实践是避免共享状态),而是提供了一套完整的、基于Actor模型的消息传递替代方案,并通过具体的例子展示了为什么进程隔离比传统的多线程同步机制更为高效和安全。对于任何想要构建高可用、高并发服务的工程师来说,这本书提供的不仅仅是知识,更是一种思维范式的转变。我发现自己写代码的习惯都在悄然变化,开始更加注重数据的不可变性和清晰的消息契约,而不是陷于复杂的锁和互斥量的纠缠中。
评分对于已经有一定的编程基础,但对构建大规模、高可靠性分布式应用感到困惑的读者而言,这本书无疑是一剂强效良方。它没有过分强调Erlang的语法有多么“异类”或“独特”,而是将重点放在了如何利用其核心特性解决现实世界中最棘手的工程难题。例如,在讨论分布式节点间的互操作性时,作者详细展示了如何使用集群机制和分布式Erlang的内置工具进行透明的故障转移和负载均衡。更让我印象深刻的是,书中对性能基准测试的讨论,它指导我们如何正确地衡量并发系统的性能瓶颈,而不是盲目地去优化那些微不足道的代码片段。这本书的深度在于,它不仅教你如何使用工具,更教你如何思考分布式系统的本质——即网络和时间的不确定性。读完后,我对构建任何需要7x24小时不间断运行的服务都更有信心了,因为这本书提供了一个经过时间考验的、坚如磐石的设计蓝图。
评分这本书简直是为那些渴望深入理解函数式编程精髓的开发者量身打造的。它没有采取那种高高在上的理论说教方式,而是通过大量的、精心设计的代码实例,将Erlang那些看似晦涩难懂的概念,如并发、容错、分布式等,变得触手可及。特别是对于我这种之前主要在面向对象世界里打滚的人来说,初次接触进程(Process)和消息传递(Message Passing)时,感觉像是打开了新世界的大门。作者在讲解OTP(开放电信平台)框架时,展现了极高的洞察力,他不仅解释了“是什么”,更深入地剖析了“为什么”要这么设计,那种对系统健壮性近乎偏执的追求,让人肃然起敬。我记得有一章专门讲了如何利用Supervisor树来构建自愈合系统,那段描述清晰到,我仿佛能看到一个程序在后台默默地自我修复,而不是直接崩溃掉,这种韧性在其他语言的环境中是难以想象的,读完后,我立刻尝试将我项目中一个关键模块的崩溃处理机制彻底重构了一遍,效果立竿见影,稳定性的提升是质的飞跃。这本书的价值远超一本普通的编程指南,它更像是一本系统架构的哲学著作。
评分看完 Coders at work的访谈第二天来标记. 作者刚刚去世,祝安息
评分这本书讲解的不错,还没看完
评分不错的一本书,但是看完后对erlang的实质还是没有太多的了解。
评分不错的一本书,但是看完后对erlang的实质还是没有太多的了解。
评分看这本书是因为看了《七周七并发模式》,想要了解一下 actor 模式,因为 Java 有 Akka,但是要了解 actor 当然还是要看 Erlang 了。粗粗读了一遍,rebar 那部分过时了,现在是用 rebar3 ,其他部分娓娓道来。 还有,我怎么觉得 Erlang 的语法挺自然的呢?没有 for 循环,使用递归代替,因为 Erlang 有尾递归优化。果然,语言学得越多越快。 有机会还是要细细再看一遍
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有