Multiparadigmatický programovací jazyk

Multiparadigmatický programovací jazyk  je programovací jazyk , který byl vyvinut speciálně jako multiparadigmatický programovací nástroj , to znamená, že jeho vyjadřovací schopnosti měly být původně zděděny z několika, nejčastěji nesouvisejících jazyků různých paradigmat .

V širokém smyslu lze multiparadigmatický jazyk chápat jako jakýkoli jazyk, který podporuje více než jedno programovací paradigma ; ale taková definice se ukazuje jako nedostatečně přesná vzhledem k tomu, že samotný koncept programovacího paradigmatu je různými autory definován různě. Pokud například považujeme rekurzi , strukturované programování a přiřazení za programovací paradigmata , pak se ukazuje, že téměř všechny existující programovací jazyky jsou vhodné pro uvažovanou definici, s výjimkou některých speciálních případů (např. Haskell language , ve kterém není zadání v obvyklé formě).

Cílem vývoje multiparadigmatických programovacích jazyků je obecně umožnit programátorům používat nejlepší nástroj pro danou práci, přičemž si uvědomují, že žádné jednotlivé paradigma neřeší všechny problémy tím nejjednodušším a nejefektivnějším způsobem.

Jedním z ambicióznějších příkladů je Oz , což je logický jazyk , funkcionální jazyk , objektově orientovaný jazyk , konkurenční (paralelní) programovací jazyk . Oz byl vyvíjen deset let a jeho cílem je spojit koncepty, které jsou tradičně spojovány s různými programovacími paradigmaty.

Jeden z nejúspěšnějších multiparadigmatických programovacích jazyků se často nazývá jazyk C++ , který kombinuje zobecněné , procedurální a objektově orientované paradigma.

Jazyky, které nativně podporují funkční a objektově orientovaná paradigmata, jsou Dylan a Scala . Funkční a procedurální paradigmata kombinují APL a Rust . Funkční a logická paradigmata jsou ztělesněna v AFL , Curry a Mercury .