Программирование - это не только написание текста программ. Это ещё и преобразование букофф, наколоченных программистом, в рабочий код. В исполняемый файл, в конце концов.
В конце концов, текст программы действительно можно наколотить и на мобиле - хотя делать это в обычном текстовом редакторе, или даже в Ворде, затруднительно (там нет подсветки синтаксиса, заметно облегчающего редактирование текста программ). Но вот дальше начинаются проблемы...
Текст надо преобразовать в код. Для этого служат компиляторы - специальные программы, которые анализируют текст, проверяют его на правильность (на отсутствие ошибок) и, если всё окей, преобразуют в некоторый двоичный файл. Этот файл затем уходит на "сборку", где к нему пришиваются другие куски - как дополнительные блоки программы, которые тоже подготовлены программистом, так и системные блоки, которые поставляются вместе с компилятором (эти блоки отвечают за базовые функции языка - взаимодействие с операционной системой, с аппаратной начинкой, за ввод-вывод и прочие вещи низкого уровня).
И вот ничего этого в мобильных ОС нету.
Все, абсолютно все компиляторы крутятся на нормальных компьютерах. Это на них, на нормальных, идёт и набивка текста, и компиляция, и отладка программ, и их линковка (сборка) в исполняемый файл. И даже проверка того, что сочинённая программа делает именно то, что от неё хотелось получить, делается поначалу на десктопе с специальной программной среде, эмулирующей мобильную ОС. И только когда на большом компьютере всё отлажено насколько возможно, файл переносится на мобилу, и опять проверяется его работоспособность.
<hr />
Однако не всё так мрачно. Компиляторы - не единственный тип инструмента преобразования текста в исполняемый код. Есть ещё один инструмент: интерпретатор. В интерпретаторе текст программы анализируется построчно или даже пооператорно, и каждый оператор, если он записан верно, тут же исполняется. Типичный пример интерпретатора - Basic (Бейсик), и вот Бейсик для мобильных ОС таки да, есть.
Ещё один язык, который тоже есть на мобильных платформах, - Java. Это "лингва франка" компьютерного мира - в том смысле, что трансляторы этого языка (трансляция - это более общий подход к преобразованию текст - исполняемый код, чем интерпретация) существуют практически для всех платформ, и Java-код понимается ими всеми одинаково.
Но штука вот в чём. Интерпретаторы дают намного более медленный исполняемую программу, чем компиляторы. При интерпретации кода каждый раз надо преобразовать текстовую команду в двоичный код в ходе выполнения программы. Поэтому если, например, имеется какой-то цикл из тысячи одинаковых операций, то это преобразования (разобраться, что у нас тут цикл for, разобраться, что за переменная должна быть счётчиком, разобраться, что же надо делать на каждом шаге...) делается каждый раз заново. Тысяча шагов в цикле - значит, тысячу раз надо проделать все эти операции. Тогда как при компиляции это проделывается один-единственный раз, на этапе генерации кода, и потом, при исполнении программы, процессор выполняет уже готовый код.
Поэтому программы на С, или С++, или аналогичном языке куда быстрее, чем программы на Visual Basic, Java или подобных.
И годится ли медленный и печальный интерпретатор для создания игр - большой вопрос...
По счастью, для некоторых интерпретаторов есть опция после отладки получить готовый исполняемый файл в двоичном коде, то есть в них заложена функция компиляции.
Но это уже отдельная история, для изучения которой лучше потусоваться на специальных форумах, а до того почитать специальные книжки. Иначе на форумах никто разговаривать не станет...