Я хотел бы создать «среду программирования в реальном времени».
Я должен объяснить, что подразумевается под «фреймворком живого кодирования». Я сделаю это, сравнив живое кодирование с традиционным кодированием.
Обычно в традиционном программировании вы пишете код, иногда компилируете его, а затем запускаете исполняемый файл или открываете сценарий в каком-то интерпретаторе. Если вы хотите изменить свое приложение, вы должны повторить этот процесс. Фреймворк живого кодирования позволяет обновлять код во время работы приложения и перезагружать его по запросу. Возможно, эта перезагрузка происходит каждый раз, когда файл, содержащий код, изменяется или каким-либо другим действием. Затем изменения в коде отражаются в приложении во время его работы. Нет необходимости закрывать программу, перекомпилировать и перезапускать ее.
В этом случае приложение представляет собой оконное приложение с циклом обновления / отрисовки, которое, скорее всего, использует OpenGL для графики, аудиотеку для обработки звука (SuperCollider?) И, в идеале, сетевую библиотеку.
Конечно, я предпочел языки, хотя не уверен, что какой-либо из них хорошо подходит для такой архитектуры. В идеале я бы использовал Python, Lua, Ruby или другой язык более высокого уровня. Однако мой друг недавно предложил Clojure как возможность, так что я тоже его рассматриваю.
Я хотел бы знать не только, какие языки подходят для такого рода фреймворка, но и в целом, какие языковые особенности сделали бы такой фреймворк возможным .