2015-12-21 92 views
9

一旦Kotlin 1.0出来了,兼容性政策会是什么?作为用户,我希望Kotlin保持其兼容性,无论是源代码还是二进制文件。和Java一样严重。什么是Kotlin的兼容性策略?

相比之下,斯卡拉是一个坏榜样。未能保持其次要版本之间的二进制兼容性驱使我离开。我相信很多用户因为兼容性问题而离开了Scala。这导致许多库(包括我当时的SBT)无法为整个Scala系列版本提供完整的分发套件。这只是二进制兼容性问题。想象一下,如果源代码兼容性被破坏了。

我决定在我公司的商业项目中使用Kotlin。所以我真的需要确定Kotlin是严重关于保持兼容性,而不是追求美丽。

+0

我很担心这一点,因为我已经看到了很多的语言结构,如“性状”以来的里程碑版本改变。 –

+0

我投这个票 - 不是因为我对答案不感兴趣,或者我不喜欢这个问题。但我认为唯一的权威来源将是Kotlin网页,答案只能从那里引用。鉴于答案也可能随时间变化,在此重复说明并不合理。 –

+2

@MaartenBodewes我不同意。因为Jetbrains正在观看这个标签。在这里问这个问题是合理的。实际上,我之前关于Kotlin的问题大部分都是由Jetbrains家伙提供的。兼容性策略也不会随时间而改变。一旦完成,就完成了。所以我认为最好让大家知道这里。 –

回答

9

Kotlin尚未发布(UPD:now it is)。预计会对语言进行更改(甚至会破坏代码和二进制兼容性的更改)。

随着Beta版本的二进制格式的定稿,所以我们不应该再期待改变(但如果错误必须修复,它们可能仍会发生)。

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

来源:http://blog.jetbrains.com/kotlin/2015/11/the-kotlin-language-1-0-beta-is-here/

+0

您可以在“What's next”部分查看Beta 4这篇博客中的正式策略:http://blog.jetbrains.com/kotlin/2015/12/kotlin-1-0-beta-4 -is-out/...二进制兼容性后1.0是简短的答案。而且1.0很快。 –

+0

来源说“永远”的部分在哪里?例如,我想知道他们是否会破坏Kotlin 2.0中的二进制兼容性(如Scala)。 – lyomi

+1

只要注意[此评论](https://blog.jetbrains.com/kotlin/2015/12/kotlin-1-0-beta-4-is-out/#comment-41068),说破坏变化(如果有)会发生得非常缓慢。 – lyomi