采访Joe Armstrong的podcast
来源:互联网 发布:mac双系统安装 编辑:程序博客网 时间:2024/04/27 17:40
早上上班,听Software Engineering Radio对Joe Armstrong的访谈。Software Engineering Radio办得真不错。请来业界风云人物娱乐大众。访谈前主持人做了功课,提的问题颇为有趣,引得被采访着侃侃而谈。上期对Galen Hunt的访谈也挺精彩,把Singularity OS吹得比Singularity还有卖点。
Joe在谈到并发编程对程序员冲击时提到2006年的新闻:2010年Intel会推出32核的CPU Keifer。到时候,写惯顺序处理程序的程序员在老板面前抱怨性能问题时需要三思。因为老板到你机器上一看,保证怒从心头起,恶向胆边生:靠!你丫才用了3%的CPU cycle,也好意思说遇到性能问题!想来一枚对并发编程无所谓的程序员,听了这段话应该对并发编程兴趣大增吧?
除开便于跟踪状态出错地点外,我以前一直奇怪Erlang的变量只能赋值一次的原因。要说支持合理并发,进程间禁止共享数据,强化消息传递就行了。进程内还是可以支持私有状态嘛。结果Joe说Erlang变量赋值的规则是当年用Prolog时传承下来的风格,并没有特别的原因。
还有两个好玩儿的。提到Erlang的容错处理机制。Joe说Erlang在某种程度上不鼓励defensive programming,而鼓励happy case programming。也就是大家高高兴兴照着spec编程就行了,至于spec没有提到的黑暗角落嘛,搞死进程重启就是。然后Joe和采访人Marcus一起笑得花枝乱颤。Marcus问Joe是否认为Erlang会像Ralph Johnson博客所说,Erlang是下一个Java。Joe的回答甚为老到。他说Erlang也许像Smalltalk。虽然Smalltalk的确是最先把OO搞周正的,Smalltalk的拥趸也总是酸不拉叽地鄙视Java,喊着Smalltalk才是OO正宗的口号,但不可否认其它语言学了Smalltalk的精华,再灭掉Smalltalk的市场,比如Java。Erlang也许是第一个把并发做好的语言,但也许下一个支持花括号的Java++跳出来,吸取Erlang的精华,再占有Erlang的市场。而Joe看得挺开。Erlang当年就是Ericsson内部的小语言,以后是小语种也无所谓。
Joe还解释了关于Erlang系统实现5个9的八卦。他说这则消息没错,Ericsson出品的一坨系统的确一年才当掉5分钟。不过这是最佳条件下的数据。 并不是普适情况。当然,我们不必指望学了Erlang就能写出99.999%可靠的系统。这个量级的工程强度已不能单靠语言搞定。系统设计、实现、测试、部署、对业务领域长期的积累和专精都得到位。
另外Joe也看reddit。他说如果你只上reddit,你会觉得世界上只有两门主流语言:Haskell和Erlang。
再次感慨表达能力太重要了。Joe的能写能说,应该对推广Erlang大有帮助。有道是,码农会著述,挡也挡不住。
- 采访Joe Armstrong的podcast
- 八卦一下Erlang的发明人Joe Armstrong
- 八卦一下Erlang的发明人Joe Armstrong
- Erlang之父Joe Armstrong近期回顾的一些旧事
- [Erlang 0060] Joe Armstrong 论文《面向软件错误构建可靠的分布式系统》笔记
- Why Erlang suggest avoiding defensive programming( Joe Armstrong )
- 发布自己的podcast
- Joe Armstrong, the father of Erlang, finally publishes his library of Erlang code!
- 程序调试与啤酒——Erlang之父Joe Armstrong访谈
- [Erlang 0063] Joe Armstrong 《A Few Improvements to Erlang》EUC 2012
- Erlang之父Joe Armstrong确认将参加中国软件开发者大会
- podcast
- podcast
- Joe的故事
- Joe
- ARMStrong数求法的改进
- 关于软件工程的原则-ArmStrong
- 有关Google Android的Podcast
- .net中的如何私有部署强命名组件
- Script.NET平台的组件介绍
- asp上传图片到access数据库程序
- 微软禇诚云:软件安全漏洞与软件开发
- 第一次留字,希望把自己的学习和感受记录下来
- 采访Joe Armstrong的podcast
- 正确理解ThreadLocal
- 浅谈 typename在网页处理中的用处
- 仓库平面图编辑无刷新效果——页面代码(由于代码长度问题所以分开发)
- 仓库平面图编辑无刷新效果——后台代码(由于代码长度问题所以分开发)
- 仓库平面图编辑无刷新效果——Javascript(由于代码长度问题所以分开发)
- Create folder and subfolder in Sharepoint
- 明天
- 敏捷项目管理(摘录)——适应和结束阶段及做法