Какие функции языка программирования хорошо подходят для разработки среды программирования в реальном времени?

Я хотел бы создать «среду программирования в реальном времени».

Я должен объяснить, что подразумевается под «фреймворком живого кодирования». Я сделаю это, сравнив живое кодирование с традиционным кодированием.

Обычно в традиционном программировании вы пишете код, иногда компилируете его, а затем запускаете исполняемый файл или открываете сценарий в каком-то интерпретаторе. Если вы хотите изменить свое приложение, вы должны повторить этот процесс. Фреймворк живого кодирования позволяет обновлять код во время работы приложения и перезагружать его по запросу. Возможно, эта перезагрузка происходит каждый раз, когда файл, содержащий код, изменяется или каким-либо другим действием. Затем изменения в коде отражаются в приложении во время его работы. Нет необходимости закрывать программу, перекомпилировать и перезапускать ее.

В этом случае приложение представляет собой оконное приложение с циклом обновления / отрисовки, которое, скорее всего, использует OpenGL для графики, аудиотеку для обработки звука (SuperCollider?) И, в идеале, сетевую библиотеку.

Конечно, я предпочел языки, хотя не уверен, что какой-либо из них хорошо подходит для такой архитектуры. В идеале я бы использовал Python, Lua, Ruby или другой язык более высокого уровня. Однако мой друг недавно предложил Clojure как возможность, так что я тоже его рассматриваю.

Я хотел бы знать не только, какие языки подходят для такого рода фреймворка, но и в целом, какие языковые особенности сделали бы такой фреймворк возможным .

13
задан Matt Fenwick 19 July 2012 в 15:58
поделиться