Programozási paradigma
fogalmak vagy minták, amelyeket egy programozási nyelv támogat / From Wikipedia, the free encyclopedia
A programozási paradigma egy osztályozási forma, amely a programozási nyelvek jellemzőin alapul. A nyelvek több paradigmába is sorolhatók.
Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
Néhány paradigmát elsősorban a végrehajtási modell nyelvezetének következménye foglalkoztat, mint például, hogy megengedi a mellékhatást, vagy hogy az műveletek sorozata meghatározható-e a végrehajtási modell alapján. Más paradigmákat elsősorban a kód szervezettsége foglalkoztatja, például egy kód egységekre csoportosítása az állapottal együtt, amelyet a kód módosított. Más paradigmák azonban elsősorban a szintaxis és a nyelvtan stílusával foglalkoznak.
Gyakori programozási paradigmák köztük:[1][2][3]
- imperatív, amelyben a programozó utasítja a gépet az állapotának megváltoztatására,
- procedurális, amely az utasításokat eljárásokba csoportosítja,
- objektumorientált, amely az utasításokat csoportosítja az alap azon részével együtt, amelyen működnek,
- deklaratív, amelyben a programozó deklarálja a kívánt eredmény tulajdonságait, de nem azt, hogy hogyan kell azt kiszámítani,
- funkcionális, amelynél a kívánt eredményt függvényalkalmazásként deklarálnak
- logikai, amelyben a kívánt eredményt a tények és szabályok rendszerével kapcsolatos kérdésre adott válaszként deklarálnak
- matematikai, amelyben a kívánt eredményt egy optimalizálási probléma megoldásaként deklarálnak
A szimbolikus technikák, mint a reflexió, amelyek lehetővé teszik a programnak, hogy magára hivatkozzon, szintén programozási paradigmának tekinthető. Ez azonban összeegyeztethető a fő paradigmákkal, tehát önmagában nem valódi paradigma.
Például azok a nyelvek, melyek az imperatív paradigmákba esnek két fő jellemzőjük van: meghatározzák a műveletek sorrendjét olyan konstrukciókkal, amelyek kifejezetten ellenőrzik ezt a sorrendet, és lehetővé tesznek olyan mellékhatásokat, amelyben az állapot módosítható egy időben, egy kód egységben, majd később egy másik időpontban olvasható egy másik kód egységén belül. A kommunikáció a kódegységek között nem egyértelmű. Közben az objektumorientált programozásban a kód objektumokba van rendezve, amik olyan állapotot tartalmaznak, amelyet csak az objektum részét képező kód módosít. A legtöbb objektumorientált nyelv imperatív nyelv is. Ezzel szemben a deklaratív paradigmához illeszkedő nyelvek nem határozzák meg a műveletek végrehajtásának sorrendjét. Ehelyett számos, a rendszerben elérhető műveletet szolgáltatnak, valamint azokat a feltételeket, amelyek között az egyes műveletek végrehajthatók. A nyelv végrehajtási modelljének végrehajtása nyomon követi azokat a műveleteket, amelyek szabadon végrehajthatók, és önmagának választja ki a sorrendet.