Мультипарадигмальное программирование

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Мультипарадигмальное программирование -- это программирование с одновременным использованием множества парадигм программирования.

Основные методы

Можно выделить следующие основные подходы к организации мультипарадигмального программирования:

  1. Создание нового языка программирования
  2. Расширение существующего языка программирования
  3. Встраиваемые интерпретаторы
  4. Расширяемые интерпретаторы
  5. Трансляция из одного языка в другой
  6. Сборка модулей, написанных на разных языках программирования
  7. Библиотечное расширение существующего языка программирования

Частным случаем последнего подхода является метод непосредственной интеграции, реализованный в библиотеке InteLib.

Инструменты

Наиболее известные мультипарадигмальные языки программирования -- Leda и Oz.

Одним из наиболее успешных примеров расширения существующего языка программирования с целью превращения его в мультипарадигмальный инструмент является язык C++.

Встраивание интерпретаторов часто применяется для формирования SQL-запросов к базам данных из программ, написанных на языках программирования общего назначения, таких как C или C++. Существуют встраиваемые интерпретаторы таких языков, как TCL, Лисп, Scheme.

Известный пример расширяемого интерпретатора -- TCL, допускающий подгружение динамических библиотек, написанных на C.

Трансляция из одного языка в другой (как правило, язык C) применяется во многих реализациях языка Scheme, что позволяет состыковать части, написанные на Scheme, с частями, написанными на C и C++.

В качестве примера библиотеки, предназначенной для импорта сторонней парадигмы в язык программирования, изначально не поддерживающий её, можно рассмотреть библиотеку FC++[1]. Известны библиотеки, предназначенные для импорта в C++ комплекса парадигм, характерного для языка Lisp: Lisp Plus Plus[2], InteLib[3] и другие.

Примечания

  1. Сайт библиотеки FC++
  2. Библиотека Lisp Plus Plus
  3. Библиотека InteLib



Личные инструменты

Served in 0.089 secs.