Erlang-China

erlang 中文社区

一场 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了





Comments



1
Author:  Arbow | Date:  October 30, 2007 | Time:  9:37 am

关于牛刀:其实对于咱这种捣鼓应用的程序员,什么ACE,libevent之类的高性能网络库才是牛刀啊,用Erlang写个网络应用还是蛮方便的,支持大量连接,效率不低,一连接一进程的并发模型更符合现实,过了语法和常用库这道坎,开发网络应用还是比较爽滴

2
Author:  mryufeng | Date:  October 30, 2007 | Time:  10:15 am

有经验的程序员搞个比较简单点的服务器2-3天应该可以搞定编码的。

3
Author:  fatsnake | Date:  October 31, 2007 | Time:  6:06 am

我们公司已经开始尝试用erlang了,呵呵

4
Author:  Arbow | Date:  October 31, 2007 | Time:  9:43 am

@fatsnake
能否说说是什么方面的应用:)

5
Author:  fatsnake | Date:  October 31, 2007 | Time:  12:51 pm

网游服务端

6
Author:  mryufeng | Date:  October 31, 2007 | Time:  4:38 pm

to fatsnake: 留个通讯方式 交流下。

7
Author:  fatsnake | Date:  November 1, 2007 | Time:  5:48 am

我就是gtalk里的ioriyashino。
邮箱是ioriyashino@gmail.com
QQ:32728251
现在我们主要是尝试,可能年底开发出一个简单的应用,逻辑是用cnode



Write a Comment

Note: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>