1998-2018,Erlang编程语言开源20周年(2)
在 dot com 恢复期间,不仅仅是大学在进行创新。 2005年5月,发布了 BEAM VM 的多核版本,证明了 Erlang 并发和编程模型是未来多核架构的理想选择。 很多的兴奋点都集中在了 Erlang 的邮件列表上,因为没有多少人意识到免费午餐已经结束了。我们选择了 Ejabberd,只需将其编译为最新版本的 Erlang,在四核机器上运行时的吞吐量增加了 280%。 2007年5月, Erlang 的1991年原始版本被匿名泄露在爱立信保险箱的 VHS 拷贝中,并放在 erlang.org 网站上,最终被放在 YouTube 上。至今仍然没有人公开承担这一行为的责任。 然而,世界终于理解那些依然存在于爱立信 NDA 之下的人们所感受到的,事件中没有一位计算机科学家放弃了他们日常的本职工作......它在 2013 年获得了续篇,让 Erlang 看起来很酷。 这一次,发布它的 curpruit 的人被确定为芝加哥居民 Garrett Smith。 2007年,Joe Armstrong编写的《Erlang编程》由The Pragmatic Programmers出版。第二年,2008年6月,我拿到了《Erlang编程》的第一版纸质复本; 一本由Simon Thompson和我耗时19个月写作而成的书。当时,O'Reilly的书是新兴编程语言所需的入场券,让位于许多其他奇特多样化的书籍。 这本书的发布会与2008年6月在伦敦召开的第一届Erlang eXchange交易会同期举行。这并不是首次,因为爱立信计算机科学实验室的前负责人BjarneDäcker近十年来一直在斯德哥尔摩举行的年度Erlang用户大会。但11月在瑞典很冷,现在是征服世界的时候了。Erlang eXchange让路于在2009年3月Palo Alto(加利福尼亚州)举办的第一届Erlang Factory。更具异国情调,但同样美丽的地方。 欧洲Erlang社区首次与美国同行会面。如你所想象的,我们一见如故。在会上,Tony Arcieri呈现了Reia,这是在BEAM上运行Erlang的Ruby风格版本。谁说过类似Ruby的语法是个糟糕的主意?其他演讲嘉宾和与会者是当年拥有出色职业生涯者,例如企业家和技术领域的领袖。 当时美国的Erlang用户是Tom Preston Werner。他正在使用它来扩展名为Github的共享代码公司的Ruby前端。2009年11月,在斯德哥尔摩参加Erlang用户大会时,我将他和Scott Chacon介绍给了OTP团队。他们一起度过了一个下午,促成了OTP团队将Erlang开发转移到github,使其成为主存储库。 相关会议遍布全球。对应活动已在阿姆斯特丹、班加罗尔、柏林、布宜诺斯艾利斯、布鲁塞尔、芝加哥、中国许多城市、克拉科夫、洛杉矶、巴黎、墨西哥城、米兰、慕尼黑、纽约、罗马、旧金山、圣安德鲁斯、特拉维夫、温哥华、华盛顿特区和许多其他地方举行过。 青少年时期 2010年,我在牛津大学教授我的第一个工业工程硕士课程。 Erlang被选为Concurrency Oriented Programming课程。这也是 Bruce Tate的《七周七中语言》发表的同年。通过这本书,Ruby的核心提交者之一JoséValim遇到了Erlang。他喜爱他所看到的内容,理解Erlang语义和Beam VM的力量。这让他开始思考如何将这种力量带给网络开发者。 2011年1月,Elixir repo中的第一次提交发生了。结果于次年在Krakow Erlang工厂呈现,并于2014年9月完成1.0版。与所有成功的语言一样,他试图解决一个问题,即将Erlang的强大功能带到更广泛的Web开发社区。 时间点是对的。2012年1月,WhatsApp宣布通过修改FreeBSD和BEAM,他们在一个VM和主机上实现了200万个TCP / IP连接。他们的目标是降低运营成本,在尽可能小的硬件占用空间上运行可扩展的服务。这是适用于许多垂直行业的东西,网络就是其中之一。 与WhatsApp公告同月,一组相关公司汇聚了知识、时间和资源,共同创建了工业Erlang用户组。他们与爱立信携手,将Erlang迁移至Apache许可证下,为糟糕的调度程序做贡献,启动错误跟踪工具,资助新的erlang.org站点,启用Erlang Central,并共同努力构建一个基准。 Elixir 时代 2014年7月,Jim Freeze 在奥斯汀(德克萨斯州)举办了第一届 Elixir 会议。共有106名与会者,其中包括主讲人 Dave Thomas 。Chris Mccord 介绍了 Phoenix 浴火重生的始末。Robert Virding 和我也是此阵容的一部分,我清楚地记得我的信息是:仅因你了解 Ruby ,当他们告诉你学习 Elixir 很简单时,不要轻信他们。你需要同时考虑与之对应的挑战。 Elixir 背后的主要思想是并发性,知道如何处理它对项目的成功与否至关重要。一年后,2015年8月,Phoenix 1.0 发布。它与 Rails 在 Ruby 上的效果相同,将人们带入到 Elixir 时代。目前,你不需要掌握并发性就可以获得它!不久之后 Nerves 就出现了,将 Elixir 从单纯的网络中解脱出来。 在 Elixir Conf 上,我谈及了我与 Steve Vinoski 共同创作的书,“使用 Erlang/OTP 的设计可伸缩性”。当时,它正处于 beta 发布阶段。我无法预知的是我必须等到2016年6月才能拿到纸质付印版。最后四章,本来应该独立成书的,最后耗费了我1.5年的时间来撰写。给哪些想写一本书的主要经验教训是,如果你的伴侣告诉你“你将要成为一个父亲”,你会有8个月的时间来完成这本书。另一种选择是你最终像我一样,在你的第二个孩子出生的前几天参加发布会。这本书谨献给 Alison、Peter 以及我们的孩子 bump 。我们的孩子出生于7月初,为 Erlang 带来了真理,类似“在你生下第二个孩子之前,你并不真正了解并发性”。 Erlang 生态系统 整个2016年,Elixir 的普及率不断增长。关于 Lisp Flavored Erlang 和 Effene 的会议 - BEAM 上的另外两种语言 - 揭示了他们的代码已在实际生产中运行。新的实验性移植不断出现在我们的雷达上;语言的时代结束了。与 .net 一样,囊括了 C#、F#、Visual Basic 以及其他语言或包含 Java、Scala、Clojure、Groovy 的 JVM 生态系统类似,仅举几例。Erlang 和 BEAM 也发生了同样的事情,促使 Bruce Tate 将其命名为 Erlang Ecosystem 。 Clojerl,Effene,Elixir,Erlang,Erlog,Erlua,Fez,Joxa,Lisp Flavored Erlang 和 Reia ,与 Erlang 和 Elixir 一起,开启了跨语言交互及协作的时代。我们一起变得更强大,并继续发展! (编辑:ASP站长网) |