【发布时间】:2010-11-01 16:24:36
【问题描述】:
我相信我在某些时候读到,由于 Android 在 Dalvik VM 上运行,JVM 的动态语言(Clojure、Jython、JRuby 等)很难在 Dalvik 上(因此在 Android 上)获得良好的性能)。如果我没记错的话,原因是在幕后,为了实现动态类型,对 java 字节码进行了相当多的摆弄,而字节码->dalvik 翻译不会轻易接受这一点。
如果我想为 Android 开发,我应该避免使用动态 JVM 语言吗?
编辑:我想我应该提供更多的上下文。我正在考虑使用 Clojure 为 Android 开发应用程序。我考虑使用 Clojure 有几个原因:
我想学FP
我真的不想学 Java
Clojure 好像有一些很 有趣的语言概念(STM 例如)。
但是,当我尝试在 Clojure 中为 Android 编写应用程序时,我发现存在无法接受的性能问题。但我发现一篇博客文章说动态类型语言(例如 Clojure)会因为获取动态类型所需的字节码操作而出现问题。所以我在寻找独立的确认,这是真的还是不是。我应该知道,在这个特定问题中,所有动态类型的 JVM 语言都可以被视为相同的假设。我想我确实问了一个相当广泛的问题,所以我想我不应该对人们不太明白我在问什么感到惊讶。
【问题讨论】:
标签: android dynamic clojure jvm