java中使用kotlin_Kotlin团队AMA亮点:Kotlin与Java,“正在建设中”的功能等等

java中使用kotlin

Kotlin团队最近参加了Reddit AMA ,似乎有很多人参与其中-共有600多条评论,因此我们只讨论其中的一些亮点。

如果您想提供帮助,请在下面的评论部分中分享您的个人亮点。

Kotlin vs. Java:谁领先一步?

参加AMA的一名Redditor询问Kotlin团队是否担心Java最终会使Kotlin变得无关紧要,因为前者正在加强其功能游戏(例如自动类型推断或ValValla项目的通用化泛型)。 Kotlin首席语言设计师Andrey Breslav回答了以下问题:

  • JVM功能可以并且会在出现时自动识别(这适用于Valhalla),因此我们只有在它们出现时才会感到高兴。
  • 如果Java编程语言在各个方面都变得比Kotlin更好,那将真的很酷 ,因为世界将从中受益匪浅。 在此之前,我认为现在取得进展仍然很好。 竞争会使您变得健康。 因此,我认为这是一件积极的事情。

另外,如果有任何一种语言领先于Kotlin,则意味着它首先尝试了某些功能,这对我们只有好处,因为我们可以从他们的经验中学到并希望使功能变得更好(例如,协程式程序就是这种情况) 。

底线:我不关心世界上任何语言所取得的积极进展。 我对此很满意:)

还请参见: Kotlin可以取代Java进行Android开发吗? 新报告说是

另一位Redditor指出Java世界已经发生了很多变化,并认为六个月的节奏将带来很多变化。 Kotlin库团队负责人回答说,尽管他喜欢Java,但是它最大的一些问题是选择不当的默认值,普遍的可变性和可空性问题。

他补充说, 在保持合理程度的向后兼容性的同时 ,将Java转换为“现代语言”可能“几乎是不可能的” 许多年前,Java社区一直在呼吁使用向后不兼容的“ Java 2.0”。 我们终于有了它。 Kotlin是Java 2.0。 Java的未来是Kotlin 。”

Kotlin会变得太复杂吗?

阿比绍夫(Abishov)问车队,他们是否担心Kotlin可能变得过于复杂且随着时间的流逝而膨胀。 安德烈·布雷斯拉夫(Andrey Breslav)解释说,“他们倾向于集中精力添加很少会显着改变体验的功能,而不是增加影响较小的功能。”

基本上,他们正在尽最大努力使该语言保持“精简和现代”。 他还表达了团队的愿望,即“使代码可共享,并且最好以一种语言编写代码。”

“正在建设中”功能

一位Redditor询问用户在将来的版本中应该期待哪些新功能。 根据Breslav的说法,他们目前正在使用的某些功能包括:

  • 改善对多平台编程的语言支持
  • 协程毕业
  • 编写用于IO,套接字,序列化,日期等的通用库
  • 将Kotlin / Native发行(目前是技术预览):适用于iOS和其他平台
  • 为JS库的Kotlin标头设置中央存储库(又名“ DefnitelyKotlin”)
  • 编译器和IDE中的性能改进
  • 生成代码的性能优化
  • Kotlin / JVM和Kotlin / JS中增量编译的改进

还请参见: Kotlin 1.2:跨JVM和JavaScript的多平台项目

可能会影响性能的常见错误:提示与技巧

dgeorge92要求团队分享一些有关如何避免“可能会影响性能而又不会立即对程序员显而易见的常见错误”的技巧。 Kotlin开发倡导者和《 Kotlin in Action》的合著者Svetlana Isakova解释说:“如果没有具体的示例和适当的基准,很难对性能进行推理”,但提供了以下技巧:

  • 了解集合的内联操作和序列的惰性操作之间的区别很重要。 如果您说list.filter {} .map {}操作是内联=>,则会创建一个中间集合,如果该集合很大,这可能是意外的性能缺陷。
  • 语言中没有原始类型,可以是Int或Int?。 但是Int在字节码中仍然是原始int(在大多数情况下),而Int? 是包装类型,因此所有有关原始/包装类型的常规推理都适用于此。
  • 我们的lambda是真正的闭包,这意味着它们可以捕获可变的变量,但是在这种情况下,它的工作方式与您在Java中编写的一样:通过创建其他Ref对象来存储对变量的引用。 而且,不捕获任何变量的lambda更便宜,因为它们在运行时仅使用一个对象来实现。

绝妙的技巧: “显示Kotlin字节码”操作,然后“反编译”按钮。 有助于了解幕后情况。

在此处查看整个AMA。

翻译自: https://jaxenter.com/kotlin-team-ama-highlights-139520.html

java中使用kotlin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值