Scala系列|了不起的Martin Odersky

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

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

本文同步自微信公众号: 浮世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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

SQL基础教程

SQL基础教程

MICK / 孙淼、罗勇 / 人民邮电出版社 / 2013-8-1 / CNY 69.00

本书介绍了关系数据库以及用来操作关系数据库的SQL语言的使用方法,提供了大量的示例程序和详实的操作步骤说明,读者可以亲自动手解决具体问题,循序渐进地掌握SQL的基础知识和技巧,切实提高自身的编程能力。在每章结尾备有习题,用来检验读者对该章内容的理解程度。另外本书还将重要知识点总结为“法则”,方便大家随时查阅。 本书适合完全没有或者具备较少编程和系统开发经验的初学者,也可以作为大中专院校的教材......一起来看看 《SQL基础教程》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试