对 Kotlin 的期待 关于 Kotlin 未来功能的调查结果

今日,Kotlin 在其官方博客发表了一篇关于其未来功能调查结果的报告,这份调查于 4 月份开始。下面简要介绍一下报告中的内容。

官方表示,因为最近发生了很多激动人心的事,所以不得不推迟发表关于 Kotlin 未来功能的调查结果,并对此感到十分抱歉。不过迟到总比不到好,这篇博客总结了从调查中学到的内容。

关于未来功能的调查在四月份已经开始了,总共收到了 850 份的回复。

  • 调查结果
  • 调查的原始数据(匿名)可在这里获取。
  • 调查的问题是:
  • 最期待的功能1,最期待的功能2,最期待的功能3
  • 写出一个希望禁用的功能(可选)
  • 点此查看用户建议的功能的列表。

总共收到了 852 份回复(其中有几份是空白的)。大多数人都填写了三个最期待的功能,有 300 多人没填写希望禁用的功能。

下面是所有调查结果的摘要图表:


对 Kotlin 的期待 关于 Kotlin 未来功能的调查结果

可以看到,用户最期待的功能是“Collection literals”,“SAM conversions for Kotlin interfaces”(Kotlin 接口的 SAM 转换) 和 “Truly immutable data”(真正不可变的数据)。

“Private members accessible from tests”似乎是最具争议的功能:108 人同意,120 人反对。不过这也是可以理解的,因为基于可测试性考虑的设计通常被广泛认为是一个好的做法。

但“Overloadable operators | and &”的争议有点让人困惑:46 人同意,50 人反对。Andrey Breslav 表示他不觉得这项功能有什么坏处。

下面是不受欢迎的功能图表:


对 Kotlin 的期待 关于 Kotlin 未来功能的调查结果

奇怪的是,这与在 Kotlin 1.1 Launch Event 中进行的调查结果截然不同:


对 Kotlin 的期待 关于 Kotlin 未来功能的调查结果

导致结果不同可能是受到先前的投票和事实的影响,不过这很难确定,也有可能是其他的因素,例如线下活动中的受访者可能和在线调查的受访者有些不一样。

结论

可以看到,用户最期待的功能是:

  • Collection literals
  • SAM conversions for Kotlin interfaces
  • Truly immutable data

其余的功能得到的支持较少。Truly immutable data 确实是值得期待的,不过目前看来也真的很难实现,所以官方也没在这给大家承诺。另外两个功能在可预见的将来似乎比较容易实现,multi-catch 看起来似乎也是一个不错的功能。无论如何,官方表示在规划工作的时候都会考虑到本次的调查结果。

免责声明:如上面所提到的,文章没有承诺在特定的时间范围内完成其中的任何功能。虽然我们关心用户需要什么,但不能预先提供任何东西。一方面,我们确定这些功能是否可以实际(且优雅)适合用于该语言之前,需要进行重要的设计工作。

本文的作者 Andrey Breslav,是 Kotlin 的首席语言设计师。

本文来自开源中国社区 [http://www.oschina.net]