Ključna razlika - funkcionalno programiranje vs obvezno programiranje
Ključna razlika med funkcionalnim programiranjem in imperativnim programiranjem je v tem, da funkcionalno programiranje šteje račune kot matematične funkcije in se izogiba spreminjanju stanja in spremenljivih podatkov, medtem ko imperativno programiranje uporablja stavke, ki spreminjajo stanje programov.
Programska paradigma ponuja slog gradnje strukture in elementov računalniškega programa. Programske paradigme pomagajo razvrstiti programske jezike glede na njihove značilnosti. Programski jezik bi lahko vplival na več paradigem. V objektno usmerjeni paradigmi je program strukturiran z uporabo predmetov, predmeti pa posredujejo sporočila z uporabo metod. Logično programiranje lahko izračune izrazi izključno v smislu matematične logike. Še dve programski paradigmi sta funkcionalno programiranje in nujno programiranje. Funkcionalno programiranje omogoča izračun izračunov kot vrednotenje matematičnih funkcij. Imperativno programiranje vsebuje izjave, ki izrecno spreminjajo stanje pomnilnika. Ta članek obravnava razliko med funkcionalnim programiranjem in nujnim programiranjem.
VSEBINA
1. Pregled in ključna razlika
2. Kaj je funkcionalno programiranje
3. Kaj je imperativno programiranje
4. Podobnosti med funkcionalnim programiranjem in imperativnim programiranjem
5. Vzporedna primerjava - Funkcionalno programiranje vs imperativno programiranje v tabelarni obliki
6. Povzetek
Kaj je funkcionalno programiranje?
Funkcionalno programiranje temelji na matematiki. Ključno načelo funkcionalnega programiranja je, da se vsi izračuni štejejo za kombinacijo ločenih matematičnih funkcij. Matematična funkcija preslika vhode v izhode. Predpostavimo, da obstaja funkcija, imenovana f (x) = x * x. Vrednost x se preslika v izhod 1. Vrednost x 2 se preslika v izhod 4. Vrednost x 3 se preslika v izhod 9 in tako naprej.
Slika 01: Primer funkcionalnega programskega jezika - Haskell
Pri funkcionalnem programiranju se upoštevajo vzorci. Funkcionalni programski jezik Haskell uporablja spodnjo metodo za iskanje seštevanja števil.
Funkcija vsote ima celoštevilske vrednosti, rezultat pa bo tudi celo število. Lahko ga zapišemo kot vsoto: [int] -> int. Seštevanje lahko izvedemo po spodnjih vzorcih.
vsota [n] = n, vsota ene številke je številka sama.
Če obstaja seznam številk, ga lahko zapišemo na naslednji način. N predstavlja prvo številko, ns pa druge številke
vsota (n, ns) = n + vsota ns.
Zgornje vzorce lahko uporabimo za iskanje seštevka treh števil, ki so 3,4,5.
3 + vsota [4,5]
3 + (4 + vsota [5])
3+ 4 + 5 = 12
Funkcija ali izraz naj bi imel neželene učinke, če spremeni neko stanje zunaj obsega ali ima poleg povratne vrednosti opazno interakcijo s svojimi klicnimi funkcijami. Funkcionalno programiranje zmanjšuje te neželene učinke. Spremembe stanja niso odvisne od vhodov funkcije. Uporabno je pri razumevanju vedenja programa. Ena pomanjkljivost funkcionalnega programiranja je, da je učenje funkcionalnega programiranja težje v primerjavi z nujnim programiranjem.
Kaj je obvezno programiranje?
Imperativno programiranje je programska paradigma, ki uporablja stavke, ki spreminjajo stanje programa. Osredotoča se na opis delovanja programa. Programski jeziki, kot so Java, C in C #, so nujni programski jeziki. Zagotavlja korak za korakom postopek, kaj storiti. Imperativni programski jeziki vsebujejo strukture, kot so if, else, while, za zanke, razrede, predmete in funkcije.
Slika 02: Primer imperativnega programskega jezika - Java
Vsoto desetih številk lahko najdemo v Javi, kot sledi. V vsaki ponovitvi je vrednost i dodana vsoti in dodeljena spremenljivki seštevka. V vsaki ponovitvi se vrednost vsote še naprej dodaja k prej izračunani vsoti.
int vsota = 0;
za (int i = 0; i <= 10; i ++) {
vsota = vsota + i;
}
Imperativnega programiranja je enostavno naučiti, razumeti in odpraviti napake. Stanje programa je enostavno najti zaradi uporabe spremenljivk stanja. Nekatere pomanjkljivosti so, da lahko kodo podaljša in zmanjša prilagodljivost.
Kakšna je podobnost med funkcionalnim programiranjem in nujnim programiranjem?
Funkcionalno programiranje in nujno programiranje sta programski paradigmi
Kakšna je razlika med funkcionalnim programiranjem in obveznim programiranjem?
Diff Article Sredina pred mizo
Funkcionalno vs imperativno programiranje |
|
Funkcionalno programiranje je programska paradigma, ki računanje obravnava kot vrednotenje matematičnih funkcij in preprečuje spreminjanje stanja in spremenljivih podatkov. | Imperative Programming je programska paradigma, ki uporablja stavke, ki spreminjajo stanje programa. |
Strukture | |
Funkcionalno programiranje vsebuje klice funkcij in funkcije višjega reda. | Imperative Programming vsebuje if, else, while za zanke, funkcije, razrede in predmete. |
Programski jeziki | |
Scala, Haskell in Lisp so funkcionalni programski jeziki. | C, C ++, Java so nujni programski jeziki. |
Osredotočite se | |
Funkcionalno programiranje se osredotoča na končni rezultat. | Nujno programiranje se osredotoča na opis delovanja programa. |
Preprostost | |
Funkcionalno programiranje je težko. | Nujno programiranje je lažje. |
Povzetek - Funkcionalno programiranje vs imperativno programiranje
Programska paradigma ponuja slog gradnje strukture in elementov računalniškega programa. Funkcionalno programiranje in nujno programiranje sta dva izmed njih. Razlika med funkcionalnim programiranjem in obveznim programiranjem je v tem, da funkcionalno programiranje šteje račune kot matematične funkcije in se izogiba spreminjanju stanja in spremenljivih podatkov, medtem ko imperativno programiranje uporablja stavke, ki spreminjajo stanje programov.