現在、J2ME 環境 (CLDC 1.1 構成と IMP-NG プロファイル) 用の組み込みアプリケーションを作成しています。JVM ベースの言語 (Groovy、Scala、Clojure など) のすべての新機能に甘やかされて、自分のコードにそのうちの 1 つを使用することを検討していました。
ただし、言及されている言語のほとんどは、かなりまともな JVM 環境を必要とします。ほとんどのいわゆる「動的」言語では、VM にリフレクションが必要です。多くの人が注釈のサポートを求めています。上記の機能はいずれも J2ME では使用できません。
私が見つけたところによると、Xtendは実行可能なオプションのように見えます。そのコンパイラは、バイトコードではなくプレーンな Java を吐き出し、ランタイムのニーズにライブラリを必要としないからです。もちろん、生成された Java コードもいくつかの要件を満たす必要がありますが、Xtend Web ページはこの点で有望に見えます。
Xtend はクラスを実行するだけで、他には何もしません
Java でのインターフェース定義は、すでに素晴らしく簡潔です。それらは適切なデフォルトの可視性を備えており、他の領域でも改善する必要はほとんどありません. これらのファイルを処理できるすべての知識と優れたツールを考えると、それらを別の方法で定義する理由はありません。列挙型と注釈型にも同じことが当てはまります。
そのため、Xtend はクラスしか実行できず、Java で定義されているインターフェイス、注釈、列挙型に依存しています。Xtend は実際には Java を置き換えるものではなく、最新化するものです。
Xtend で生成されたコードを J2ME プラットフォーム用にコンパイルすることは可能ですか、それともそこで動作しない構造がありますか?
あるいは、J2ME で実行できる「豊富な」Java 修正言語をお勧めできますか?
更新:別のソース コードとして結果を生成する「コンパイラ」がトランスコンパイラと呼ばれることを知っていると、ランタイム ライブラリと特定の Java 機能を必要としないツールであるMirahを見つけることもできます。