Kotlin 1.4发布以提高性能

发布于:2020-12-24 16:05:39

0

139

0

Kotlin 后端 性能 JetBrains

上周,JetBrains向编程社区发布了Kotlin 1.4。 该更新增加了一些新的语言功能,但也将重点放在改善生活质量和性能上,特别是与JetBrains自己的IntelliJ IDEA IDE结合使用时。

Kotlin是一种最著名的编程语言,即“无疣的Java”。 它既可以编译为Java字节码和本机代码,也可以编译为JavaScript。 三年来,它一直是我们最受欢迎的五种语言之一,这在一定程度上要归功于Android开发采用了Kotlin优先方法,因此在今年的调查中,它已成为最受欢迎的第13种语言。 Java仍然更受欢迎并且正在积极开发中,但是Kotlin游击队的人们对此表示赞赏。

那么用户可以从这个新版本中得到什么呢? 继续阅读。

性能提升

此版本的主要重点是全面提高性能。 Jetbrains(和其他贡献者)修复了60多个与性能相关的问题。 其中包括许多IDE错误,这些错误会减慢速度,导致内存泄漏和冻结。 自动完成结果现在可以更快地浮出水面,这是使用IDE公司创建的编程语言的好处之一。

对于性能下降,没有什么比编译器更好。 大量的编译时间消耗了开发人员的生产力,因此此发行版包含一个全新的编译器。 Kotlin代码应该可以更快地编译到任何受支持的目标平台。 此外,他们添加了一个API,该API允许将来扩展到编译器。

功能接口

以前仅在使用Java编写接口时才支持单抽象方法(SAM)接口(即功能接口)。 尽管Kotlin可与Java库互操作,但这可能会导致复杂化,您必须使用Java编写接口并使用Kotlin编写实现。 随着lambda表达式的相关性日益增加,这变得越来越繁重,并且与Kotlin保持简洁并提高开发人员满意度的理念不符。

使用Kotlin现在直接支持的SAM接口,您可以自动将与SAM接口匹配的lambda表达式转换为实现该接口的类的实例,而无需手动编写实现类。

显式API模式

与编写应用程序的开发人员相比,图书馆作者还有一个额外的麻烦:可见性。 他们需要确保任何具有其功能的人以及以该库为依赖项的任何人都可以看到其API方法,并且需要知道任何公开变量的类型。 默认情况下可见,可能意味着开发人员公开了应用程序开发人员从未看到过的内容,而明确隐藏以前可见的内容则意味着破坏了更改。

在显式API模式下,所有方法都必须声明其可见性,并且必须指定所有类型。 这是一个编译器功能,可以作为gradle设置或命令行选项使用,并且可以抛出警告或错误,具体取决于您对API库的态度如何。

语法便利

为了使开发人员的生活更轻松,Kotlin 1.4添加了许多小语言功能,有助于避免被疏忽所致:

  • 在函数中混合命名和位置参数。是否想通过明确提及参数名称来澄清参数?现在,您可以避免出现错误。例如`reformat('This is a String!',uppercaseFirstLetter = false,'-')`以前,您只能按方法中指定的顺序传递值。

  • 尾随逗号。现在,在任何用逗号分隔的值或参数列表中,您都可以在列表末尾添加逗号,而不会引起错误。对于定期编辑并随时间变化的列表很有用。

  • 循环时在未标记的情况下使用`continue`和`break`。这些关键字现在可以按原样使用,而无需使用`@ LOOP`进行标记。

这些新功能会继续Kotlin的增长,还是只是让现有的基础满意?在评论中让我们知道,如果您认为这些添加中的任何一个使Kotlin成为Java的杀手or,或者它们只是在大肆宣传。