Razlika između deklarativnog i imperativnog programiranja

Sadržaj:

Razlika između deklarativnog i imperativnog programiranja
Razlika između deklarativnog i imperativnog programiranja

Video: Razlika između deklarativnog i imperativnog programiranja

Video: Razlika između deklarativnog i imperativnog programiranja
Video: Is it magnetic or non-magnetic? 2024, Studeni
Anonim

Ključna razlika – deklarativno naspram imperativnog programiranja

Deklarativno i imperativno programiranje dvije su uobičajene paradigme programiranja. Ključna razlika između deklarativnog i imperativnog programiranja je u tome što se deklarativno programiranje fokusira na ono što program treba postići, dok se imperativno programiranje fokusira na to kako bi program trebao postići rezultat.

Paradigma programiranja koristi se za klasifikaciju programskog jezika ovisno o značajci. Također omogućuje praćenje određenog uzorka ili stila za rješavanje određenog problema.

Što je deklarativno programiranje?

Deklarativno programiranje može se objasniti korištenjem scenarija iz stvarnog svijeta. Pretpostavimo da korisnik treba provjeriti nove e-poruke. Jedna metoda je omogućavanje obavijesti u pristigloj pošti. Korisnik mora uključiti obavijesti samo jednom, a svaki put kada stigne novi e-mail, automatski dobiva obavijest. Deklarativno programiranje je slično tome. Pruža jednostavnost. Deklarativno programiranje izražava ono što je traženi rezultat. Objašnjava logiku izračuna bez opisa toka upravljanja.

Razlika između deklarativnog i imperativnog programiranja
Razlika između deklarativnog i imperativnog programiranja

Slika 01: Paradigme programiranja

Primjer deklarativnog programiranja je sljedeći. To je množenje brojeva u nizu s konstantom i njihovo pohranjivanje u novi niz.

var brojeva=[1, 2, 3];

var newnumbers=brojevi.map(funkcija(broj){

vrati brojeve5;

});

Console.log(newnumbers);

U gornjem primjeru, 'map' daje upute za ponavljanje svake stavke u nizu i pozivanje funkcije povratnog poziva za svaku stavku i pohranjivanje povratne vrijednosti u novi niz. To će dati rezultat 5, 10, 15. U ovom programu glavni cilj množenja brojeva s 5 postiže se pomoću funkcije karte. Proći će kroz svaki element i koristiti funkciju povratnog poziva za izračunavanje i pohranjivanje vrijednosti u novi niz. Nije potrebno osigurati sve korake. Glavni fokus je na onome što treba postići.

Što je imperativno programiranje?

Imperativno programiranje može se objasniti korištenjem scenarija iz stvarnog svijeta kao i prije. Za provjeru novih e-mailova, korisnik se može prijaviti na gmail i stalno osvježavati stranicu kako bi provjerio je li dobio nove e-mailove ili ne. Ovo je slično imperativnom programiranju. Objašnjava svaki korak uključen u postizanje rezultata. Koristi izjave za izražavanje promjena u stanju programa.

Množenje elemenata niza s konstantom i pohranjivanje vrijednosti u novi niz u imperativnom programiranju je kako slijedi.

promjenljivi brojevi=[1, 2, 3];

var newnumbers=;

for(int i=0; i< brojevi.duljina; i++) {

novi brojevi.push(brojevi5);

}

Console.log(newnumbers);

U gornjem primjeru, brojevi su niz. Prilikom prolaska kroz petlju, svaki broj se množi s 5 i dodaje u niz novih brojeva. Nakon završetka petlje ispisat će se sadržaj novih brojeva koji su 5, 10, 15.

Može se uočiti da imperativni stil pruža sve korake za postizanje zadatka. Izražava kako iterirati niz pomoću varijable brojača 'i', koliko puta iterirati prije izlaska iz petlje i kako umetnuti izračunate vrijednosti u nove nizove itd.

Isti problem je riješen korištenjem deklarativnog i imperativnog programiranja.

Koja je razlika između deklarativnog i imperativnog programiranja?

Deklarativno protiv imperativnog programiranja

Deklarativno programiranje je paradigma programiranja koja izražava logiku izračuna bez opisa njegovog tijeka upravljanja. Imperativno programiranje je paradigma programiranja koja koristi izjave koje mijenjaju stanje programa.
Glavni fokus
Deklarativno programiranje fokusira se na ono što program treba postići. Imperativno programiranje fokusira se na to kako bi program trebao postići rezultat.
Fleksibilnost
Deklarativno programiranje pruža manje fleksibilnosti. Imperativno programiranje pruža veću fleksibilnost.
Složenost
Deklarativno programiranje pojednostavljuje program. Imperativno programiranje može povećati složenost programa.
Kategorizacija
Funkcionalno, logičko, upitno programiranje spada u deklarativno programiranje. Proceduralno i objektno orijentirano programiranje spada u imperativno programiranje.

Sažetak – Deklarativno naspram imperativnog programiranja

Ovaj članak raspravljao je o razlici između dvije glavne paradigme programiranja, a to su deklarativno i imperativno programiranje. Razlika između deklarativnog i imperativnog programiranja je u tome što se deklarativno programiranje fokusira na ono što program treba postići, dok se imperativno programiranje fokusira na to kako bi program trebao postići rezultat.

Preporučeni: