Scala创作者Martin Odersky的访谈— Scala的当前状态

Martin Odersky在2001年设计了Scala。现在,版本2.12正在开发中,而版本3.0指日可待。 甚至Java的创建者James Gosling都曾说过,如果他选择“今天使用的语言不是Java,那就是Scala”。 我们与Scala的创建者讨论了该编程语言的当前状态,以及对2.12版及更高版本的期望。

贾克森特(JAXenter):在Scala的工作开始于洛桑联邦理工学院(EPFL)以来,已有15年的历史。 如果我们回顾一下十年前的Scala外观,您会不禁怀疑:Scala的原始概念和设计与该编程语言的当前状态之间有什么区别?

马丁·奥德斯基(Martin Odersky): Scala旨在表明将功能性编程和面向对象编程融合在一起是可行且实用的。 那仍然是它的主要角色。 所发生的变化是,在FP问世之初,它就被视为学术领域。 因此,很难以主流语言来证明需要FP的理由。 XML文字被作为特定的用例添加到了语言中,因为我们知道传统的OO技术很难处理XML树。 如今,潮流已经转变。 函数式编程已经变得受人尊敬,在某些领域甚至是主流,并且有时很难为良好的面向对象设计辩护。

就语言功能而言,我认为最大的发展就是我们对隐式参数搜索所做的改进。 隐式从某种临时特性演变为大多数Scala库的基石。 我相信它们将来会变得越来越重要。

JAXenter:您认为,此编程语言最重要的技术里程碑是什么?

Martin Odersky:无疑,最重要的步骤是Scala 2.8,它于2010年问世。有了2.8,我们第一次有了统一的集合库,用于隐式解析的精细规则和类型推断。 之后,Scala 2.10也是一大进步,因为它在Scala中引入了元编程。

Scala的设计旨在表明将功能和面向对象的程序进行融合是可行且实用的。

JAXenter:在语言的传播方面是否还有里程碑? Scala周围的社区已经形成了相当快速且重要的项目,公司也很快采用了它。 是什么导致这种语言的扩展?

马丁·奥德斯基(Martin Odersky):在过去的八年中,采用率总体上呈稳定增长态势 ,但仍然有一些驱动因素导致某些领域的快速采用。 第一个飞跃是Twitter和其他新的网络公司从2008年开始采用Scala。第二个飞跃是React式编程的广泛采用,尤其是在2011年左右开始广泛采用Akka和Play。第三个飞跃是Scala在Spark,Kafka和许多其他框架驱动的快速数据场景以及数据科学。

JAXenter:围绕Scala形成了整个堆栈; 它由Akka,Play,Lagom,Apache Spark等组成。 这个堆栈以及所谓的React式编程范例在Scala社区,尤其是Lightbend中扮演什么角色?

Martin Odersky:开发和支持此技术堆栈是Lightbend的核心。 堆栈涵盖了从Web框架到大数据后端的所有内容,并特别强调了分布式方案中的React式编程和微服务。 那就是这些技术非常成功的地方。 Scala社区的很大一部分都使用此堆栈,但是当然也有许多其他框架可供选择。

无疑,最重要的步骤是Scala 2.8。

JAXenter:目前,Scala 2.12正在开发中。 此版本的全部内容是什么?

Martin Odersky: 2.12的主要目的是优化Scala以在Java 8上使用。Java 8引入了lambda和接口的默认方法。 两者都对简化Scala代码生成和减小代码大小非常有用。

JAXenter:Scala的下一个主要版本(3.0)即将到来。 您能否为我们提供一些等待我们的技术创新的见解?

马丁·奥德斯基(Martin Odersky):现在谈论这一点还为时过早。 下一个主要版本将是Scala 2.13,它将专注于一些核心库的现代化和模块化。

JAXenter:Scala 3.0是否会与2.x开发线大相径庭,因为主要版本通常会出现这种情况,还是2.x的自然演变?

马丁·奥德斯基(Martin Odersky): Scala在过去五年中一直很稳定。 我们希望当Scala 3.0出现时,我们将拥有必要的技术来进行更大的更改而不会造成太大干扰。 一方面,我们正在开发复杂的重写工具,使代码可以发展到新的标准。 我们还计划使用TASTY(一种平台无关的交换格式),以通过针对特定平台和版本的自动代码适应来避免二进制兼容性问题。

2.12的主要目的是优化Scala以在Java 8上使用。

JAXenter:Scala 3.0已经有发布路线图了吗?

马丁·奥德斯基(Martin Odersky):不,还没有。 在确定何时发货之前,我们希望在确定要发货的商品时保持一定的灵活性。

JAXenter:Scala被明确设计为一种语言,应在研究中采用,但也应具有工业用途。 工业与研究之间的差距真的那么大吗? 关于开发人员/建筑师的工作与大学教授的课程无关的事实,一直存在批评。

马丁·奥德斯基(Martin Odersky):我不能代表其他大学。 但是我发现,我们在EPFL的学生可以毫无疑问地找到有趣的作品,使他们可以运用他们在学习中所学到的知识。 Scala拥有健康的就业市场,因此肯定会有所帮助。

还请参见: 使用Scala之后有关Java的10个最烦人的事情

贾克森特(JAXenter):在当今的主流语言中,哪些研究领域仍未得到充分考虑?

Martin Odersky:函数式编程正赶上行业。 我认为下一个重大发展将是改进类型系统,以描述程序的更加精确的属性。 已经对此进行了一段时间的研究,并且需要更多的进展才能使其真正可行。 但我预测,这一发展目标将在未来加速。

非常感谢你!

翻译自: https://jaxenter.com/current-state-scala-odersky-interview-129495.html/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值