views:

56

answers:

1

Does anyone know of some alternative JVM language, however obscure it might be, which can compile to plain old java bytecode, without the need of a language runtime.

I need this in order to try to develop android applications without startup or size penalty. Scala, Clojure and Groovy all require its own runtime library distributed with the application, so they are out of the scope of this question.

The only one language which claims to satisfy this goal is Charles Nutter's Mirah, but I couldn't make it to work on windows.

EDIT: To clarify a bit, I know any language has to have runtime library. Obviously, what I am looking for is a language that has no additional runtime required besides JRE, or at least very limited one.

+1  A: 

There is none I can think of (maybe Mirah, which is experimental and will need at least some additional classes I guess). Every language needs a runtime for the task you want to do.

The only difference is how much usable classes are already on your device. If you develop Java and only use the libraries which are already on the device, your application will be quite small.

While it may not be the best approach to your problem, do you have considered using ProGuard? ProGuard can remove parts of a runtime which are not used in your specific program.

Another approach if speed and time is really critical would be going with the NDK (C/C++) instead.

soc
The goal is to avoid Java, but not to pay too big size and performance penalty. Code minimizers like ProGuard can reduce runtime footprint, but can't remove it completely. Also, as much as I would like to avoid Java, I would even more like to avoid C/C++.
Dev er dev
I would use Scala. The size is OK with Proguard, it is not Java and it is as fast as Java (not like JRuby, Mirah, Jython, etc.).
soc
BaroqueBobcat