Scala系列|了不起的Martin Odersky

栏目: Scala · 发布时间: 7年前

内容简介:​本文同步自微信公众号:

​

本文同步自微信公众号: 浮世Talk(ID:fausai_talk)

Scala系列|了不起的Martin Odersky

了不起的人总能做出了不起的事,例如Scala之父Martin Odersky。

Scala系列|了不起的Martin Odersky

1980年,正在慕尼黑大学读本科的Martin第一次接触到编译器便为之痴迷,随即买了一台在当时称得上性能强悍的“便携式“电脑Osborne-1,在随后的日子里,Martin与一位大学好友Peter Sollich终日在一起研究如何为编程语言编写编译器。

他们了解到一门新的编程语言Modula-2,发现该编程语言设计精良,于是便萌生出编写一个适用于8位Z80计算机的Modula-2编译器的想法。带着这个想法,Martin与好友Peter经过不懈努力,在Peter用汇编语言编写的第一个编译器上进行了几个版本的改良后,终于设计出性能相当不错的Modula-2编译器。

当时,成立于1983年的软件开发公司Borland看上了Modula-2市场,并且购买了Martin与好友研发的Modula-2编译器,Peter也随即加入了Borland公司。由于Martin还有一年的学业没完成,并且还计划着继续读研深造,所以推迟了加入Borland公司的时间。

在苏黎世联邦理工学院读研期间,Martin似乎找到了他人生为之奋斗的方向,他发现自己更喜欢研究类型的工作,于是放弃了加入了Borland的念头,继续留在苏黎世攻读博士学位,而他的导师就是那位凭借着“算法+数据结构=程序”公式而获得图灵奖的Pascal之父,颇负盛名的计算机科学家Niklaus Wirth。

在苏黎世读博期间,Martin一直致力于函数式程序设计领域的研究。后来成为德国卡尔斯鲁厄大学的一名教授,与好友Phil Wadler一起进行编程理论方面的研究。1995年的某一天,Martin从Phil的朋友口中得知在大西洋彼岸的加州,有一门叫 Java 的新语言正在Alpha版本阶段。在了解了Java的字节码技术、跨平台运行特点、垃圾回收机制等优势之后,Martin与Phil马上意识到这个Java很可能会颠覆自己的研究,于是,他们开始了新的计划。

Martin与Phil提取了函数式编程的一些特点,如:泛型、高阶函数以及模式匹配,将它们与Java结合。经过努力,他们设计出了一门新的编程语言,命名为Pizza,并于1996年公开发布。事实表明,Pizza是非常成功的,它使得JVM平台与函数式编程语言结合变成现实。

Martin的研究引起了Sun公司核心开发团队人员的关注,很快他们就与Martin取得了联系,并一道合作编写了泛型Java(Generic Java ,简称GJ )。而期间Martin还独立为GJ编写了编译器,Sun公司在对比Java原有的编译器与GJ编译器性能后,决定将GJ编译器作为标准的Javac编译器。2004年,SUN公司发布Java 5,代号为Tiger。这个版本在Java的发展历程中具有里程碑意义 ,而其中最为瞩目的功能就是泛型,这是后话。

在经历了Pizza和GJ设计的Martin对如何让编程语言变得更好,自然是有更多自己的想法,不过现实却时常令他十分沮丧,因为Java具有很强的约束性,使得有某些东西不能往他认为的正确的方向发展,他不得不开始考虑是否有必要从零开始,设计出一个比Java更好的编程语言。

大概2000年前后,正在瑞士洛桑联邦理工大学担任教授的Martin有了一个契机,他拥有一个独立研究的环境,可以组建一个小型研究团队。于是,他带领这个团队基于JVM和Java的类库,设计出一门学术范十足的编程语言Funnel 。不过这门语言看上去十分优雅,却没什么实际可用性。但是经过团队的努力将Funnel与GJ的优势融合之后,他们惊讶的看到距离创造出比Java更加高级的语言已经不远了。

是的,一门崭新的多范式编程语言已呼之欲出,它就是后来人们熟知的Scala。

在2002年的第一场雪前后,Scala拥有了自己的名字。Martin带领团队开始着手Scala的设计,并于2003年正式发布,在2006年经过一次大规模重新设计,此后Scala便开始了稳定高速的发展,到2019年6月已经发布了V2.13。

虽然Scala在各种榜单的排名上不如Java,但是凭借着其纯粹的面向对象特点以及函数式编程的优势,使得它不仅具备了和Java一样的面向对象组织大型工程项目的能力,而且又能在大数据计算领域大放异彩。

Scala依靠着它强大的功能与简洁优雅的语法正在征服着广大的开发者,在开源项目方面有彪炳史册、震铄中外的Spark、Kafka、akka等,更有Twitter 、Linkedin等公司在极力推广,相信Scala的未来将更加激动人心。

了不起的Martin Odersky创造了了不起的Scala。

- THE END -

扩展练习:

如何搭建Scala开发环境?

Scala系列|了不起的Martin Odersky


以上所述就是小编给大家介绍的《Scala系列|了不起的Martin Odersky》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Beginning XSLT 2.0

Beginning XSLT 2.0

Jeni Tennison / Apress / 2005-07-22 / USD 49.99

This is an updated revision of Tennison's "Beginning XSLT", updated for the new revision of the XSLT standard. XSLT is a technology used to transform an XML document with one structure into another ......一起来看看 《Beginning XSLT 2.0》 这本书的介绍吧!

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具