Идея динамической компиляции не является новой. Она возникла еще у пионеров программирования. Первым интерпретированным языком программирования высокого уровня был Lisp. Его интерпретатор был создан в 1958 году Стивом Расселом на компьютере IBM 704. Наконец-то эта идея захватила и мое воображение. Я решил написать программу для работы со скриптами, написанными на C#. Область применения – моделирование процессов и визуализация.
Программу назвал MathPanel – математическая панель. Нарисовал на бумаге минималистический интерфейс. Имеется 3 окна: команд, сообщений и графики (на рисунке скрыто, активируется при нажатии «График»).
Кнопки: «Выполнить» - осуществляет динамическую компиляцию и выполнения кода C# из окна команд.
«График» - переключается на графическое окно для визуалиции результатов. Рисование будем осуществлять с помощью объекта WebBrowser, javascript и canvas. Это медленнее, чем использование специализированных библиотек, но полезно для интеграции с веб-сайтом.
«Открыть» - поиск файла со скриптом и загрузка содержимого в окно команд.
«Сохранить» - содержимое окна команд сохраняется в файл.
«Компилировать» - на основе скрипта из окна команд создается DLL (динамическая библиотека).
«Новый скрипт» - в окно команд загружается шаблон скрипта.
«Картинка» - загрузка файла изображения и визуализация.