Kotlin 1.4有望获得更快的编译器

Kotlin 1.4的计划是对语言的升级,该计划将于2020年到期,其中包括重新实现编译器以提高执行速度。

JetBrains的Kotlin开发人员认为, Kotlin 1.4的重点应该放在“质量和性能”上,而不是添加“大”功能。 JetBrains承诺,新的编译器实施将“非常快,统一Kotlin支持的所有平台,并提供用于编译器扩展的API。”

[另请参阅: 为什么选择Kotlin? 八种功能可以说服Java开发人员进行切换 。 在InfoWorld上: 什么是Kotlin? Java替代方法进行了解释。 ]

新的编译器实施将是一项多年的工作,只有部分新技术会在Kotlin 1.4中发布。 编译器的具体计划包括:

  • 改进的性能,主要来自新的前端实现。 预计它将比现有的快4.5倍。
  • 用于生成可执行文件的统一后端,其中Kotlin / JVM和Kotlin / JS的内部表示(IR)已迁移到与Kotlin / Native相同的表示。 这将导致共享许多后端逻辑和统一的管道,从而允许对所有目标一次完成大多数功能,优化和错误修复。 默认情况下,新的后端不太可能在Kotlin 1.4中启用。 通用的后端基础结构打开了跨平台编译器扩展的可能性。 定制处理和转换将适用于所有目标。 这些扩展在1.4版中还没有公共API,但JetBrains正在与合作伙伴(包括正在构建插件的JetPack Compose)合作。
  • Kotlin库格式(KLib)被引入为Kotlin多平台的库格式。 序列化的IR包含在KLib文件中。 代码可以将其添加为依赖项,并且编译器后端将选择它并为给定平台生成可执行代码。

通过编译器,JetBrains计划提供新版本的功能,同时仍允许开发人员在一段时间内使用旧版本。 新功能将在试验模式下可用,直到稳定为止,届时它们将成为默认功能。

[ 通过InfoWorld的App Dev Report新闻通讯了解软件开发中的热门话题 ]

除了新的编译器外,Kotlin 1.4还可以提供以下新的语言功能:

  • Kotlin类的SAM(单一抽象方法)转换。 如果将仅具有一个抽象方法的接口或类作为参数传递给参数,则将lambda作为参数传递时,将应用SAM转换。 编译器将lambda转换为实现抽象成员函数的类的实例。
  • 优化的委托属性,这是对lazy属性和其他委托属性的编译方式的改进。
  • 尾随逗号,语法上的微小更改,其中可以在参数列表中的最后一个参数之后放置一个附加逗号。

翻译自: https://www.infoworld.com/article/3489801/kotlin-14-slated-to-get-a-faster-compiler.html

你可能感兴趣的:(Kotlin 1.4有望获得更快的编译器)