Мультипарадигмальный язык программирования
Материал из Википедии — свободной энциклопедии
Под мультипарадигмальным языком программирования понимают, как правило, такой язык, который был разработан специально как инструмент мультипарадигмального программирования, т.е. изобразительные возможности которого изначально предполагалось унаследовать от нескольких, чаще всего неродственных, языков.
Иногда термин мультипарадигмальный язык программирования определяют как «язык, который поддерживает больше чем одну парадигму программирования». Такое определение оказывается недостаточно точным в силу того, что само понятие парадигмы программирования различные авторы определяют по-разному. Например, если считать парадигмами программирования рекурсию, структурное программирование и присваивания, то окажется, что под рассматриваемое определение подойдут едва ли не все существующие языки программирования, за исключением некоторых особых случаев (таких как Haskell, в котором нет и не может быть присваиваний).
Цель разработки мультипарадигмальных языков программирования состоит, как правило, в том, чтобы позволить программистам использовать лучший инструмент для работы, признавая, что никакая парадигма не решает все проблемы самым лёгким или самым эффективным способом.
Один из наиболее амбициозных примеров - Oz, который является логическим языком, функциональным языком, объектно-ориентированным языком, языком конкурентного программирования и т.д. Oz был разработан за десятилетний период, чтобы объединить гармоничным способом понятия, которые традиционно связаны с различными программными парадигмами.
В качестве одного из наиболее успешных мультипарадигмальных языков программирования часто называют язык C++.
Содержание |
[править] Мультипарадигмальные языки
Примеры мультипарадигмальных языков программирования, разделённых по числу поддерживаемых парадигм:
[править] Две парадигмы
- Функциональная, объектно-ориентированная:
- Императивная, объектно-ориентированная:
- Функциональная, императивная:
- APL.
- Функциональная, логическая:
[править] Три парадигмы
- Функциональная, императивная, объектно-ориентированная:
- Python;
- JavaScript;
- Tcl;
- Обобщённое программирование, императивная, объектно-ориентированная:
[править] Четыре парадигмы
- Функциональная, обобщённое программирование, императивная, объектно-ориентированная:
- Функциональное, императивное, объектно-ориентированное, конкурентное программирование:
- Руби.
[править] Пять парадигм
- Конкурентное программирование, обобщённое, императивное, объектно-ориентированное, распределённое программирование:
- Ада.
[править] Восемь парадигм
- Конкурентное программирование, программирование в ограничениях, программирование в потоках данных, распределённое программирование, функциональное, императивное, логическое, объектно-ориентированное:
- Oz.