Я бы лучше отказался от лишнего и использовал пару языков. Переключение действительно неоправданно затратно. Но, если необходимо, привык держать перед глазами CheatSheet.pdf по конкретному языку.
Программирование может символизировать - Зебра. да да именно зебра. А все потому что основой программирования служит двоичный код 0 и 1, а зебра она как бы тоже состоит из 2х полос черной и белой,так что мое мнение зебра как никак подходит на все 100% и у меня ассоциации именно с этим животным.(простите за мой бред если что).
С установки эмулятора для проверки приложений. При тестировании на реальной системе можно по неопытности или недостатку пока знаний нарушить работу iOS.
Именно по программированию можно взять лёгкий курс, что-нибудь типа "16 уроков с нуля", а параллельно почитать про архитектуру системы и какую-нибудь методичку для первого курса любого программистского вуза, по любому языку, не ради кода. Там обычно вкратце будут описаны и приведены примеры работы нужных при эффективном программировании алгоритмов. Алгоритмы быстрого поиска и сортировки, аппроксимация функций и т.д.
Рекуррентность - это свойство повторяемости. Вообще это термин скорее из психологии, но применяется в математике - рекуррентная формула - это такая, очередной член которой вычисляется из предыдущих. Например факториал, числа Фибоначчи и т.п. Но если мы будем писать программу, производящую вычисления по рекуррентной формуле - получим рекурсивную функцию. Таким образом рекурсия и рекуррентность и связаны.
По теме рекурсии советую почитать статью: "Рекурсия в программировании. Анализ алгоритмов"
Смотря еще под какую систему то ли это будет андройд, ios, айфон то ли это будет ПК от XP и до Windows 10 начиная с 7, вам необходимо определиться на каком языке программирования она будет написана.