Interested Article - Мультипарадигменный язык программирования

Мультипаради́гменный язы́к программи́рования язык программирования , который был разработан специально как инструмент мультипарадигменного программирования , то есть выразительные возможности которого изначально предполагалось унаследовать от нескольких, чаще всего не родственных языков различных парадигм .

В широком смысле под мультипарадигменным языком могут понимать всякий язык, который поддерживает больше чем одну парадигму программирования ; но такое определение оказывается недостаточно точным в силу того, что само понятие парадигмы программирования различные авторы определяют по-разному. Например, если считать парадигмами программирования рекурсию , структурное программирование и присваивания , то окажется, что под рассматриваемое определение подойдут едва ли не все существующие языки программирования, за исключением некоторых особых случаев (например, языка Haskell , в котором нет присваивания в привычном виде).

Цель разработки мультипарадигменных языков программирования состоит, как правило, в том, чтобы позволить программистам использовать лучший инструмент для работы, признавая, что никакая парадигма не решает все проблемы самым лёгким или самым эффективным способом.

Один из наиболее амбициозных примеров — Oz , который является логическим языком , функциональным языком , объектно-ориентированным языком , языком конкурентного (параллельного) программирования . Oz был разработан за десять лет, его цель — объединить понятия, которые традиционно связаны с различными программными парадигмами.

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

Языки, изначально поддерживающие функциональную и объектно-ориентированную парадигмы — Dylan и Scala . Функциональную и процедурную парадигмы объединяют APL и Rust . Функциональная и логическая парадигмы воплощены в , Curry и Mercury .

Источник —

Same as Мультипарадигменный язык программирования