Kulcskülönbség – deklaratív vs imperatív programozás
A deklaratív és kötelező programozás két gyakori programozási paradigma. A fő különbség a deklaratív és az imperatív programozás között az, hogy a deklaratív programozás arra összpontosít, amit a programnak el kell érnie, míg az imperatív programozás arra összpontosít, hogy a program hogyan érje el az eredményt.
A programozási paradigmát használjuk a programozási nyelv osztályozására a szolgáltatástól függően. Ezenkívül lehetővé teszi egy bizonyos minta vagy stílus követését egy adott probléma megoldásához.
Mi az a deklaratív programozás?
A deklaratív programozás valós forgatókönyv segítségével magyarázható. Tegyük fel, hogy a felhasználónak új e-maileket kell keresnie. Az egyik módszer a beérkező levelek értesítéseinek engedélyezése. A felhasználónak csak egyszer kell engedélyeznie az értesítéseket, és minden alkalommal, amikor új e-mail érkezik, automatikusan értesítést kap. A deklaratív programozás ehhez hasonló. Egyszerűséget biztosít. A deklaratív programozás azt fejezi ki, hogy mi a kívánt eredmény. Megmagyarázza a számítás logikáját a vezérlési folyamat leírása nélkül.
01. ábra: Programozási paradigmák
A deklaratív programozás egy példája a következő. Ez egy tömb számainak megszorzása egy konstanssal, és egy új tömbben való tárolása.
változószámok=[1, 2, 3];
var newnumbers=numbers.map(function(number){
visszatérési számok5;
});
Console.log(newnumbers);
A fenti példában a „map” utasításokat ad a tömb minden elemének iterálására, valamint a visszahívási függvény meghívására minden egyes elemnél, valamint a visszatérési érték tárolására az új tömbben. Ez 5, 10, 15 kimenetet ad. Ebben a programban a számok 5-tel való szorzásának fő célja a térkép funkció segítségével valósul meg. Minden elemen keresztül megy, és a visszahívás függvényt használja az értékek kiszámításához és az új tömbben való tárolásához. Nem kötelező az összes lépést megadni. A fő hangsúly azon van, hogy mit kell elérni.
Mi az a kötelező programozás?
A kötelező programozás magyarázható valós forgatókönyv segítségével, mint korábban. Az új e-mailek ellenőrzéséhez a felhasználó bejelentkezhet a Gmailbe, és folyamatosan frissítheti az old alt, hogy ellenőrizze, kapott-e új e-maileket vagy sem. Ez hasonló a kötelező programozáshoz. Elmagyarázza az eredmény eléréséhez szükséges minden egyes lépést. Utasításokat használ a programállapot változásainak kifejezésére.
A tömbelemek konstanssal való szorzása és az értékek új tömbbe való tárolása az imperatív programozás során a következőképpen történik.
változószámok=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
newnumbers.push(numbers5);
}
Console.log(newnumbers);
A fenti példában a számok egy tömb. A ciklus során minden számot megszoroznak 5-tel, és hozzáadják a newnumbers tömbhöz. A ciklus vége után az új számok tartalma jelenik meg, amelyek 5, 10, 15.
Megfigyelhető, hogy az imperatív stílus minden lépést megad a feladat megvalósításához. Azt fejezi ki, hogyan kell a tömbön keresztül iterálni az „i” számlálóváltozó használatával, hányszor kell ismételni, mielőtt kilép a hurokból, és hogyan kell beilleszteni a számított értékeket az új tömbökbe stb.
Ugyanezt a problémát deklaratív és kötelező programozással oldották meg.
Mi a különbség a deklaratív és az imperatív programozás között?
Deklaratív vs imperatív programozás |
|
A deklaratív programozás egy olyan programozási paradigma, amely a vezérlési folyamat leírása nélkül fejezi ki a számítás logikáját. | Az imperatív programozás olyan programozási paradigma, amely olyan utasításokat használ, amelyek megváltoztatják a program állapotát. |
Fő fókusz | |
A deklaratív programozás arra összpontosít, hogy a programnak mit kell elérnie. | A kötelező programozás arra összpontosít, hogy a program hogyan érje el az eredményt. |
Rugalmasság | |
A deklaratív programozás kevesebb rugalmasságot biztosít. | A kötelező programozás nagyobb rugalmasságot biztosít. |
Bonyolultság | |
A deklaratív programozás leegyszerűsíti a programot. | A kötelező programozás növelheti a program összetettségét. |
Kategorizálás | |
A funkcionális, logikai, lekérdezési programozás a deklaratív programozásba tartozik. | Az eljárási és objektum-orientált programozás az imperatív programozásba tartozik. |
Összefoglalás – deklaratív vs imperatív programozás
Ez a cikk a két fő programozási paradigma, a deklaratív és az imperatív programozás közötti különbséget tárgyalja. A deklaratív és az imperatív programozás közötti különbség az, hogy a deklaratív programozás arra összpontosít, hogy a programnak mit kell elérnie, míg az Imperatív programozás arra összpontosít, hogy a program hogyan érje el az eredményt.