当我们阅读Kotlin编程语言的维基百科描述时,它表明:
JetBrains领导人Dmitry Jemerov表示,除了Scala之外,大多数语言都没有他们想要的功能.但是,他认为Scala的编译时间很慢是一个明显的缺陷.[4] Kotlin的既定目标之一是尽可能快地编译Java.
他们是如何实现这一目标的?为什么Scala编译时间太慢以至于Kotlin创作者无法接受?或者 - 换句话说 - Scala编译器的哪些功能使它比Kotlin编译器慢?
0__*_*0__ 26
虽然我认为这个问题不适合Stack Overflow,因为它倾向于主要产生基于意见的答案,但这里有一个尝试:你有两种不同的语言,特别是关于类型系统,以及两个完全独立的编译器实现.所以期望它们具有"相同"的编译速度已经是一种谬论.我在评论中链接了另一个检查Scala编译器速度的问题.基本上,它取决于许多因素,例如类型推断器的工作量和特定代码库所需的隐式解析.
然而,我运行了一个非常快速的例子:我在Kotlin和Scala中编译了一些Project Euler解决方案.这让我对整个项目进行了新的重新编译:
源代码的来源:
object pXY extends App { ... }在一个包中euler.然后我删除了只存在一个解决方案的文件,最终导致了26个问题.这两个项目都是使用IntelliJ IDEA 15 CE编译的Rebuild Project.
为了对这个业务提供另一个视角,我wc对来源进行了计算(字数统计):
// lines words bytes
931 3603 33087 total // Kotlin
261 1166 6472 total // Scala
Run Code Online (Sandbox Code Playgroud)
所以现在你可以争辩说Kotlin编译器需要处理"更多源代码"或者Scala代码"更密集":)
| 归档时间: |
|
| 查看次数: |
2322 次 |
| 最近记录: |