http://www.ox-holdings.com

Tiobe公布了最新一期编程语言排行榜,Joe Armstrong出生于英国伯恩茅斯

摘要2019年4月20日,Erlang语言的设计者Joe Armstrong去世,享年68岁。Erlang Solutions、Erlang Factories的创始人Francesco Cesarini昨晚在Twitter上分享了这一消息。他说:虽然他已经不在了,但他的工作所打下的基础,对未来几代人都有用。1950年12月27日,Armstrong生于英国伯恩茅斯(Bournemouth),17岁开始用Fortran语言在学校的大型机上编程。据说,在伦敦大学学院读物理系的Armstrong,大学时还会为同学debug换啤酒……1986年,Armstrong和Robert Virding、Mike Williams在电信公司爱立信共同创造了面向并发的编程语言Erlang,这一语言起初作为爱立信的专属语言,1998年开源。Armstrong曾经一句话概括Erlang的优点:一次编写,永远运行。它不仅能像Java一样,一经编译随处可运行,甚至支持在代码不中断的情况下更新。2003年,他在斯德哥尔摩的瑞典皇家理工学院(KTH)获得计算机科学博士学位时,学位论文就与Erlang相关,题为“Making reliable distributed systems in the presence of software errors”。缅怀他最好的方式,大概莫过于读完这份博士论文: Erlang: Software for a Concurrent World。2013年,这本书出了第二版。一年后,也就是2014年,Armstrong成为KTH教授。今天,国内外很多程序员都在缅怀Armstrong。CSDN和图灵公司总编刘江说:他对编程语言和程序员社区的影响,肯定还会持续下去。他说过,“一件事情如果过于复杂,那么一定是哪里出问题了 —— 大部分情况下是对问题的理解出现偏差” ,送给大家共勉。RIP Joe,这些受你启发激励的人,都在感谢你。

对于编程语言,Armstrong认为编程语言必须简单好用,才能便于开发者去学。

△Joe Armstrong 的最后一条推特

在Erlang出生之前,软件行业中没有一款编程语言包容电信行业所需要的所有的特性。为了下一代电信产品的研发,在20世纪80年代中期,爱立信 的计算机科学实验室接到为下一代电信产品寻找合适语言的任务。Joe Armstrong、Robert Virding和Mike Williams在Bjarne Dcker的带领下,他们两年里尝试了所有的开发语言。在测试的过程中,实验室发现尽管有一些语言在某些方面符合电信行业的要求,但都无法覆盖所有的特 性。看来很有必要创造一门编程语言来满足需求。

2016年11月18日-20日,由CSDN重磅打造的年终技术盛会,SDCC 2016中国软件开发者大会将在北京举行,大会面向国内外的中高端技术人员,聚焦最前沿技术及一线的实践经验,从而助力企业的技术升级和改造、全面提升技术人员的综合实力。本次大会非常有幸地邀请到了Erlang最初的设计者和实现者Joe Armstrong来华,出席SDCC 2016·北京站的Keynote并带来精彩的主题分享,他也是Erlang OTP系统项目的首席架构师。他拥有瑞典皇家理工学院博士学位,是容错系统开发领域的世界级专家。此外,他还在开发旨在替代XML的标记语言ML9。现任职于爱立信公司。Joe Armstrong最广为人知的是他发明了Erlang编程语言,并且创建了用于构建Erlang应用程序的框架——开放电信平台。在现代语言的版图中,Erlang有点另类。同很多流行的语言相比,它既老又新。早在1986年,也就是Perl出现的前一年,Armstrong就已经开始了Erlang的工作,当时它只作为商用产品出售并且主要在爱立信公司内部使用。这种情况直到1998年Erlang作为开源项目发布后才发生变化,那时Java和Ruby已经问世3年了。Erlang并非起源于Algol系列中的某个成员,而是源于逻辑编程语言Prolog。当时Erlang设计初衷也相当明确,它针对的软件是类似于电话交换机那样的高可用性、高可靠性系统。但是几乎在不经意间,Erlang适合于构建电话交换机的那些特征也让它非常适合于编写并发软件,当程序员们开始努力应对多核系统未来的发展趋势时,并发性引起了他们的注意。Armstrong本人也有点另类。他起初是一名物理工作者,在攻读物理学博士学位时因为用完积蓄而转向了计算机科学,找到一份研究员的工作,为英国人工智能领域奠基人之一的Donald Michie工作。在Michie的实验室,Armstrong接触了人工智能领域各个方面的杰作,成为英国机器人学会的创始成员并撰写了一些有关机器人视觉的论文。由于Lighthill所做的那份非常有名的调查报告 ,人工智能的资金来源枯竭,Armstrong又回到了物理学领域,从事了5年多与物理学编程相关的工作。开始时他在欧洲非相干散射科学协会工作,后来又到了瑞典空间研究中心,最后加入了爱立信计算机科学实验室,Erlang就是在那里发明的。如果你想要获知他更多的情况,翻翻这本书吧编程人生 (豆瓣)。顺便八卦一下Erlang。Erlang这们语言最牛的地方就是强大的并行处理能力和容错机制。Armstrong的博客有篇浅显易懂的文章介绍Erlang背后的思想。值得一读。文章标题也很骠悍:“Concurrency Is Easy”。端的豪气万丈。简单说,Erlang能够创建和管理大量的进程。那些进程在不同的操作系统上有同样的行为,可以被垃圾回收,对运行地点透明,不会破坏其它进程的运行。任意两个进程间完全独立,不共享任何状态,一切交流通过消息来传递,当然也就无需上锁。这样的设计思想造就了适合解决如下问题的Erlang:系统高度并发 - 支持几十万个并行行为实时处理计算高度分布系统要求高度可靠:每年的脱机时间以分钟算,甚至永不当机系统高度复杂:代码量以百万行计持续操作:以年计系统要求持续在线更新。 而要做到这些,需要:并发 进程错误隔离 隔离进程错误侦查 发现什么东西当掉了错误诊断 为什么当掉在线代码更新 持续进化的系统(同时运行多个版本)稳定存储 崩溃恢复 系统彻底独立,遵循所谓的无共享语义是系统稳定和高并发的关键。至于句法么,可以到上去看指南。引用注:文章大多数内容整理自网络,感谢图灵和人民邮电出版社的授权。

当程序员们开始努力应对多核系统未来的发展趋势时,并发性引起了他们的注意。而Erlang正是拥有强大的并行处理能力和容错机制,并成就了可靠性达到99.9999999%的目前世界上最复杂的 ATM 交换机。

4月20日,Erlang 语言设计者 Joe Armstrong 去世,享年 68 岁。

Erlang到底能做什么?

图片 1

在念本科时,Armstrong有件趣事:他那时已特别喜欢编程和善于调试程序。如果别人程序出了问题,他就会以一杯、两杯、三杯啤酒的“收费”去帮助同学调试程序。

(文/开源中国)    

并发是Erlang成功的根本。Erlang不提供共享内存的线程,而是每个Erlang进程都在它自己的内存空间里执行,并拥有它自己的堆和栈。 进程之间不能随意相互干扰,而这在线程模型中很容易发生,从而极易导致死锁和其他可怕的事情

Francesco怀念道:“尽管他不在了,但他的工作已经打下的基础,将对未来几代人都有用的。”

图片 2
Photo by Brian Troutwine

Erlang是一种声明性的语言。声明性语言工作的原则是去描述应该计算什么,而不是去解释这个值是如何计算而来的。一个函数定义就像一组等式,尤其是当使用模式匹配从不同的情况中去选择和从复杂的数据结构中抽取组件的时候。下面是一个简单的例子:

后来他发现程序员在疲惫的时候编写的程序都是垃圾,第二天就要把它们废弃掉。他认为真正好的代码是程序员完全进入状态的时候编写,人甚至没有在考虑程序,只是很放松地坐在那里,输入代码,这样的代码会很不错。

Erlang Solutions 创始人 Francesco Cesarini 在推特发布了这则消息,并说道:“虽然他(Joe Armstrong)已经离世,但他的工作为未来几代人奠定了基础。”

图片 3

以下是本期第51-100的语言排名

并在2003 年,Armstrong获得瑞典皇家工学院(KTH)的计算机科学博士学位,发表的博士论文《Making reliable distributed systems in the presence of software errors》对研究并发有不菲的参考价值。

Erlang 是一门相对小众的编程语言,这一点与 Lisp 很像 —— 小众但影响很大。Joe Armstrong 曾用一句话概括过 Erlang 的优点:一次编写,永远运行。

从此Erlang诞生了,它受到了函数语言(比如ML和Miranda),并发语言(比如ADA、Modula、Chill)以及逻辑编程语言 Prolog语言的启发和影响。与爱立信专有语言EriPascal和PLEX一样,Smalltalk语言的软件升级特性在Erlang中也得到了深刻 的体现。

后来政府削减了对人工智能的研究经费,Armstrong又回到了物理学领域,从事5年多与物理学编程相关的工作。开始时他在欧洲非相干散射科学协会(EISCAT)工作,后来又到了瑞典空间研究中心工作,协助开发应用程序系统。最后Armstrong加入爱立信计算机科学实验室,在那发明Erlang,成为容错系统开发领域的世界级专家。

图片 4

2012年5月9日,Tiobe公布了最新一期编程语言排行榜。C语言继续压制Java位居第一,两者之间的差距有越拉越大的趋势。而 Object-C上升势头良好,已经开始威胁C++的老三位置。本期排行榜给我们一个问题,谁会是下一个最受欢迎的编程语言?Tiobe给出5个答案,分 别是Scala、F#、Groovy、Erlang和Clojure。今天我们要关注的,是从爱立信计算机科学实验室走出来的Erlang。往期编程语言 排行榜点这里。

郑重声明:本文版权归新匍京a奥门-最全网站手机版app官方下载所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。