DiProgramozási paradigmák a programozás különböző stílusai, különböző “módjai”. Rengeteg különböző paradigma létezik, köztük olyan népszerűek, mint a procedurális programozás, objektumorientált programozás, funkcionális programozás stb. És vannak olyanok, amelyek nem annyira népszerűek, mint az imperatív programozás, a deklaratív programozás, az eseményvezérelt programozás stb. Ha kíváncsi vagy, itt találsz egy nagyon jó összefoglalót a programozási paradigmákról. Ebben a bejegyzésben egy népszerűt fogunk tárgyalni, ami a procedurális programozás.
Tl; dr;
A procedurális programozás az egyik legnépszerűbb programozási paradigma. A procedurális programozást követve a kódot kisebb egységekre, úgynevezett függvényekre vagy eljárásokra bontjuk, így könnyebben újrafelhasználható, és a végrehajtás folyamata felülről lefelé halad. Ezt a stílust könnyű megérteni és megvalósítani. Ennek eredményeként gyakran tanítják a bevezető programozási tanfolyamokon.
A sorozat további blogbejegyzései:
Programozási paradigmák – jobb-e az objektumorientált programozás?
Mi a procedurális programozás?
A procedurális programozás olyan programozási módszer, amely támogatja a funkciók több eljárásra való felosztását. A procedurális programozásban egy nagy programot kisebb, kezelhető részekre, úgynevezett eljárásokra vagy függvényekre bontunk. Itt az adatok helyett a funkciók élveznek elsőbbséget. A procedurális programozási nyelvben a program alapvetően utasítások sorozatából áll, amelyek mindegyike utasítja a számítógépet, hogy tegyen valamit, például olvassa be a felhasználó bemeneteit, végezze el a szükséges számításokat, jelenítse meg a kimenetet.
def add_number(a, b): return a + b# workflow starts here# call function add_number() to add 1 and 2 together and print the result to screenprint(add_number(1, 2))# execute add_number() function 5 times and print the result to screenfor i in range(5): print(add_number(i, 1))# workflow ends here
Amikor egy program nagyobb lesz, akkor kisebb egységekre, úgynevezett eljárásokra vagy függvényekre bontják. Egy adott feladat elvégzésére több függvényt kell írni. Ezek a függvények nem engedik meg a kódduplikációt, mert ugyanazt a függvényt több helyről hívják meg. Ez a technika csak közepes méretű szoftveralkalmazásokhoz alkalmas
A procedurális programozásban kétféle adattípust használnak, a lokális és a globális adatokat. A függvényen belüli adatokat lokális adatoknak, a függvényen kívüli adatokat pedig globális adatoknak nevezzük. A helyi adatok csak abban a függvényben érhetők el, ahol deklarálva vannak. Tehát minden függvény hozzáférhet a helyi adataihoz és a globális adatokhoz is.
// this is a global variable$globalVar = 1;function addNumber($a, $b) { // this is a local variable $randomNumber = rand(); return $globalVar + $randomNumber + $a + $b;}
Az egyik függvény helyi adatai más függvények számára nem hozzáférhetőek. Ha valamilyen adatot két vagy több függvénynek kell elérnie, akkor azt globálissá kell tenni. A globális adatok azonban sebezhetőek egy másik programozó számára, hogy tudtukon kívül megváltoztassák őket. Az adatok és függvények elkülönített elrendezése rosszul modellezi a valós világ dolgait. Ezért a procedurális programozási megközelítés nem modellezi tökéletesen a valós világ rendszerét.
COBOL, FORTRAN, C, Pascal néhány olyan programozási nyelv, amely képes procedurális programozást megvalósítani.
A procedurális programozás jellemzői
A nagy programot kis kezelhető eljárásokra vagy függvényekre bontjuk. Ez csökkenti a kód duplikációját, ami javítja a kód olvashatóságát és karbantarthatóságát.
A különböző függvények globális változókon keresztül oszthatnak meg adatokat. A függvények teljesen elszigeteltek, ezért ha adatokat akarunk megosztani, akkor azt a felső hatókörben kell deklarálnunk.
A függvények módosíthatják a globális adatokat. Mivel a globális adatok függvényről függvényre kerülnek át; az átalakítás során a függvényláncokban a globális adatok módosulhatnak.
Top-down módszertan. Mint már említettük, a procedurális programozás a top-down módszertant követi, a munkafolyamat felülről lefelé halad.
A procedurális programozás előnyei
- A kódolás könnyű és egyszerű.
- A kódok képesek a program több részében újrafelhasználásra.
- A programozási paradigma kevesebb memóriát fogyaszt a számítógépen.
- A procedurális programozási paradigmában írt programban könnyebb nyomon követni a kódok áramlását.
- A programozási paradigmát általános programozás megtanulására és megvalósítására tartják a legjobbnak.
A procedurális programozás korlátai vagy hátrányai
- Az adatok helyett a függvényekre összpontosít.
- Nagy programban nehéz azonosítani a globális adatok hovatartozását.
- A globális adatok használata hibalehetőségekkel jár, és a karbantartás, fejlesztés esetén akadályt jelenthet.
- A globális adatok módosítása az azokat használó függvények módosítását igényli.
- A programkód karbantartása, fejlesztése a globális adatok miatt továbbra is nehézkes.
- A procedurális programozási paradigma nem modellezi jól a valós problémát, mivel a függvények cselekvésorientáltak, és nem igazán felelnek meg a probléma elemeinek.
Összefoglaló
A procedurális programozás kétségtelenül sok előnyt kínál, ezek egyike a könnyen megtanulható és megvalósítható. Az új programozók azzal kezdhetik útjukat, hogy megtanulják, hogyan kell procedurális stílusban kódot írni. Ez segít nekik megérteni, hogyan működik egy bizonyos programozási nyelv.
A korlátok miatt azonban a valós alkalmazások nem használják a procedurális programozást. Ezért a diákoknak más paradigmákat kell megtanulniuk ahhoz, hogy a valós élet problémáival találkozhassanak.
Köszönjük az olvasást. You can browse more posts about technology here.
By Tuan Nguyen