Язык программирования, отличный от Java, для Android 2.1

Я ищу язык программирования (+ компилятор, очевидно):

  • не Ява;
  • программы должны работать на Android 2.1 («API версии 7»);
  • Открытый исходный код;
  • «более лаконичный, чем Java» - я знаю, что это мягкое требование и несколько субъективное, поэтому скажем, что это необязательно;
    • (также здесь я бы предпочел не брейнфак или что-то подобное «эзотерическое»; но, например, Форт или что-то в этом роде было бы в порядке)
  • должны создавать не слишком большие приложения ("hello world" < 1MB);
  • должен иметь возможность создавать полный графический интерфейс (например, действия и т. д.) без каких-либо Java-заглушек/... - ни одной строки Java;
  • также должен действительно поддерживать многопоточное программирование;
  • должен быть стабильным.

На данный момент я попробовал Kawa ; изначально выглядело очень хорошо, но я, кажется, сталкиваюсь с некоторыми исключениями, я не могу понять, почему; как правило, через некоторое время я чувствую, что для меня слишком много борьбы с компилятором.

[править] Пробовал также Mirah+"Pindah" , но, похоже, он перестал существовать где-то между Java 6 и 7; при создании примера проекта с отладкой rake в Java 6 я получаю сообщение об ошибке: «NameError: невозможно связать класс Java mirah.impl.MirahParser, возможная отсутствующая зависимость: mirah/impl/MirahParser: Unsupported major.minor version 51.0» , а в Java 7 : "taskdef class org.mirah.ant.Compile не найден" .

[править] Согласно одному сообщению в блоге, Scala 2.11, как сообщается, несовместима с Android API 8 и более ранними версиями , поэтому я предполагаю, что могу исключить Scala , даже не пытаясь.

[править] Ожидается исследование для следующего:
HolonJ Forth - похоже, нацелен на JVM 1.2 , так что не уверен, не слишком ли стар;
Схема Bigloo -- но сборки компилятора для Windows, кажется, отстают примерно на 2 года, поэтому мне придется попробовать собрать в MSYS;
...todo: moar из списка Википедии : Цейлон? Радость? Фантом?...

Почему нельзя использовать Java?
Как насчет использования C++ в сочетании с собственным комплектом средств разработки (NDK)?
@ComFreek AFAIK, с NDK я не могу использовать графический интерфейс, и мне приходится писать Java-заглушку для каждого действия, не так ли? Кроме того, я считаю, что API NDK сильно ограничен, не так ли?
@Milo Я не могу заставить себя продолжать работу над определенным проектом, который я начал на Java. Я хочу попробовать завершить его, но мне нужен способ снизить уровень разочарования.
@akavel Похоже, вы действительно ограничены, если не создаете мост к Java. См. stackoverflow.com/questions/10583713/… и codeproject.com/Articles/396538/…

Ответы (2)

Yeti — этофункциональный язык программирования в стиле ML .

  • Я проверил, что он создан и работает на эмуляторе Android 2.1;
  • с открытым исходным кодом, под лицензией BSD ;
  • язык семейства ML, поэтому я ожидаю, что он будет более кратким, чем Java;
  • весь файл Yeti.jar составляет ~570 КБ;
  • может создавать классы Java, расширяющие другие (таким образом, действия Android тоже), поэтому может создавать графический интерфейс Android;
  • пока не знаю про многопоточность.
На данный момент это кажется забавным! И, к моему удивлению, мне хочется по-тихому схитрить на Java... И это уже помогло мне продвинуть приложение вперед, так что справедливо называть Yeti победителем! по крайней мере на данный момент.

Итак, на момент написания статьи (09.2014) Kotlin кажется жизнеспособной альтернативой.