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: Difference Between Function Overloading and Overriding in C++ | Learn Coding 2024, Juli
Anonim

Ključna razlika – deklarativno naspram imperativnog programiranja

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

Programska paradigma se koristi za klasifikaciju programskog jezika u zavisnosti od karakteristike. Također omogućava praćenje određenog uzorka ili stila za rješavanje određenog problema.

Šta je deklarativno programiranje?

Deklarativno programiranje se može objasniti korištenjem scenarija iz stvarnog svijeta. Pretpostavimo da korisnik mora provjeriti ima li novih e-poruka. Jedan od načina je omogućavanje obavijesti o prijemnom sandučetu. Korisnik mora omogućiti obavještenja samo jednom, a svaki put kada stigne novi e-mail, automatski dobija obavještenje. Deklarativno programiranje je slično tome. Pruža jednostavnost. Deklarativno programiranje izražava ono što je traženi rezultat. Objašnjava logiku izračunavanja bez opisa toka kontrole.

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 pomnožiti brojeve niza konstantom i pohraniti ih u novi niz.

var brojevi=[1, 2, 3];

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

povratni brojevi5;

});

Console.log(newnumbers);

U gornjem primjeru, 'map' daje upute za ponavljanje svake stavke u nizu i za pozivanje funkcije povratnog poziva za svaku stavku i za pohranjivanje vraćene vrijednosti u novi niz. Ovo će dati izlaz 5, 10, 15. U ovom programu, glavni cilj množenja brojeva sa 5 postiže se pomoću funkcije mape. 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 stavljen na ono što treba postići.

Šta je imperativno programiranje?

Imperativno programiranje se može objasniti korištenjem scenarija iz stvarnog svijeta kao i prije. Da bi provjerio nove mejlove, korisnik se može prijaviti na gmail i nastaviti osvježavati stranicu kako bi provjerio da li je dobio nove e-poruke ili ne. Ovo je slično imperativnom programiranju. Objašnjava svaki korak koji je uključen u postizanje rezultata. Koristi iskaze da izrazi promjene u stanju programa.

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

var brojevi=[1, 2, 3];

var newnumbers=;

for(int i=0; i< numbers.length; i++) {

newnumbers.push(numbers5);

}

Console.log(newnumbers);

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

Može se primijetiti da imperativ stil pruža sve korake za postizanje zadatka. Izražava kako iterirati niz pomoću varijable brojača 'i', koliko puta ponoviti 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 programska paradigma koja izražava logiku računanja bez opisa njegovog toka kontrole. Imperativno programiranje je programska paradigma koja koristi iskaze koji mijenjaju stanje programa.
Glavni fokus
Deklarativno programiranje se fokusira na ono što program treba da postigne. Imperativno programiranje se fokusira 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 protiv imperativnog programiranja

Ovaj članak govori o razlici između dvije glavne programske paradigme, 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 da postigne, dok se imperativno programiranje fokusira na to kako program treba da postigne rezultat.

Preporučuje se: