Расширяемое программирование
-
История расширяемого программирования
- Расширяемое программирование — это подход к программированию, который позволяет добавлять новые функции в существующие языки.
- Движение за расширяемость началось в 1960-х годах и было связано с разработкой языков программирования, таких как Simula и Lisp.
- Стэндиш предложил три класса языковых расширений: парафразы, ортофразы и метафразы.
-
Гибель движения за расширяемость
- Сложность программирования последовательных расширений привела к тому, что движение за расширяемость было вытеснено движением за абстракцию.
- К 1975 году исследования Стэндиша не включали новые технологии, основанные на абстракции.
-
Современное понимание расширяемого программирования
- Современные системы поддерживают расширяемое программирование, предоставляя расширяемый синтаксис, расширяемый компилятор и расширяемую среду выполнения.
- Расширяемый синтаксис позволяет добавлять новые ключевые слова и структуры в исходный язык.
- Расширяемый компилятор представляет собой набор плагинов, которые помогают в переводе исходного кода.
- Расширяемая среда выполнения позволяет языкам расширять набор операций во время выполнения.
- Программы рассматриваются как данные, подлежащие обработке, а не как форматированные структуры.
- Поддержка отладки на исходном языке облегчает обработку программ с расширениями.
-
Примеры расширяемых языков
- Некоторые примеры расширяемых языков включают Camlp4, Феликс, Немерле, Семя 7, Красный, Ruby, чертенок, OpenC++, XL, XML-код и другие.
-
Рекомендации и инструменты
- Статья Грега Уилсона и обсуждение на Slashdot предоставляют дополнительную информацию и ссылки.
- MetaL, XPS и MPS — это инструменты, которые поддерживают расширяемое программирование.
Полный текст статьи: