Интерактивное программирование — это процедура написания частей программы, пока она уже активна. Это фокусируется на тексте программы как на основном интерфейсе для запущенного процесса, а не на интерактивном приложении , где программа разрабатывается в циклах разработки и используется впоследствии (обычно так называемым «пользователем», в отличие от «разработчика»). Следовательно, здесь деятельность по написанию программы становится частью самой программы.
Таким образом, он формирует конкретный пример интерактивного вычисления как крайнюю противоположность пакетной обработке , где ни написание программы, ни ее использование не происходит интерактивным образом. Принцип быстрой обратной связи в экстремальном программировании радикализируется и становится более явным.
Синонимы: программирование «на лету», программирование «точно в срок», диалоговое программирование
Методы интерактивного программирования особенно полезны в случаях, когда заранее невозможно дать четкую спецификацию решаемой проблемы. В таких ситуациях (которые не являются чем-то необычным в исследованиях) формальный язык предоставляет необходимую среду для разработки соответствующего вопроса или формулировки проблемы.
Интерактивное программирование также использовалось в приложениях, которые необходимо переписывать без их остановки, особенность, которой славится компьютерный язык Smalltalk . Как правило, динамические языки программирования предоставляют среду для такого взаимодействия, так что обычно прототипирование и итеративная и инкрементальная разработка выполняются во время работы других частей программы.
Поскольку эта функция является очевидной потребностью в звуковом дизайне и алгоритмической композиции, она там значительно развилась. В последнее время исследователи используют этот метод для разработки алгоритмов сонификации .
Используя динамические языки программирования для звука и графики, интерактивное программирование также применяется как импровизационный стиль исполнения живого кодирования , в основном в алгоритмической музыке и видео.