什么';s Kotlin';s的兼容性策略?

什么';s Kotlin';s的兼容性策略?,kotlin,Kotlin,一旦Kotlin 1.0发布,兼容性策略是什么?作为一个用户,我希望Kotlin能够保持其源代码或二进制代码的兼容性。就像Java一样严肃 相比之下,Scala是一个糟糕的例子。未能在次要版本之间保持二进制兼容性让我感到厌烦。我相信很多用户离开Scala部分是因为它的兼容性问题。这导致许多库(包括我当时的SBT)无法为整个系列的Scala版本提供完整的发行版套件。这只是二进制兼容性问题。想象一下,如果源代码兼容性被破坏 我决定在公司的商业项目中使用Kotlin。因此,我真的需要确定Kotlin在

一旦Kotlin 1.0发布,兼容性策略是什么?作为一个用户,我希望Kotlin能够保持其源代码或二进制代码的兼容性。就像Java一样严肃

相比之下,Scala是一个糟糕的例子。未能在次要版本之间保持二进制兼容性让我感到厌烦。我相信很多用户离开Scala部分是因为它的兼容性问题。这导致许多库(包括我当时的SBT)无法为整个系列的Scala版本提供完整的发行版套件。这只是二进制兼容性问题。想象一下,如果源代码兼容性被破坏

我决定在公司的商业项目中使用Kotlin。因此,我真的需要确定Kotlin在保持兼容性方面是认真的,而不是追求美丽。

Kotlin还没有出局(UPD:)。语言的变化是可以预期的(甚至是破坏代码和二进制兼容性的变化)

随着Beta版的发布,二进制格式已经定稿,因此我们不应该再期望在那里发生更改(但如果必须修复bug,它们仍然可能发生)

在1.0发布后,该语言和二进制格式应该永远向后兼容


来源:

我对此感到担忧,因为我看到很多语言结构,如“trait”,在milestone发布后发生了变化。我投票反对这一点,不是因为我对答案不感兴趣,也不是因为我不喜欢这个问题。然而,我认为唯一权威的来源将是Kotlin的网页,答案只能从那里引用。考虑到答案也可能随着时间的推移而改变,在这里重复没有多大意义。@MaartenBodewes我不同意。因为Jetbrains正在监视这个标签。在这里问这个问题是合理的。事实上,我之前关于科特林的问题大部分都是由Jetbrains的人提出的。此外,兼容性策略不会随着时间的推移而改变。一旦完成,就完成了。所以我认为最好让这里的每个人都知道。这一点很好,尽管答案似乎仍然直接来自Kotlin的网站。让我改变一些事情真的吗?好像我每天都应该看kotlin的博客?谷歌“kotlin兼容性政策”自己,看看第一项是什么。试着在第一页找到博客,然后回到这里说这是一个糟糕的问题。你可以在这篇关于Beta 4的博客文章的“下一步是什么”部分看到官方的策略:。。。二进制兼容性Post1.0是简单的答案。1.0很快就要发布了。消息来源说“永远”的部分在哪里?我想知道他们是否会破坏Kotlin 2.0中的二进制兼容性(比如Scala),只是注意到,破坏性的更改(如果有的话)将非常缓慢。