Идея динамической компиляции не является новой. Она возникла еще у пионеров программирования. Первым интерпретированным языком программирования высокого уровня был Lisp. Его интерпретатор был создан в 1958 году Стивом Расселом на компьютере IBM 704. Наконец-то эта идея захватила и мое воображение. Я решил написать программу для работы со скриптами, написанными на C#. Область применения – моделирование процессов и визуализация.

Программу назвал MathPanel – математическая панель. Нарисовал на бумаге минималистический интерфейс.  Имеется 3 окна: команд, сообщений и графики (на рисунке скрыто, активируется при нажатии «График»).

Кнопки: «Выполнить» - осуществляет динамическую компиляцию и выполнения кода C# из окна команд.

«График» - переключается на графическое окно для визуалиции результатов. Рисование будем осуществлять с помощью объекта WebBrowser, javascript и canvas. Это медленнее, чем использование специализированных библиотек, но полезно для интеграции с веб-сайтом.

«Открыть» - поиск файла со скриптом и загрузка содержимого в окно команд.

«Сохранить» - содержимое окна команд сохраняется в файл.

«Компилировать» - на основе скрипта из окна команд создается DLL (динамическая библиотека).

«Новый скрипт» - в окно команд загружается шаблон скрипта.

«Картинка» - загрузка файла изображения и визуализация.