Мне кажется, что в какой-то момент я читал, что из-за того, что Android работает на виртуальной машине Dalvik, динамические языки для JVM (Clojure, Jython, JRuby и т. Д.) Будут затруднены для достижения хорошей производительности на Dalvik (и, следовательно, на Android) ). Если я правильно помню, причина была в том, что под капотом для достижения динамической типизации было сделано немало путаницы с байт-кодом java, и что перевод bytecode-> dalvik не подхватит это легко.
Так стоит ли мне избегать динамического языка JVM, если я хочу разрабатывать для Android?
РЕДАКТИРОВАТЬ: Я думаю, я должен был предоставить немного больше контекста. Я подумывал об использовании Clojure для разработки приложений для Android. Я думал об использовании Clojure по нескольким причинам:
Я хочу выучить FP
Меня не очень интересует изучение Java
Кажется, у Clojure есть очень
интересные концепции языка (STM
например).
Однако, когда я пытался писать приложения для Android в Clojure, я обнаружил, что есть проблема с производительностью, которая недопустима. Но я нашел сообщение в блоге, в котором говорилось, что у языков с динамической типизацией (например, Clojure) будут проблемы из-за манипулирования байт-кодом, необходимого для получения динамической типизации. Так что я как бы искал независимое подтверждение, что это правда или нет. Я должен был знать лучше, чем предполагать, что в этом конкретном случае все языки JVM с динамической типизацией могут рассматриваться как одинаковые. Думаю, я задал довольно широкий вопрос, поэтому не удивлюсь, что люди не совсем поняли, о чем я спрашиваю.