Moniparadigma ohjelmointikieli

Moniparadigmaohjelmointikieli  on ohjelmointikieli , joka on kehitetty nimenomaan moniparadigmaohjelmointityökaluksi , eli jonka ilmaisukyvyt piti alun perin periytyä useista, useimmiten toisiinsa liittyvistä eri paradigmojen kielistä .

Laajassa merkityksessä moniparadigmakieli voidaan ymmärtää mitä tahansa kieltä, joka tukee useampaa kuin yhtä ohjelmointiparadigmaa ; mutta tällainen määritelmä ei ole riittävän tarkka, koska eri kirjoittajat määrittelevät ohjelmointiparadigman käsitteen eri tavalla. Jos tarkastellaan esimerkiksi rekursiota , strukturoitua ohjelmointia ja osoitusta ohjelmointiparadigmoina , niin käy ilmi, että lähes kaikki olemassa olevat ohjelmointikielet sopivat tarkasteltavaan määritelmään, lukuun ottamatta joitain erikoistapauksia (esim. Haskell-kieli , jossa ei ole tehtävää tavallisessa muodossa).

Usean paradigman ohjelmointikielten kehittämisen tavoitteena on yleensä antaa ohjelmoijille mahdollisuus käyttää parasta työkalua työhön, tunnustaen, että mikään yksittäinen paradigma ei ratkaise kaikkia ongelmia helpoimmalla tai tehokkaimmalla tavalla.

Yksi kunnianhimoisimmista esimerkeistä on Oz , joka on looginen kieli , toiminnallinen kieli , oliokieli , kilpailukykyinen (rinnakkais) ohjelmointikieli . Oz on kehitetty yli kymmenen vuoden ajan, ja sen tavoitteena on yhdistää käsitteitä, jotka perinteisesti liittyvät erilaisiin ohjelmointiparadigmiin.

Yhtä menestyneimmistä moniparadigmaohjelmointikielistä kutsutaan usein C ++ -kieleksi , joka yhdisti yleisen , proseduurin ja olioparadigman .

Toiminnallisia ja olioparadigmoja natiivisti tukevat kielet ovat Dylan ja Scala . Toiminnalliset ja proseduaaliset paradigmat yhdistävät APL :n ja Rustin . Toiminnalliset ja loogiset paradigmat ilmentyvät AFL :ssä , Curryssa ja Mercuryssa .