《Erlang编程指南》读后感

标签: Erlang | 发表时间:2011-07-04 10:21 | 作者:Tim David Ruan
出处:http://timyang.net

“Single core architecture has been inefficient for 10 years”

在云时代,我们需要有更好的能利用多核功能及分布式能力的编程语言,Erlang在这方面具有天生的优势,因此我们始终对它保持强烈关注。

按:此为客座文章,投稿人为新浪微博基础研发工程师赵鹏城(http://weibo.com/iamzpc),以下为原文。

在对一个分布式KV存储系统的研究过程中,我有幸遇到了Erlang语言。因此,我研究工作的第一目标就是快速入门Erlang语言并在实际研究过程中进一步深入理解Erlang的精髓。在为数不多的Erlang中文书籍,我选择了《Erlang编程指南》一书。

首先,我认为此书是一本值得推荐的Erlang入门书籍。第一章的讲解把一头雾水的Erlang门外汉快速带入了Erlang文化中,从中我了解了Erlang的历史、特性及为什么要使用Erlang,还了解了几个Erlang案例,让我对Erlang的兴趣大增。接下来的第二章到第十一章是Erlang的基础部分,从中我学习到了Erlang的基础数据类型,顺序和并发编程及其进程设计模式,在我读membase中的ns_server的过程中,大部分知识点都得到了充分的验证,尤其是Erlang的函数是编程思想和进程设计模式,让我清晰快速的了解了ns_server的基础流程。

其次,我认为此书是一本非常全面和深入的Erlang高级参考手册。在我研究ns_server的过程中,遇到了OTP行为包的使用问题,通过behaviour关键字,我快速定位到了本书的第十二章,第十二章对OTP的原理和使用进行详细的介绍,让我在实践中快速的理清了思路,深刻体会了Erlang在分布式和并发开发上的便捷。在进一步的实践中,我还遇到了Mnesia数据库的问题,此书用专门一章的内容详细阐述了Mnesia的知识,大大提高了我的研究效率。

总之,此书是一本既适合入门学习又适合开发中参考的Erlang权威书籍。

虽然此书如此优秀,但是还是有一些不足的,主要体现在个别中文翻译上,包括名词和一些语句的翻译,着实有些不易理解,望日后能够重新酌定。

Similar Posts:

相关 [erlang 编程] 推荐:

《Erlang编程指南》读后感

- David Ruan - Tim[后端技术]
在云时代,我们需要有更好的能利用多核功能及分布式能力的编程语言,Erlang在这方面具有天生的优势,因此我们始终对它保持强烈关注. 按:此为客座文章,投稿人为新浪微博基础研发工程师赵鹏城(http://weibo.com/iamzpc),以下为原文. 在对一个分布式KV存储系统的研究过程中,我有幸遇到了Erlang语言.

Erlang监测系统CPU、内存、磁盘

- chuang - Jobin的主页
Erlang的os_mon服务中提供了一些用于监测系统信息的服务. cpu_sup:监测CPU负载和使用率(Unix). disksup:监测磁盘(Unix、Windows). memsup:监测内存(Unix、Windows、VxWorks). os_sup:监测系统日志(Solaris、Windows).

Erlang十分钟快速入门

- - 水煮沉浮
Erlang概述Erlang不但是一种编程语言,而且它具有比编程语言更加贴近操作系统的一些特性:并发线程、作业调度、内存管理、分布式、网络化等. 据说使用Erlang编写的Yaws Web服务器,其并发性能是apache的15倍. 这个Erlang初始开源版本包含了Erlang的实现,同时它也是用于构建分布式高可用性系统的Ericsson中间件的最大组成部分.

whatsapp深度使用Erlang有感

- - 系统技术非业余研究
原创文章,转载请注明: 转载自 系统技术非业余研究. whatsapp深度使用Erlang有感. 这么多年过去了,社区还在讨论erlang是不是小众语言,各种怀疑的时候,whatsapp已经把erlang用到了极致. 更为搞笑的是 主要开发者Rick Reed(rr@whatsapp.com),之前在Yahoo!, SGI工作,有着深厚的系统性能的背景.

Erlang进程堆垃圾回收机制

- - CSDN博客推荐文章
原文: Erlang进程堆垃圾回收机制. 作者:http://blog.csdn.net/mycwq. 每个Erlang进程创建之后都会有自己的PCB,栈,私有堆. erlang不知道他创建的进程会用到哪种场合下,所以一开始分配的内存比较小. 如果分配的空间不够了,erlang gc会动态调整堆大小以满足需求,如果分配的空间大了,就会收缩堆,回收内存.

让Erlang自动编译并加载代码

- Andy - Intridea East Blog
最近参与的项目使用了ejabberd,得此锲机第一次接触了Erlang. 作为一个函数式编程语言(functional language),除了函数式语言本身特点之外, 因为Erlang是为分布式,高并发,高容错系统量身设计的,所以也有一些属于自己的独门秘籍. 譬如热更新(hot swapping): 系统可以在运行过程中替换部分代码,更神奇的是,新旧代码还可以部分共存.

高性能集群服务器(Erlang解决方案)

- BeerBubble - 淘宝核心系统团队博客
高性能集群服务器(Erlang解决方案) View more presentations from Feng Yu.

Erlang集群自动化添加节点指南

- KnightE - Erlang非业余研究
原创文章,转载请注明: 转载自Erlang非业余研究. 本文链接地址: Erlang集群自动化添加节点指南. Erlang的集群是由各个节点组成的,一个节点有一个名字来标识,而不管这个节点在网络的物理位置,所以在部署Erlang集群的时候就很方便. 只要在集群里新启动一个节点,给个相对固定的引导的节点,让新节点和这个引导节点取得联系,由引导节点把新节点介绍入集群就OK了.

Erlang代码反编译以及查看汇编码

- KnightE - Erlang非业余研究
原创文章,转载请注明: 转载自Erlang非业余研究. 本文链接地址: Erlang代码反编译以及查看汇编码. Erlang的代码是先翻译成abstract_code,再到目标代码的,如果有符号信息很容易恢复源代码,通常我们部署系统的时候需要把符号信息去掉,reltool就可以干这个事情. 想查看模块的汇编码,也很容易,这样就好:.

Erlang服务器内存耗尽bug跟踪过程

- chuang - Erlang Display - 不求完美,学以致用
本文描述朋友Erlang服务器内存耗尽bug的解决过程. 首先说明一下问题,服务器1千多人在线,16G内存快被吃光. 查看节点的内存消耗在什么地方?. 显示内存大部分消耗在进程上,由此确定是进程占用了大量内存. (以输出text方式启动etop,其间隔为1秒,输出行数为20行,按照内存排序. 这里spawn一个新进程,目的是输出etop数据时不影响erlang shell 输入.).