【发布时间】:2012-05-08 20:11:14
【问题描述】:
我目前正在为 J2ME 环境(CLDC 1.1 配置和 IMP-NG 配置文件)编写一个嵌入式应用程序。被基于 JVM 的语言(Groovy、Scala、Clojure 等等)的所有这些新特性宠坏了,我正在考虑将其中一个用于我的代码。
但是,大多数提到的语言都需要相当不错的 JVM 环境。大多数所谓的“动态”语言都要求 VM 具有反射功能。许多人要求注释支持。以上功能在 J2ME 下均不可用。
根据我的发现,Xtend 看起来是一个可行的选择,因为它的编译器会输出纯 Java,而不是字节码,并且不需要任何库来满足运行时需求。当然,生成的 Java 代码也必须满足一些要求,但 Xtend 网页在这方面看起来很有希望:
Xtend 只做课程而不做其他事情
Java 中的接口定义已经非常简洁明了。他们有一个不错的默认可见性,而且在其他领域也几乎没有什么可以改进的。鉴于能够处理这些文件的所有知识和强大的工具,没有理由以不同的方式定义它们。这同样适用于枚举和注释类型。
这就是为什么 Xtend 只能做类并依赖于 Java 中定义的接口、注释和枚举。 Xtend 并不是要取代 Java,而是要对其进行现代化改造。
我说得对吗,是否可以为 J2ME 平台编译 Xtend 生成的代码,或者有些构造在那里不起作用?
另外,您能否推荐任何其他可以在 J2ME 上运行的“丰富的”Java 修改语言?
更新:知道产生结果作为另一个源代码的“编译器”称为transcompiler,还可以找到Mirah,一个不需要运行时库的工具和特定的 Java 功能。
【问题讨论】:
标签: java-me jvm-languages xtend mirah