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