Android が Dalvik VM で実行されているため、JVM 用の動的言語 (Clojure、Jython、JRuby など) は Dalvik (したがって Android) で良好なパフォーマンスを得るのが難しいと、ある時点で読んだことがあると思います。私の記憶が正しければ、その理由は、動的型付けを実現するために、内部で Java バイトコードをいじるのにかなりの手間がかかり、バイトコードから dalvik への変換ではこれを簡単に検出できないということでした。
では、Android 向けに開発したい場合、動的 JVM 言語を避けるべきでしょうか?
編集:もう少しコンテキストを提供する必要があったと思います。Clojure を使用して Android 向けのアプリを開発することを検討していました。Clojure を使用することを考えていた理由はいくつかあります。
FPを学びたい
私はJavaを学ぶことにあまり興味がありません
Clojure には、非常に興味深い言語概念がいくつかあるようです (たとえば、STM)。
しかし、Clojure で Android 用のアプリを作成しようとすると、容認できないパフォーマンスの問題があることがわかりました。しかし、動的型付けを取得するために必要なバイトコード操作が原因で、動的型付け言語 (Clojure など) に問題があるというブログ投稿を見つけました。だから私は、これが真実かそうでないかの独立した確認を探していました. この特定の問題では、動的に型指定されたすべての JVM 言語を同じものとして扱うことができると仮定するよりも、私はよく知っていたはずです。私はかなり幅広い質問をしたと思うので、人々が私が尋ねていることをよく理解していなくても驚かないでください.