Using Erlang, you’ll be surprised at how easy it becomes to deal with parallel problems, and how much faster and more efficiently your programs run. That’s because Erlang uses sets of parallel processes—not a single sequential process, as found in most programming languages.
Joe Armstrong, creator of Erlang, introduces this powerful language in small steps, giving you a complete overview of Erlang and how to use it in common scenarios. You’ll start with sequential programming, move to parallel programming and handling errors in parallel programs, and learn to work confidently with distributed programming and the standard Erlang/Open Telecom Platform (OTP) frameworks.
You need no previous knowledge of functional or parallel programming. The chapters are packed with hands-on, real-world tutorial examples and insider tips and advice, and finish with exercises for both beginning and advanced users.
The second edition has been extensively rewritten. New to this edition are seven chapters covering the latest Erlang features: maps, the type system and the Dialyzer, WebSockets, programming idioms, and a new stand-alone execution environment. You’ll write programs that dynamically detect and correct errors, and that can be upgraded without stopping the system. There’s also coverage of rebar (the de facto Erlang build system), and information on how to share and use Erlang projects on github, illustrated with examples from cowboy and bitcask.
Erlang will change your view of the world, and of how you program.
Joe Armstrong is one of the creators of Erlang. He has a Ph.D. in computer science from the Royal Institute of Technology in Stockholm, Sweden and is an expert on the construction of fault-tolerant systems. He has worked in industry, as an entrepreneur, and as a researcher for more than 35 years.
我本身并不是一个Erlang程序员,而且我想国内专门做Erlang开发的人应该很少吧。 大家都知道,Erlang是一个优秀的容错性,并发性很棒的语言,能够很棒地适应多核时代。 于是我看了这本书,但是在这本书里我没有看到太多我感兴趣的内容,我希望知道的是Erlang的实现原理,对待多...
评分Joe老头作为erlang之父写了这个书, 从erlang的设计理念, 到Erlang的语法,开发环境,OTP,到系统的诊断, profile,娓娓道来,顺着他的节奏, 读者会很容易进入这一神奇语言的大门! 强烈推荐! http://blog.yufeng.info
评分基础知识大体都介绍了。通读一边就可以知道erlang语言优点。 在入门开发时,它就像手册,查它的时候比查Doc多。 希望能出中文版,和更深层次的书。
评分在最近的一个多月时间里,我利用业余时间学习了Erlang,这是一门面向并发模式编程的语言,她采用函数式的一些思想,加上强有力的库,在20多年的锤炼中,已经算是世界顶级的并发编程语言之一,当然有些不足的是多少年都不变的语法特性使得这门语言的特性比较死板。 先吐槽一下...
评分Gary Pollice, 实践教授, Worcester Polytechnic Institute 2008 年 2 月 15 阅读 Joe Armstrong 的关于用 Erlang 语言进行程序设计的新书如何成为寻求解决并行问题的程序员的无价资源。 来自 The Rational Edge. 原文:http://www.ibm.com/developerworks/cn/rational/dec0...
《Programming Erlang》这本书,为我开启了一扇通往全新并发编程范式的大门,其核心的设计理念,让我对以往的编程经验进行了深刻的反思。书中对于“进程”的定义,与我们通常理解的操作系统进程或线程有着天壤之别。Erlang的进程是极其轻量级的,它们拥有独立的内存空间,并且只通过“消息传递”进行异步通信。这种“无共享”的设计,从根本上消除了许多传统并发模型中的复杂性,例如死锁和竞态条件。我印象最深刻的是书中关于“Actor模型”的讲解,每一个Actor都像是一个独立的“服务单元”,只通过发送和接收消息来与其他Actor交互。这种高度的隔离性,使得并发程序的编写变得前所未有的简单和安全。更为关键的是,书中对“OTP”(Open Telecom Platform)的详尽介绍。OTP不仅仅是一堆API的罗列,而是一套完整的“系统设计哲学”和“开发框架”。OTP中的“Supervisor Tree”概念,让我看到了如何通过一种声明式的、层次化的方式来管理进程的生命周期,以及如何在进程发生故障时,能够以一种可控的方式进行恢复。书中反复提及的“let it crash”的理念,并非是放弃错误处理,而是将错误视为系统设计的一部分,并通过Supervisor进行有效的隔离和恢复。我花了大量时间去理解书中关于如何构建一个能够处理海量并发连接,并且在部分节点失效时仍能保持高可用性的系统的例子。这种对系统韧性和弹性的极致追求,以及Erlang提供的简洁而强大的解决方案,让我对现代分布式系统的设计有了更深刻的理解。作者的讲解非常到位,他能够将复杂的概念,用清晰、富有逻辑性的语言呈现出来,并辅以大量的代码示例,让我能够一边阅读,一边动手实践,逐步深入理解Erlang的强大之处。
评分《Programming Erlang》这本书,给我带来的不仅仅是关于一门特定编程语言的知识,更是一次对“构建健壮、可伸缩分布式系统”这一核心挑战的深度洗礼。在翻阅这本书之前,我一直认为并发编程是一件需要极其谨慎对待的事情,充满了各种潜在的陷阱,例如死锁、竞态条件等。然而,Erlang的出现,彻底改变了我的看法。书中强调的“进程”概念,它们拥有独立的内存空间,并且只通过异步消息传递进行通信,这种“无共享”的设计,从根本上消除了许多传统的并发问题。我印象最深刻的是书中关于“Actor模型”的阐述,每一个Actor都像是一个独立的“服务单元”,只通过发送和接收消息来与其他Actor交互,这种高度的隔离性,使得编写并发程序变得更加直观和安全。更为关键的是,书中对“OTP”(Open Telecom Platform)的详尽介绍,这不仅仅是一堆API的罗列,而是一套完整的“系统设计哲学”和“开发框架”。OTP中的“Supervisor Tree”概念,让我看到了如何通过一种声明式的、层次化的方式来管理进程的生命周期,以及如何在进程发生故障时,能够以一种可控的方式进行恢复。书中反复提及的“let it crash”的理念,并非是放弃错误处理,而是将错误视为系统设计的一部分,并通过Supervisor进行有效的隔离和恢复。我花了大量时间去理解书中关于构建一个能够处理海量并发连接,并且在部分节点失效时依然能保持高可用性的系统的例子。这种对系统韧性和弹性的极致追求,以及Erlang提供的简洁而强大的解决方案,让我对如何构建现代化的分布式系统有了更深刻的理解。作者的讲解非常到位,他能够将复杂的概念,用清晰、富有逻辑性的语言呈现出来,并辅以大量的代码示例,让我能够一边阅读,一边动手实践,逐步深入理解Erlang的强大之处。
评分《Programming Erlang》这本书,与其说是一本教程,不如说是一次思想的洗礼。在接触Erlang之前,我对于并发编程的概念,总觉得是小心翼翼地维护着共享资源的同步,生怕稍有不慎就会引发数据不一致的灾难。然而,Erlang的出现,彻底颠覆了我的认知。它没有共享内存,没有显式的锁,而是通过消息传递来实现进程间的通信。这种“无共享”的设计,虽然在初听之下可能显得“笨拙”,但仔细品味,却是一种对复杂性的大胆简化。书中的每一个概念,从进程的创建、销毁,到消息的发送、接收,都如同一颗颗精密的齿轮,在你的脑海中咬合,构建起一个全新的并发模型。特别是书中对于Actor模型和Supervisor Tree的讲解,让我印象深刻。Actor模型就像是一群独立的“智能体”,它们各自拥有自己的状态,只通过发送和接收消息与其他Actor互动,这种隔离性极大地降低了并发编程的难度。而Supervisor Tree则是一种优雅的容错机制,它建立了一种“父子”关系,当子进程出现问题时,父进程可以根据预设的策略进行重启或替换,确保整个系统的健壮性。书中通过大量的实例,展示了如何利用这些机制构建出能够应对各种故障场景的分布式系统。我曾经花费了大量时间研究如何在一个传统的系统中实现高可用性,总是伴随着复杂的配置和难以调试的bug。而Erlang的OTP,就像是一套内建的“高可用性解决方案”,它将许多复杂的细节抽象化,让开发者能够更专注于业务逻辑的实现。这本书的作者,对Erlang的理解之深,让我叹为观止。他不仅仅罗列了API,更是深入剖析了Erlang的设计哲学和背后思想,让我们在学习语法的同时,也能领悟到其精髓。这种“知其然,更知其所以然”的学习方式,是任何一本浮光掠影的书籍都无法比拟的。我特别喜欢书中对于“let it crash”的解读,它不是一种消极的态度,而是一种积极的容错策略。通过允许进程在不可控的情况下崩溃,并由Supervisor进行恢复,反而能够更快地隔离问题,避免级联效应。这让我重新审视了错误处理的本质。
评分《Programming Erlang》这本书,是一次关于“如何构建真正可靠的系统”的深度探索。在阅读这本书之前,我对“高可用性”和“容错性”的理解,往往停留在理论层面,或者是在已有框架上进行复杂的配置。而Erlang,以及书中详尽阐述的OTP(Open Telecom Platform),则提供了一种完全不同的路径。这本书让我明白,Erlang的设计理念,是围绕着“进程”这一核心概念展开的。这些进程极其轻量,拥有独立的堆栈和堆,并且不共享内存,只通过异步消息传递进行通信。这种“无共享”的设计,从根本上规避了许多传统并发模型中的复杂性,例如锁和同步机制。我记得书中对于“Actor模型”的详尽介绍,每一个Actor都像是一个独立的“单元”,拥有自己的状态,并通过发送和接收消息来与其他Actor交互。这种隔离性,使得并发编程变得更加直观和易于管理。而OTP中的“Supervisor Tree”,则是我在书中看到的最令人惊叹的部分之一。它提供了一种声明式的、层次化的方式来管理进程的生命。当一个进程(子进程)发生异常时,其父进程(Supervisor)可以根据预设的策略,例如重启、替换,甚至是停止整个子树,来确保系统的整体稳定性。这种“let it crash”的哲学,并非是对错误的漠视,而是通过一种可控的方式,将错误的影响限制在最小的范围内,并快速地进行恢复。书中通过构建一个能够处理数百万并发连接的电信级系统的例子,让我深刻体会到了Erlang在处理大规模并发和高可用性方面的强大实力。作者用清晰、简洁的语言,将这些复杂的设计原理娓娓道来,并辅以大量的代码示例,让我能够一边阅读,一边动手实践,逐步构建起对Erlang的深入理解。这本书,不仅仅是一本关于编程语言的书,它更是一本关于如何构建“永不宕机”系统的思想启蒙。
评分《Programming Erlang》这本书,如同为我揭开了一个关于“如何构建永不宕机的系统”的神秘面纱,其核心的设计理念,让我对传统的并发编程方式产生了颠覆性的认知。书中对于“进程”的定义,与我以往接触的线程模型截然不同。Erlang的进程极其轻量,它们不共享内存,并且只通过“消息传递”进行异步通信。这种“无共享”的设计,极大地简化了并发编程的复杂性,让我摆脱了对锁和同步机制的过度依赖。我尤其钟爱书中关于“Actor模型”的讲解,每一个Actor都像是一个独立的“小单元”,拥有自己的状态,并只能通过发送和接收消息来与其他Actor互动。这种高度的隔离性,使得并发程序的设计变得更加直观、安全,并且易于理解。更令人惊叹的是书中对“OTP”(Open Telecom Platform)的深入剖析。OTP不仅仅是一堆库的集合,而是一整套“构建高可用、可伸缩分布式系统的解决方案”。其中,“Supervisor Tree”的概念,给我留下了深刻的印象。它提供了一种声明式的、层次化的方式来管理进程的生命周期,并在进程发生故障时,能够以一种可控的、系统化的方式进行恢复。书中反复强调的“let it crash”的哲学,并非鼓励放任自流,而是将错误视为系统设计的一部分,并通过Supervisor进行有效的隔离和恢复,从而确保整体系统的稳定性。我花了大量的时间去理解书中关于如何构建一个能够处理海量并发请求,并且在部分节点失效时仍能保持高可用性的系统的例子。这种对系统韧性和弹性的极致追求,以及Erlang提供的简洁而强大的解决方案,让我对现代分布式系统的设计有了更深刻的理解。作者的讲解非常到位,他能够将复杂的概念,用清晰、富有逻辑性的语言呈现出来,并辅以大量的代码示例,让我能够一边阅读,一边动手实践,逐步深入理解Erlang的强大之处。
评分《Programming Erlang》这本书,给我带来的震撼,远不止于对一门新语言的掌握,更在于它对软件工程的底层逻辑的颠覆。在翻阅这本书之前,我一直认为“并发”是需要小心翼翼回避的“麻烦”,是性能优化的“拦路虎”。而Erlang,则将并发视为一种天赋,一种构建强大系统的基石。书中的概念,如“进程”(Process)的轻量级特性,它们不共享内存,只通过消息传递进行通信,这与我熟悉的线程概念截然不同,却在书中得到了极致的发挥。我记得书中关于“Actor模型”的讲解,每一个Actor就像一个独立的“小王国”,拥有自己的状态,只通过特定的“信使”(消息)与其他王国交流。这种隔离性,极大地降低了并发编程的复杂度,避免了传统并发模型中常见的死锁和竞态条件。更让我惊叹的是“OTP”(Open Telecom Platform)。它不仅仅是一堆库,而是一套完整的“设计模式”和“开发框架”,为构建高可用、可伸缩的分布式系统提供了坚实的基础。书中对于Supervisor Tree的讲解,让我看到了如何通过一种声明式的方式来管理进程的生命周期,以及如何以一种“容错”的心态来设计系统。它强调“let it crash”的哲学,并非鼓励开发者忽视错误,而是教导我们如何设计一个能够在错误发生时,能够自我修复,并且最小化影响的系统。我花了大量时间去理解书中关于如何构建一个能够处理海量并发请求的电话交换机系统的例子,那种对可靠性和容错性的极致追求,以及Erlang提供的优雅解决方案,让我叹为观止。作者的表达方式,总是能够将复杂的概念,用通俗易懂的方式呈现出来,同时又不失其严谨性。他不是简单地告诉你“怎么做”,而是深入剖析“为什么这样做”,让我能够从更深层次理解Erlang的强大之处。这本书让我对“健壮性”有了全新的认识,它不再是锦上添花,而是系统设计的核心考量。
评分《Programming Erlang》这本书,给我带来的震撼,远不止于对一门新语言的掌握,更在于它对软件工程的底层逻辑的颠覆。在翻阅这本书之前,我一直认为“并发”是需要小心翼翼回避的“麻烦”,是性能优化的“拦路虎”。而Erlang,则将并发视为一种天赋,一种构建强大系统的基石。书中的概念,如“进程”(Process)的轻量级特性,它们不共享内存,只通过消息传递进行通信,这与我熟悉的线程概念截然不同,却在书中得到了极致的发挥。我记得书中关于“Actor模型”的讲解,每一个Actor就像一个独立的“小王国”,拥有自己的状态,只通过特定的“信使”(消息)与其他王国交流。这种隔离性,极大地降低了并发编程的复杂度,避免了传统并发模型中常见的死锁和竞态条件。更让我惊叹的是“OTP”(Open Telecom Platform)。它不仅仅是一堆库,而是一套完整的“设计模式”和“开发框架”,为构建高可用、可伸缩的分布式系统提供了坚实的基础。书中对于Supervisor Tree的讲解,让我看到了如何通过一种声明式的方式来管理进程的生命周期,以及如何以一种“容错”的心态来设计系统。它强调“let it crash”的哲学,并非鼓励开发者忽视错误,而是教导我们如何设计一个能够在错误发生时,能够自我修复,并且最小化影响的系统。我花了大量时间去理解书中关于如何构建一个能够处理海量并发请求的电话交换机系统的例子,那种对可靠性和容错性的极致追求,以及Erlang提供的优雅解决方案,让我叹为观止。作者的表达方式,总是能够将复杂的概念,用通俗易懂的方式呈现出来,同时又不失其严谨性。他不是简单地告诉你“怎么做”,而是深入剖析“为什么这样做”,让我能够从更深层次理解Erlang的强大之处。这本书让我对“健壮性”有了全新的认识,它不再是锦上添花,而是系统设计的核心考量。
评分《Programming Erlang》这本书,就像一本古老的预言书,它预言了未来软件系统对并发、容错和可伸缩性的极致追求,并为我们提供了实现这些目标的钥匙。我花了很长时间才真正理解书中所阐述的Erlang哲学,特别是它与我之前接触过的命令式、面向对象语言的巨大差异。Erlang的函数式编程范式,以及其独特的进程模型,都让我耳目一新。书中的每一章节,都像是在为我揭开一个全新的技术领域,从最基础的进程创建、消息传递,到复杂的OTP框架,再到分布式系统的构建,都循序渐进,层层递进。我尤其欣赏书中对于OTP的详细介绍,它不仅仅是Erlang生态系统中的核心部分,更是构建强大、可靠系统的基石。Supervisor Tree的概念,让我看到了如何通过一种结构化的方式来管理进程的生命周期,以及如何在面对故障时,能够以一种可控的方式进行恢复。书中的示例代码,虽然简洁,但却充满了智慧,它们巧妙地利用了Erlang的特性,展示了如何用最少的代码实现最强大的功能。例如,书中构建一个能够处理大量并发请求的聊天服务器的例子,让我深刻体会到了Erlang在处理并发场景下的优越性。传统的解决方案往往需要复杂的锁和线程管理,而Erlang的Actor模型,则将这些复杂性消弭于无形。每一次阅读,我都能从中发现新的理解和启发。这本书并不是一本“快速入门”的指南,它需要耐心和深入的思考。但正是这种深度,让我能够真正地掌握Erlang的精髓,并将其应用于实际项目中。作者的文字功底非常扎实,他能够用清晰、简洁的语言,解释复杂的概念,并辅以生动的例子,让读者更容易理解。这本书让我对软件开发的理解进入了一个新的层次,它让我看到了构建“永不宕机”系统的可能性,并为我指明了方向。
评分刚刚啃完《Programming Erlang》,感觉脑子里像是被注入了一股清流,又像是在一座古老而精密的机器迷宫里穿梭了一番。这本书给我的感觉,与其说是一本技术手册,不如说是一位经验丰富的工匠,耐心地向你展示他如何用一种与众不同的语言,打造出坚固、高效且极具弹性的系统。它不是那种“拿来主义”的速成指南,而是让你深入理解 Erlang 的设计哲学。读这本书的过程,更像是在学习一种新的思维方式,一种如何思考并发、如何构建容错系统的方式。书中反复强调的“let it crash”原则,一开始听起来颇有些“破罐子破摔”的意味,但随着深入,你会逐渐领悟到其中蕴含的强大力量。它不是鼓励我们忽视错误,而是教我们如何优雅地处理错误,如何让系统在遇到不可避免的故障时,能够自我修复,甚至在损坏的部分被隔离的同时,其余部分仍然能够继续稳定运行。这种设计理念,在当今复杂多变的软件开发环境中,显得尤为宝贵。书中对于OTP(Open Telecom Platform)的讲解,更是让我大开眼界。OTP不仅仅是一堆库,它更像是一套完整的“系统构建框架”,提供了Actor模型、进程管理、监督树等一系列强大工具,让你能够以前所未有的方式构建高可用、可伸缩的分布式系统。当我看到书中通过生动的例子,一步步构建一个能够处理大量并发请求,并且即使部分节点宕机也能无缝切换的系统时,我感受到了Erlang强大的生命力。这本书的作者,在字里行间都透露出他对Erlang的热爱和深刻理解,他不仅仅是知识的传授者,更像是一位引路人,循循善诱地将我们带入Erlang的奇妙世界。书中的代码示例清晰易懂,逻辑严谨,即使是初学者,也能跟着一步步地敲打、运行,并从中获得成就感。当然,这本书的深度也意味着需要投入相当的时间和精力去消化,但我敢肯定,这份投入绝对是值得的。它为我打开了一个全新的视角,让我看到了构建大规模、高可靠性系统的另一种可能性。
评分《Programming Erlang》这本书,为我打开了一扇通往全新并发编程世界的大门,其核心理念的独特性,让我对其之前的很多编程习惯产生了深刻的反思。书中对于“进程”的定义,与我们通常理解的操作系统进程或线程有着本质的区别。Erlang的进程是极其轻量级的,它们不共享内存,只通过“消息传递”进行通信。这种设计,让我摆脱了以往在并发编程中小心翼翼处理共享资源、避免死锁的困扰。我记得书中对于“Actor模型”的讲解,每个Actor都像是一个独立的“智能体”,拥有自己的状态,并只能通过发送和接收消息来与其他Actor互动。这种高度的隔离性,使得并发程序的编写变得前所未有的简单和安全。更为震撼的是书中对于“OTP”(Open Telecom Platform)的深入阐述。OTP不仅仅是一些库的集合,而是一套完整的“系统构建框架”,它提供了包括进程管理、错误处理、分布式通信等一系列强大而成熟的工具。其中,“Supervisor Tree”的概念,更是让我看到了如何优雅地构建高可用、可伸缩的分布式系统。通过一种声明式的、层次化的方式来管理进程的生命周期,并在进程出现故障时,能够以一种可控的方式进行恢复。书中反复强调的“let it crash”的哲学,并非鼓励放任自流,而是将错误视为系统设计的一部分,并通过Supervisor进行有效的处理和恢复。我花了大量时间去理解书中关于如何构建一个能够处理海量并发请求,并且在部分节点宕机时仍能平稳运行的系统的例子。这种对可靠性和弹性的极致追求,以及Erlang提供的简洁而强大的解决方案,让我对软件系统的构建方式有了全新的认识。作者的文字功底深厚,他能够将复杂的概念,用清晰、富有逻辑性的语言呈现出来,并辅以大量直观的代码示例,让我能够一步步地理解和掌握Erlang的精髓。
评分买过的唯一一本电子版的书,不过kindle不是很适合看程序
评分这本就好很多,毕竟是 Erlang 设计者写的。函数式部分所有都差不多那样没啥意思,并发和分布式部分有些意思。
评分作者讲的很全面。读了learn your an Erlang for great good后,还需要再读下这本才靠谱。
评分买过的唯一一本电子版的书,不过kindle不是很适合看程序
评分作者讲的很全面。读了learn your an Erlang for great good后,还需要再读下这本才靠谱。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有