没有语言运行时的基于JVM的语言

Mar*_*rko 8 android jvm runtime mirah

有没有人知道一些替代的JVM语言,但它可能是模糊的,它可以编译成普通的旧java字节码,而不需要语言运行时.

我需要这个,以便尝试开发Android应用程序,而无需启动或大小惩罚.Scala,Clojure和Groovy都需要与应用程序一起分发自己的运行时库,因此它们超出了本问题的范围.

声称能够实现这一目标的唯一一种语言是Charles Nutter的Mirah,但我不能让它在Windows上工作.

编辑:为了澄清一点,我知道任何语言都必须有运行时库.显然,我正在寻找的是一种除了JRE之外不需要额外运行时的语言,或者至少非常有限的语言.

soc*_*soc 6

没有我能想到的(也许Mirah,这是实验性的,我想至少需要一些额外的课程).每种语言都需要运行时来完成您要执行的任务.

唯一的区别是您的设备上已有多少可用的类.如果您开发Java并且只使用设备上已有的库,那么您的应用程序将非常小.

虽然它可能不是解决您问题的最佳方法,但您是否考虑过使用ProGuard?ProGuard可以删除特定程序中未使用的运行时部分.

如果速度和时间非常关键,另一种方法是使用NDK(C/C++).

  • FYI Mirah是JVM上的编译语言,可以生成`.class`文件或`.java`文件.它不需要单独的解释器或运行时,并且目前没有标准库,因此它与Java一样快 - 就像Scala一样快. (6认同)