Objektum-orientált programozás vs eljárási programozás
Az objektumorientált programozás (OOP) és az eljárási programozás két programozási paradigma. A programozási paradigma a számítógépes programozás alapvető stílusa, és különböznek a program különféle elemeinek ábrázolásában és a problémák megoldásának lépéseiben. Ahogy a neve is sugallja, az OOP a valós objektumok és viselkedésük felhasználásával a problémák ábrázolására összpontosít, míg az eljárási programozás a problémák megoldásának ábrázolására szolgál eljárások segítségével, amelyek egy meghatározott sorrendben futó kódgyűjtemények. Vannak programozási nyelvek, amelyek támogatják az OOP (az úgynevezett OOP nyelvek), az eljárási (az úgynevezett eljárási nyelvek) és mindkettő kulcsfontosságú aspektusait. Fontos szempont azonban, hogy az OOP és az eljárási mód kétféle módon ábrázolja a megoldandó problémákat, és nem számít, hogy melyik nyelvet használják. Más szavakkal, az OOP nyelvek használhatók az eljárási programozáshoz, míg az eljárási nyelvek néha felhasználhatók az OOP számára, némi erőfeszítéssel.
Az eljárási programozás a programozás egyik módja az, hogy azonosítja az egyes problémák megoldására szolgáló lépéseket és annak pontos sorrendjét, amelyet végre kell hajtani a kívánt eredmény vagy állapot elérése érdekében. Például, ha ki akarja számítani a bankszámla havi végi záró egyenlegét, akkor a szükséges lépések a következők. Először megszerezte a számla kezdő egyenlegét, majd csökkenti a havi összes betéti összeget. Ezt követően hozzáadja az összes, a hónap során felmerült hitelösszeget. A folyamat végén megkapja a számla havi végi záró egyenlegét. Az eljárási programozás egyik fő fogalma az eljáráshívás. A szubrutinnak, módszernek vagy függvénynek is nevezett eljárás a végrehajtandó utasítások rendezett listáját tartalmazza. Az eljárás bármikor meghívható a végrehajtás során, bármilyen más eljárással, vagy önmagában. Példák az eljárási programozási nyelvekre a C és a Pascal.
Az OOP-ban a megoldandó probléma gondolkodására koncentrál a valós elemek szempontjából, és a probléma ábrázolására tárgyak és viselkedésük szempontjából. Az objektum egy olyan adatstruktúra, amely nagyon hasonlít valamilyen valós objektumhoz. Az objektumok olyan adatmezőket és módszereket tartalmaznak, amelyek a valós objektumok tulajdonságait és viselkedését reprezentálják. Számos fontos OOP-fogalom létezik, mint például az adatok absztrakciója, beágyazása, polimorfizmus, üzenetküldés, modulárisság és öröklés. Néhány népszerű OOP nyelv a Java és a C #. Ezek azonban eljárási programozáshoz is felhasználhatók.
A legfontosabb különbség az OOP és az eljárási programozás között az, hogy az eljárási programozás középpontjában a programozási feladat bontása változók és szubrutinok gyűjteményévé válik, míg az OOP középpontjában a programozási feladat objektumokra való bontása van, amelyek adatokat tartalmaznak és módszerek. A leginkább figyelemre méltó különbség az lehet, hogy míg az eljárási programozás az adatszerkezetek közvetlen működtetésére szolgál, az OOP az adatokat és a módszereket köti össze, hogy egy objektum saját adataival működjön. A nómenklatúrát illetően, az eljárás, a modul, az eljáráshívás és a változó az eljárási programozásban az OOP-ban gyakran metódusnak, objektumnak, üzenetnek és attribútumnak hivatkoznak..