阅读更多
2016年11月18日-20日,由CSDN重磅打造的年终技术盛会,SDCC 2016中国软件开发者大会将在北京举行,大会面向国内外的中高端技术人员,聚焦最前沿技术及一线的实践经验,从而助力企业的技术升级和改造、全面提升技术人员的综合实力。



本次大会非常有幸地邀请到了Erlang最初的设计者和实现者Joe Armstrong来华,出席SDCC 2016·北京站的Keynote并带来精彩的主题分享,他也是Erlang OTP系统项目的首席架构师。他拥有瑞典皇家理工学院博士学位,是容错系统开发领域的世界级专家。此外,他还在开发旨在替代XML的标记语言ML9。现任职于爱立信公司。

Joe Armstrong最广为人知的是他发明了Erlang编程语言,并且创建了用于构建Erlang应用程序的框架——开放电信平台(Open Telecom Platform,OTP)。在现代语言的版图中,Erlang有点另类。同很多流行的语言相比,它既老又新。早在1986年,也就是Perl出现的前一年,Armstrong就已经开始了Erlang的工作,当时它只作为商用产品出售并且主要在爱立信公司内部使用。

这种情况直到1998年Erlang作为开源项目发布后才发生变化,那时Java和Ruby已经问世3年了。Erlang并非起源于Algol系列中的某个成员,而是源于逻辑编程语言Prolog。当时Erlang设计初衷也相当明确,它针对的软件是类似于电话交换机那样的高可用性、高可靠性系统。

但是几乎在不经意间,Erlang适合于构建电话交换机的那些特征也让它非常适合于编写并发软件,当程序员们开始努力应对多核系统未来的发展趋势时,并发性引起了他们的注意。

Armstrong本人也有点另类。他起初是一名物理工作者,在攻读物理学博士学位时因为用完积蓄而转向了计算机科学,找到一份研究员的工作,为英国人工智能领域奠基人之一的Donald Michie工作。在Michie的实验室,Armstrong接触了人工智能领域各个方面的杰作,成为英国机器人学会的创始成员并撰写了一些有关机器人视觉的论文。

由于Lighthill所做的那份非常有名的调查报告 ,人工智能的资金来源枯竭,Armstrong又回到了物理学领域,从事了5年多与物理学编程相关的工作。开始时他在欧洲非相干散射科学协会(EISCAT)工作,后来又到了瑞典空间研究中心,最后加入了爱立信计算机科学实验室,Erlang就是在那里发明的。

如果你想要获知他更多的情况,翻翻这本书吧编程人生 (豆瓣)。

顺便八卦一下Erlang。Erlang这们语言最牛的地方就是强大的并行处理能力和容错机制。Armstrong的博客有篇浅显易懂的文章介绍Erlang背后的思想。值得一读。文章标题也很骠悍:“Concurrency Is Easy”。端的豪气万丈。简单说,Erlang能够创建和管理大量的进程(不是操作系统级别的)。那些进程在不同的操作系统上有同样的行为,可以被垃圾回收,对运行地点透明(location transparent),不会破坏其它进程的运行。任意两个进程间完全独立,不共享任何状态,一切交流通过消息来传递,当然也就无需上锁。这样的设计思想造就了适合解决如下问题的Erlang:
  • 系统高度并发 - 支持几十万个并行行为
  • 实时处理
  • 计算高度分布
  • 系统要求高度可靠:每年的脱机时间以分钟算,甚至永不当机
  • 系统高度复杂:代码量以百万行计
  • 持续操作:以年计
  • 系统要求持续在线更新。

  
而要做到这些,需要:

  • 并发 进程
  • 错误隔离 隔离进程
  • 错误侦查 发现什么东西当掉了
  • 错误诊断 为什么当掉
  • 在线代码更新 持续进化的系统(同时运行多个版本)
  • 稳定存储 崩溃恢复

  
系统彻底独立,遵循所谓的无共享语义是系统稳定和高并发的关键。至于句法么,可以到www.erlang.org上去看指南。

引用

注:文章大多数内容整理自网络,感谢图灵和人民邮电出版社的授权。
  • 大小: 24.3 KB
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Erlang之父Joe Armstrong确认出席SDCC 2016中国软件开发者大会,并发表主题演讲

    2016年11月18日-20日,由CSDN重磅打造的年终技术盛会,SDCC 2016中国软件开发者大会将在北京举行,大会面向国内外的中高端技术人员,聚焦最前沿技术及一线的实践经验,从而助力企业的技术升级和改造、全面提升技术...

  • Erlang之父Joe Armstrong去世,他留给程序员两点忠告

    “周末一直在公司加班,正准备关电脑下班时,看到CSDN公众号(csdnnews)推送了Armstrong去世的消息,微博上刘江老师也提及了他11年前引进出版《Erlang...

  • 【SDCC 2016】Erlang之父Joe Armstrong:如何设计高可靠的分布式并行系统

    【CSDN现场报道】2016年11月18日-20日,由CSDN重磅打造的年终技术盛会 —— “2016中国软件开发者大会”(Software Developer Conference China 2016,简称SDCC 2016)在北京京都信苑饭店隆重举行。本届大会云集了...

  • SDCC 2016 中国软件开发者大会盛大开幕

    2016年11月18-20日,由 CSDN打造的“SDCC 2016中国软件开发者大会”(以下简称SDCC 2016),在北京京都信苑饭店盛大开幕。大会为期三天,汇聚100多位国内外顶尖专家和知名讲师,全体大会探讨当下软件开发的“新趋势...

  • Erlang 之父去世,他留给程序员两点忠告

    整理 | 伍杏玲出品 | CSDN(ID:CSDNnews)北京时间 4月20日,据Erlang Solutions、Erlang Factories的创始人France...

  • Erlang之父给程序员的两点忠告 | 缅怀

    整理 | 伍杏玲出品 | CSDN(ID:CSDNnews)北京时间 4月20日,据Erlang Solutions、Erlang Factories的创始人France...

  • Erlang 之父两点忠告:不要在疲惫时写代码、先思考再编程

    Erlang 之父去世,他留给...北京时间 4月20日,据Erlang Solutions、Erlang Factories的创始人Francesco Cesarini的推特称,Erlang之父Joe Armstrong于4月20日去世,享年68岁。 Francesco怀念道:“尽管他不在了,...

  • Erlang之父去世,忠告程序员:先思考再编程,累的时候不要写代码

    作者:黄哲铿《技术管理之巅》作者、技术领导力特约撰稿人Erlang之父Joe Armstrong于4月20日去世,享年68岁。Erlang Solutions、Erlan...

  • 【SDCC 2016】Erlang 编程语言专题:Erlang 在数据链路、分布式系统的落地实践

    【CSDN现场报道】2016年11月18日-20日,由CSDN重磅打造的年终技术盛会 —— “2016中国软件开发者大会”(Software Developer Conference China 2016,简称SDCC 2016)在北京京都信苑饭店隆重举行。本届大会云集了...

  • Erlang之父去世,留给程序员两点忠告!

    北京时间 4月20日,据Erlang Solutions、Erlang Factories的创始人Francesco Cesarini的推特称,Erlang之父Joe A...

  • Python项目-自动办公-56 Word_docx_格式套用.zip

    Python课程设计,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,该项目可以作为毕设、课程设计使用,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

  • 《松鼠》生态性课堂体验教案.docx

    《松鼠》生态性课堂体验教案

  • Java系统源码+智慧图书管理系统

    Java系统源码+智慧图书管理系统 内容概要: 本资源包含了完整的Java前后端源码及说明文档,适用于想要快速搭建并部署Java Web应用程序的开发者、学习者。 技术栈: 后端:Java生态系统,包含Spring Boot、Shiro、MyBatis等,数据库使用Mysql 前端:Vue、Bootstrap、Jquery等 适用场景示例: 1、毕业生希望快速启动一个新的Java Web应用程序。 2、团队寻找一个稳定的模板来加速产品开发周期。 3、教育机构或个人学习者用于教学目的或自学练习。 4、创业公司需要一个可以立即投入使用的MVP(最小可行产品)。

  • 基于ssm+jsp实现的超市管理系统高级版v2-lw.zip

    项目包含前后台完整源码。 项目都经过严格调试,确保可以运行! 具体项目介绍可查看博主文章或私聊获取 助力学习实践,提升编程技能,快来获取这份宝贵的资源吧!

  • 《松鼠》教学方案.docx

    《松鼠》教学方案

  • 基于ssm的计算机课程实验管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    学生角色 学生用户在系统的前台界面可以浏览站内新闻、系统公告等公共的信息,在进行了注册和登录等操作后可以进入个人后台管理界面,对自己的个人信息进行管理,还可以进行实验成绩查看和实验交流等操作。 教师角色 教师用户也可以正常使用本系统的前台功能,但最主要的功能还是在个人后台界面中。在教师的个人后台界面中,首先教师可以管理自己的个人信息,还可以对学生进行实验任务书下达,对学生的实验成果和实验成绩管理等操作。 管理员角色 系统管理员可以管理整个系统的数据,比如可以管理教师和学生的个人资料,对违反了网站及学校实验室规定的同学可以进行删除。除了管理教师和学生的信息外,管理员用户还可以对公告信息及新闻信息等进行管理。 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

  • 毕业设计-0-1背包问题动态规划模型Python代码.rar

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。

  • 基于ssm的大创项目申报管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    管理员 管理员管理 工作人员管理 用户管理 公告信息管理 往届项目管理 工作人员 个人资料修改 公告查看 项目申报信息管理,发布(项目申报信息、要求、时间节点等信息) 项目模板管理 往届项目查询 用户 个人资料修改 公告查看 项目模板下载 项目申报信息查看 我的项目申报 项目申报结果查看 环境说明: 开发语言:Java 框架:ssm,mybatis JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 服务器:tomcat7

  • 福禄寿FloruitShow - 多一个世界 [mqms].ogg

    福禄寿FloruitShow - 多一个世界 [mqms].ogg

Global site tag (gtag.js) - Google Analytics