Dallimi midis programimit funksional dhe programimit imperativ

Përmbajtje:

Dallimi midis programimit funksional dhe programimit imperativ
Dallimi midis programimit funksional dhe programimit imperativ

Video: Dallimi midis programimit funksional dhe programimit imperativ

Video: Dallimi midis programimit funksional dhe programimit imperativ
Video: CS50 2013 - Week 10 2024, Nëntor
Anonim

Dallimi kryesor – Programimi funksional kundrejt programimit imperativ

Dallimi kryesor midis programimit funksional dhe programimit imperativ është se programimi funksional i konsideron llogaritjet si funksione matematikore dhe shmang ndryshimin e gjendjes dhe të dhënave të ndryshueshme ndërsa programimi imperativ përdor deklaratat që ndryshojnë gjendjen e programit.

Një paradigmë programimi ofron një stil të ndërtimit të strukturës dhe elementeve të një programi kompjuterik. Paradigmat e programimit ndihmojnë në klasifikimin e gjuhëve të programimit bazuar në veçoritë e tyre. Një gjuhë programimi mund të ndikojë në më shumë paradigma. Në paradigmën e orientuar nga objekti, programi strukturohet duke përdorur objekte dhe objektet kalojnë mesazhe duke përdorur metoda. Programimi logjik mund të shprehë llogaritjen ekskluzivisht në terma të logjikës matematikore. Dy paradigma të tjera programimi janë programimi funksional dhe programimi imperativ. Programimi funksional lejon shprehjen e llogaritjeve si vlerësim i funksioneve matematikore. Programimi imperativ ofron deklarata që ndryshojnë në mënyrë eksplicite gjendjen e memories. Ky artikull diskuton ndryshimin midis programimit funksional dhe programimit imperativ.

Çfarë është Programimi Funksional?

Programimi funksional bazohet në matematikë. Parimi kryesor prapa programimit funksional është se e gjithë llogaritja konsiderohet si një kombinim i funksioneve të veçanta matematikore. Një funksion matematik harton hyrjet në dalje. Supozojmë se ekziston një funksion i quajtur f(x)=xx. Vlera x 1 vihet në hartë me daljen 1. Vlera x 2 vihet në hartë në daljen 4. Vlera x 3 është hartuar në daljen 9 e kështu me radhë.

Dallimi midis Programimit Funksional dhe Programimit Imperativ
Dallimi midis Programimit Funksional dhe Programimit Imperativ

Figura 01: Shembull i gjuhës programuese funksionale – Haskell

Në programimin funksional, modelet merren parasysh. Gjuhët e programimit funksional Haskell, përdor metodën e mëposhtme për të gjetur përmbledhjen e numrave.

Funksioni shuma ka vlera të plota, dhe rezultati do të jetë gjithashtu një numër i plotë. Mund të shkruhet si shuma: [int] -> int. Përmbledhja mund të bëhet duke ndjekur modelet e mëposhtme.

sum[n]=n, shuma e një numri është vetë numri.

Nëse ka një listë numrash, ajo mund të shkruhet si më poshtë. N përfaqëson numrin e parë dhe ns përfaqëson numrat e tjerë

shuma (n, ns)=n + shuma ns.

Modelet e mësipërme mund të aplikohen për të gjetur mbledhjen e tre numrave që janë 3, 4, 5.

3 + shuma [4, 5]

3 + (4 + shuma [5])

3+ 4 + 5=12

Një funksion ose një shprehje thuhet se ka efekte anësore nëse modifikon një gjendje jashtë fushëveprimit të tij ose ka një ndërveprim të vëzhgueshëm me funksionet e tij thirrëse përveç vlerës kthyese. Programimi funksional i minimizon këto efekte anësore. Ndryshimet e gjendjes nuk varen nga inputet e funksionit. Është e dobishme për të kuptuar sjelljen e programit. Një pengesë e programimit funksional është se mësimi i programimit funksional është më i vështirë në krahasim me programimin imperativ.

Çfarë është Programimi Imperativ?

Programimi imperativ është një paradigmë programimi që përdor thëniet që ndryshojnë gjendjen e një programi. Ai fokusohet në përshkrimin se si funksionon një program. Gjuhët e programimit si Java, C dhe C janë gjuhë programimi imperative. Ai ofron një procedurë hap pas hapi se çfarë duhet bërë. Gjuhët e programimit imperativ përmbajnë struktura të tilla si if, else, while, për sythe, klasa, objekte dhe funksione.

Dallimi kryesor midis programimit funksional dhe programimit imperativ
Dallimi kryesor midis programimit funksional dhe programimit imperativ

Figura 02: Shembull i gjuhës programuese Imperative – Java

Përmbledhja e dhjetë numrave mund të gjendet në Java si më poshtë. Në çdo përsëritje, vlera i i shtohet shumës dhe i caktohet variablit sum. Në çdo përsëritje, vlera e shumës vazhdon t'i shtohet shumës së llogaritur më parë.

int shuma=0;

për (int i=0; i<=10; i++) {

sum=shuma + i;

}

Programimi imperativ është i lehtë për t'u mësuar, kuptuar dhe korrigjuar. Gjetja e gjendjes së programit është e lehtë për shkak të përdorimit të variablave të gjendjes. Disa të meta janë se mund ta bëjë kodin të gjatë dhe gjithashtu mund të minimizojë shkallëzueshmërinë.

Cila është ngjashmëria midis programimit funksional dhe programimit imperativ?

Si Programimi Funksional dhe Programimi Imperativ janë paradigma programimi

Cili është ndryshimi midis programimit funksional dhe programimit imperativ?

Programimi funksional vs imperativ

Programimi funksional është një paradigmë programimi që e konsideron llogaritjen si vlerësim të funksioneve matematikore dhe shmang ndryshimin e gjendjes dhe të dhënave të ndryshueshme. Programimi Imperativ është një paradigmë programimi që përdor deklarata, që ndryshojnë gjendjen e një programi.
Strukturat
Programimi funksional përmban thirrje funksionesh dhe funksione të rendit më të lartë. Programimi imperativ përmban if, else, while, për sythe, funksione, klasa dhe objekte.
Gjuhët e Programimit
Scala, Haskell dhe Lisp janë gjuhë programimi funksionale. C, C++, Java janë gjuhë programimi imperative.
Fokus
Programimi funksional fokusohet në rezultatin përfundimtar. Programimi Imperativ fokusohet në përshkrimin se si funksionon një program.
Thjeshtësi
Programimi funksional është i vështirë. Programimi imperativ është më i lehtë.

Përmbledhje – Programimi Funksional kundër Programimit Imperativ

Një paradigmë programimi ofron një stil të ndërtimit të strukturës dhe elementeve të një programi kompjuterik. Programimi Funksional dhe Programimi Imperativ janë dy prej tyre. Dallimi midis programimit funksional dhe programimit imperativ është se programimi funksional i konsideron llogaritjet si funksione matematikore dhe shmang ndryshimin e gjendjes dhe të dhënave të ndryshueshme ndërsa programimi imperativ përdor deklaratat që ndryshojnë gjendjen e programit.

Recommended: