- Мультипарадигменный язык программирования
-
Под мультипарадигмальным языком программирования понимают, как правило, такой язык, который был разработан специально как инструмент мультипарадигмального программирования, т.е. изобразительные возможности которого изначально предполагалось унаследовать от нескольких, чаще всего неродственных, языков.
Иногда термин мультипарадигмальный язык программирования определяют как «язык, который поддерживает больше чем одну парадигму программирования». Такое определение оказывается недостаточно точным в силу того, что само понятие парадигмы программирования различные авторы определяют по-разному. Например, если считать парадигмами программирования рекурсию, структурное программирование и присваивания, то окажется, что под рассматриваемое определение подойдут едва ли не все существующие языки программирования, за исключением некоторых особых случаев (таких как
Цель разработки мультипарадигмальных языков программирования состоит, как правило, в том, чтобы позволить программистам использовать лучший инструмент для работы, признавая, что никакая парадигма не решает все проблемы самым лёгким или самым эффективным способом.
Один из наиболее амбициозных примеров - Oz, который является логическим языком, функциональным языком, объектно-ориентированным языком, языком конкурентного программирования и т.д. Oz был разработан за десятилетний период, чтобы объединить гармоничным способом понятия, которые традиционно связаны с различными программными парадигмами.
В качестве одного из наиболее успешных мультипарадигмальных языков программирования часто называют язык C++.
Содержание
Мультипарадигмальные языки
Примеры мультипарадигмальных языков программирования, разделённых по числу поддерживаемых парадигм:
Две парадигмы
- Функциональная, объектно-ориентированная:
- Императивная, объектно-ориентированная:
- Java (до J2SE 5.0);
- Функциональная, императивная:
- Функциональная, логическая:
- AFL;
-
Три парадигмы
- Функциональная, императивная, объектно-ориентированная:
- JavaScript;
- Обобщённое программирование, императивная, объектно-ориентированная:
Четыре парадигмы
- Функциональная, обобщённое программирование, императивная, объектно-ориентированная:
- Common Lisp;
- Функциональное, императивное, объектно-ориентированное, конкурентное программирование:
- Руби.
Пять парадигм
- Конкурентное программирование, обобщённое, императивное, объектно-ориентированное, распределённое программирование:
- Ада.
Шесть парадигм
- Императивное, функциональное, регулярное, объектно-ориентированное, параллельное, распределённое программирование:
Восемь парадигм
- Конкурентное программирование, программирование в ограничениях, программирование в потоках данных, распределённое программирование, функциональное, императивное, логическое, объектно-ориентированное:
- Oz.
См. также
- Функциональная, императивная, объектно-ориентированная:
- Функциональная, логическая:
- Императивная, объектно-ориентированная:
- Функциональная, объектно-ориентированная:
Wikimedia Foundation. 2010.