采访Joe Armstrong的podcast

Erlang之父Joe Armstrong分享了他对并发编程的看法,提及未来多核CPU将对程序员带来的挑战,并解释了Erlang中变量赋值规则的由来。他还讨论了Erlang的容错机制及其实现5个9可靠性的可能性。

早上上班,听Software Engineering RadioJoe 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大有帮助。有道是,码农会著述,挡也挡不住。

基于粒子群优化算法的p-Hub选址优化(Matlab代码实现)内容概要:本文介绍了基于粒子群优化算法(PSO)的p-Hub选址优化问题的研究与实现,重点利用Matlab进行算法编程和仿真。p-Hub选址是物流与交通网络中的关键问题,旨在通过确定最优的枢纽节点位置和非枢纽节点的分配方式,最小化网络总成本。文章详细阐述了粒子群算法的基本原理及其在解决组合优化问题中的适应性改进,结合p-Hub中转网络的特点构建数学模型,并通过Matlab代码实现算法流程,包括初始化、适应度计算、粒子更新与收敛判断等环节。同时可能涉及对算法参数设置、收敛性能及不同规模案例的仿真结果分析,以验证方法的有效性和鲁棒性。; 适合人群:具备一定Matlab编程基础和优化算法理论知识的高校研究生、科研人员及从事物流网络规划、交通系统设计等相关领域的工程技术人员。; 使用场景及目标:①解决物流、航空、通信等网络中的枢纽选址与路径优化问题;②学习并掌握粒子群算法在复杂组合优化问题中的建模与实现方法;③为相关科研项目或实际工程应用提供算法支持与代码参考。; 阅读建议:建议读者结合Matlab代码逐段理解算法实现逻辑,重点关注目标函数建模、粒子编码方式及约束处理策略,并尝试调整参数或拓展模型以加深对算法性能的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值