JAOO 2007: Joe Armstrong - On Erlang, OO, Concurrency, Shared State and the Future, Part 1
在reddit看到的,提供了视频和语音下载,视频挺大,500M+。
链接在此:Introduce
一场 yufeng 与 TrustNo1 的对话
2007.10.29,知名人士TrustNo1和yufeng在Gtalk中就Erlang进行了短暂的聊天,现在将聊天记录进行整理后发表。粗体部分为本小编根据话题的侧重点所制定的主题。
人物介绍:
TrustNo1:又名T1,Erlang的早期推动者,在《程序员》杂志上发表了《一场茶杯里的风暴》一文,使得Erlang在国内开始为人所知。目前正在与Erlang-China站长jackyz共同翻译《Programming Erlang》一书。
yufeng:一名从事高性能网络服务器开发多年的“老程序员”,对Erlang的底层研究非常透彻,国内Erlang社区的领军人物之一,Blog地址为 http://mryufeng.javaeye.com/ 。
为何看好Erlang
Yufeng: erlang你主要看好它什么?这个对erlang的定位决定了 erlang的使用领域
T1: 实际上,对于erlang我觉得你了解的应该比我深入很多.实际上我对erlang的原始兴趣并非是concurrent.而是基于语言理论,从我的视角来看,我觉得是lambda calculus在并发上是有先天优势的.打个不好听的比方,java和C++在并发上的区别实际是猴子和猩猩的区别,而erlang和C++的区别是,人和猩猩的区别.
Yufeng: en,我非常赞同你的比喻。。其实 我之前做过软交换系统 c++的 用的也是和erlang一样的思想,只不过 erlang是个成型的系统 而我们自己的东西是个工具,所以规模和稳定都不如人家。不过国内的fp教育好像还没有展开 就看大侠你了
Erlang 正处于转型期
T1: 我觉得也不尽然,erlang是一个很特殊的语言.大多数的语言的目标都是general language.而erlang可以说是一种domain language.他的本源应该就是像你自己的电信开发库一样是一组工具,现在已经进化成了一个语言。现在的erlang处于一个转型期,从一个domain language向general languge转变,这是以往的语言从来没有经历过的。
Yufeng: 现在erlang是在转型 想易用性和通用性在靠拢。erlang的社区开发参与力度还是不够 开发的速度很慢,eep才刚出来几个月
T1: 我觉得这也难怪了,本来就是一个相对封闭的社区
Yufeng: 连svn 或者cvs 都不开放 搞不清楚他们想什么
T1: 而且负责人的都是专著电信领域的人,对于易用型和通用性的理解是和外界有很大差别的
Yufeng: 恩 是这样的 活跃的用户都是这个电信的 要不就是搞大型服务如网游的
T1: 比如那个record语法,十几个版本下来了,还是那么罗嗦,而且一直都是低优先级的
Yufeng: record是比较啰嗦 而且是预处理的
T1: 在他们的心里,可能SMP之类的事情更重要
Yufeng: 很不爽的样子 估计是怕改动太大 不用投入时间和精力改。smp是最直接的利益,R12B里面就对lock作了很大的抽象和调整
T1: 所以啊,他们和ruby那些人的观念完全颠倒过来的
Yufeng: dist方面基本已经稳定了。恩 主要现在还是ericission的那帮人在主持开发,社区力量还不壮大 还不能影响开发的决策
T1: 不过大致上来说已经非常不错了,很多东西都可以绕开
Erlang拥有强大的工具
Yufeng: 用起来开发对口的领域还是蛮爽的 开发 部署 维护的 工具都比较齐备。其他平台 很少有这个特性
T1: 是的,
Yufeng: 我看好它是 更看好开发 部署 维护的 工具 省了好多功夫
T1: 这一点是毋庸置疑的
Yufeng: 以前自己亲手打磨这些工具 累死了,总算解放了 呵呵。我想p2p方面的应用 erlang其实也是不错的 erlang的核心够小,p2p主要是节点间通讯和管理,这个erlang已经非常强大了,奇怪的是为什么没有人尝试
T1: 但是有些东西也是可以看到的,比如说软件服务。一个web的字处理软件,如何在服务器端进行搜索,全文比对?
Yufeng: 这个还得发明些分布和并发的算法才好用
一门基于服务的语言
T1: 现在的软件服务只能管理客户的存储资源,但是根本无法解决如何管理客户的计算资源
Yufeng: 恩 是这样的 都还比较低级阶段。google搞了这么多年 才起步
T1: 我交了每月60块钱,要执行一个搜索任务能够获得几个并行thread的效率?这些问题在其他的语言里面都无法解决的
Yufeng: 是呀 这个是erlang的卖点。资源如何使用是可以精确估计的 和实施的,这个和elrang出身电信应用 有很大关系
T1: 是的
Yufeng: 读其代码就知道 erlang的很多代码都是为了统计 分析 诊断 而写的附加代码,其他的语言和系统就没有这么重视。电信应用还是嵌入式的 比较资源受限,他们就的算计比较清楚
T1: en,基于服务的语言
关于推广和需求
Yufeng: 你现在有在作基于erlang的应用码?
T1: 没有,公司情况不允许
Yufeng: 恩 没有看的见的成功案例 大工程一般老板都不敢贸然尝试
T1: 说服周围人也很难
Yufeng: 所以要靠出书 把社区搞大 说服力大些
T1: 主要还是需求不足吧
Yufeng: 感觉需求还是可以的 就是有需求的人在观望
T1: 怎么说
Yufeng: 还要就是还没有熟悉到很够驾驭erlang。在观望 就是看别人的successful story
T1: 你说需求还可以怎么说
Yufeng: 其实这么人多服务器程序 如果用erlang写都是几百行的事情。其实只要和网络相关的公司 都用的到各种各样的服务器的
T1: 趋势是这个趋势。但是很多应用还不是非到用erlang不可的底部
Yufeng: 你只要易用性和宣传够的花 他们自然就会用。那倒是 python 什么的挺好,但是用的人一多 自然就会影响别人的判断,而且erlang写出来的服务器程序 比一般人费心费力用c, c++ 写的运行效率都高很多,开发效率也高 感觉在这方面的流行是迟早的事情 这是我的个人理解
T1: 恩,我也这么看,但是不一定所有的程序都要用牛刀
Yufeng: 恩 只求说大家认识到好 有需要懂的用就OK了
Erlang 文档计划
在 Erlang 这个小世界里,一直不乏格式良好,态度严谨的文档(貌似 Erlang 很有点学院气息)。读完这些东西,常常让人有豁然开朗之感。可是它们又犹如深海明珠,难得一见。用上最先进的 google 也不济事,一网抄下去,常常啥也捞不上来。尤其是,在中文环境里,又隔阂了语言的屏障,凭一人之力来收集这些文档,几乎变成一个让人绝望的任务。
通过网络,集合大家的力量来收集这些“珍宝”,似乎是个不错的想法。更进一步,受“段先德”同学关于“无一遗漏地精读的方式,就是把它翻译一回”的激励。也许,除了“段先德”和“Dino Wu”之外,还有另外一些奉行开源精神的 hacker 们,也愿意与其他人分享自己的“精读”的心得。而整个中文社区的用户都将因此获益。
希望,通过这个小小的“Erlang文档计划”,为中文地区的Erlang用户带来一些便利。
方法很原始(但应该很可靠 :D),在这个(http://erlang-china.org/erlang-doc)地址,会维护一份文档列表,通过各种渠道的收集到的文档都会迅速的被添加进去。希望这个列表会变得很长,很全,并且出现 N 多的中文版。
为便于整理,对于每一篇好文档,最好提供如下资料:
必填:
类目 (如:官方文档,论文,活动文档,其他;如果是活动,则请注明活动名称,如: EUC07,CN-Erlounge-II等),
名称 (英/中/简,尽量详细,如:Making reliable distributed systems in the presence of software errors/面对软件错误构建可靠的分布式系统/JoeThesis 2003),
作者 (如:Joe Armstrong),
URL (如:http://www.erlang.org/download/armstrong_thesis_2003.pdf,如果没有原始下载链接,也可发一贴,以附件形式上传到 erlang-china.org ),
选填:
简介 (大致介绍一下内容,没准写的好,就有同学主动要来翻译啊 :))
然后,将你发现的好文档:
1,回复到 http://erlang-china.org/erlang_doc 中,
2,发送到 erlang-china 或 ecug 的 maillist 中,
3,直接发 gtalk 给我,如果你有我的 gtalk,
各位开始翻译计划时,也请通过上面的方式通知,以便标注“某某正在翻译中”,避免题材撞车。
that’s all. let’s make it.
Erlang R12 snapshot
从 maillist 以及 mryufeng 同学的 blog 上看到。新鲜出炉的 Erlang-R12 已经出现 snapshot 可供体验。
可以从“这里”看到最新的 Erlang SnapShot 版本发布情况,随时关注最新下载。
新的特性尚不明朗,据传闻,可能包括:
1. Array 数据类型
2. -spec 编译支持
3. 传说中的Sub Binary
…
其他特性仍在传闻中…
ErlyBird-与dcaoyuan聊天
10月20日,有幸能和出差来北京的 dcaoyuan 见了一面,于是有了一次愉快而且让人获益良多的谈话,值得记录。
关于 dcaoyuan 先生
(是的,这里的 id dcaoyuan 就是他,他同时也是 netbeans 平台下的 erlang开发环境 — erlybird 的作者本人)
dcaoyuan 先生的年纪可能比我们这帮程序员都要大上好几岁,这在国内广泛持有“程序员吃青春饭”论调的中国程序员当中,是相当罕见的。实际上 dcaoyuan 先生在第一次互联网浪潮中就已经颇有建树,他于 2000 年左右出国,现居加拿大,平常“做做咨询”、“帮朋友管理一些项目”,或者干脆就“在家歇个一年半年的”,衣食无忧,随兴而为的过着传说中“功成名就归隐田园”的程序员版理想生活。他称自己是“真正对编程感兴趣的人”——确实如此。编程实非易事,若非兴趣所在,必将其视若苦旅,一有机会恐怕就会赶紧离开这个行业了,不会干到现在。而 dcaoyuan 先生时至今日都仍然活跃在编程的第一线,尤喜亲自操刀编码,闲暇之余,随手贡献了多个开源项目(股票分析软件AIOTrade, ErlangIDE开发环境Erlybird),确实是让人非常佩服。
下面是根据和 dcaoyuan 先生的交流整理出来的聊天记录。话题比较杂,分四个方面归纳。
[转]Getting Started With Erlang 和 OTP Design Principles 的部分译文
原文链接:blog.sun7.cn
有位热心的 Dino Wu 朋友在 http://wiki.51sun.cn/ErlangDoc 上发表了对《Getting Started With Erlang》和 《OTP Design Principles》这两份文档的部分中文翻译。感谢 Dino Wu 付出宝贵的个人时间为 Erlang 中文社区所做的贡献!
Dino Wu 的译文,在http://wiki.51sun.cn/ErlangDoc(介绍文字相当精炼,也值得一读)上提供了PDF版本的译文下载。
后续部分会不定期释出,本文也会继续更新相关的链接。
[ANN] ActionScript (ECMAScript 4) to Erlang Compiler
一条振奋的消息,前一阵子,在 maillist 中热烈讨论的 JavaScript - Erlang 计划,有了下文。
Folks,
Roberto Saccon and I(Joel Reymont) agreed to collaborate on the ActionScript(ECMAScript 4) to Erlang compiler. We will start with the partial yecc grammar that Denis Loutrein put together.
The project is open source and hosted at http://code.google.com/p/jserl/ .
要知道 Roberto Saccon 和 Joel Reymont 可都是 Erlang 社区的大名人,他们的 project 靠谱程度很高。
ECMAScript4 制霸 Client Side 被认为是 NBL (Next Big Language),而 Erlang 在 Server Side 势头强劲。这两个语言的“互联互通”工程,意味着什么样的变化?这种问题现在无法回答,但至少可以预期,到明年或者后年,当我们对此进行回顾的时候,也许能够看清“这个蝴蝶的一次挥动翅膀”到底带来了怎样的效应。
[CN Erlounge II] 花絮之中途劫持版
CPO — AAcharge 曰: 照片太多了.
到目前为止他也只修了一部分,等到完整版公布不知猴年马月.
等得心急,只好砸开他的机器,抢劫了一部分过来.
终究不是完整版,只敢先发到个人相册啦.
地址:http://picasaweb.google.com/yuxh312/CNErloungeII
[CN Erlounge II] 花絮
Alex Dong 同学的 HaoKanBu(好看簿)是个怒有意思的“看图说话”应用。每次聚会完毕,就会立刻想起他们。
本届 Erlounge 的 CPO 外长 (经方块君提醒,CPO 为 aacharge 而 Zoom.Quiet 同学竟然是外长本人啊,失敬失敬,特此更正) Zoom.Quiet 同学既快且好的完成了13大(10月13日召开,故称13大)的图片报道任务,迅速处理并上传了本次聚会的高清晰度照片(注意,是用传说中的 ISO 1600 胶卷拍出来的真正的照片哦,而不是随手乱拍的数码照片,严重表扬!),还配图播发了妙趣横生的花絮台本,看[这里],内容非常之精彩。众多位大明星联袂出演(比如,江湖人称“四条眉毛”的锋爷,还有“肌肉型男”方块君等),有趣程度直逼 Erlang 粉丝奉为经典的“Erlang the Movie”。还等什么,赶紧去看啦。
另,留意到没,本站右上角的头图多了一些奇怪的图形,看起来象什么,又不象什么,到底是什么呢?咳,咳……这可是一个“不能说的秘密”啊。
[CN Erlounge II] 与会人员名单
这帮人都是ECUG的缔约人那,载下史册吧
阅读帮助:
字段一: Gmail ID (id in erlangtalk)
字段二: 其他昵称,真实姓名,所属组织
xushiweizh ([许式伟],kingsoft)
yuxh312 ([krzycube,于曦鹤] ,Kingsoft)
hanzhupeng ([AlbertLee , 韩祝鹏],Kingsoft)
bitcowboy ([Demo,陈杰],Kingsoft)
Zoom.Quiet ([周琦],Kingsoft)
zhuzhaoyuan ([朱照远],Kingsoft)
aacharge ([梁杰峰],Kingsoft)
shuimuliang ([梁智],Kingsoft)
llin.zou ([邹营],kingsoft)
wangdong2 ([王东],kingsoft)
—————————————
mryufeng ([余锋],梦境网络)
avindev ([Abow,梁晓峰],梦境网络)
coderplay ([AOL,周敏], from梦境网络 to暨南大学 研男)
—————————————
netsnail ([林卓毅],深圳新概念科技)
cavaluo ([于敦澍],深圳新概念科技)
—————————————-
moonsolo ([付宇泉],汇丰软件开发有限公司)
—————————————-
yi.codeplayer ([黄毅],腾讯)


Recent Comments