Pagrindinis skirtumas - funkcinis programavimas ir privalomasis programavimas
Pagrindinis skirtumas tarp funkcinio programavimo ir imperatyvaus programavimo yra tas, kad funkcinis programavimas skaičiavimus laiko matematinėmis funkcijomis ir vengia keisti būsenos ir keičiamų duomenų, o imperatyvus programavimas naudoja teiginius, kurie keičia programų būseną.
Programavimo paradigma pateikia kompiuterio programos struktūros ir elementų kūrimo stilių. Programavimo paradigmos padeda klasifikuoti programavimo kalbas pagal jų ypatybes. Programavimo kalba gali turėti įtakos daugiau paradigmų. Objektinėje paradigmoje programa yra susisteminta naudojant objektus, o objektai perduoda pranešimus naudodami metodus. Loginis programavimas gali išreikšti skaičiavimą tik matematine logika. Dar dvi programavimo paradigmos yra funkcinis programavimas ir imperatyvus programavimas. Funkcinis programavimas leidžia išreikšti skaičiavimus kaip matematinių funkcijų vertinimą. Privalomas programavimas pateikia teiginius, kurie aiškiai keičia atminties būseną. Šiame straipsnyje aptariamas skirtumas tarp funkcinio programavimo ir imperatyvaus programavimo.
TURINYS
1. Apžvalga ir pagrindiniai skirtumai
2. Kas yra funkcinis programavimas
3. Kas yra imperatyvus programavimas
4. Funkcinio programavimo ir imperatyvaus programavimo panašumai
5. Šoninis palyginimas - funkcinis programavimas ir imperatyvus programavimas lentelių pavidalu
6. Santrauka
Kas yra funkcinis programavimas?
Funkcinis programavimas yra pagrįstas matematika. Pagrindinis funkcinio programavimo principas yra tai, kad visas skaičiavimas yra laikomas atskirų matematinių funkcijų deriniu. Matematinė funkcija susieja įvestis su išvestimi. Tarkime, kad yra funkcija, vadinama f (x) = x * x. „X“vertė 1 susiejama su išėjimu 1. „x“vertė 2 susiejama su išėjimu 4. „x“vertė 3 susiejama su išėjimu 9 ir pan.
01 pav. Funkcinės programavimo kalbos pavyzdys - Haskell
Funkciniame programavime atsižvelgiama į modelius. Funkcinės programavimo kalbos „Haskell“naudoja žemiau pateiktą metodą, kad surastų skaičių sumą.
Funkcijos suma turi sveikojo skaičiaus reikšmes, o rezultatas taip pat bus sveikasis skaičius. Tai gali būti parašyta kaip suma: [int] -> int. Sumuojimą galima atlikti vadovaujantis žemiau pateiktais modeliais.
suma [n] = n, vieno skaičiaus suma yra pats skaičius.
Jei yra skaičių sąrašas, jį galima parašyti taip. N reiškia pirmąjį skaičių, o ns - kitus skaičius
suma (n, ns) = n + suma ns.
Aukščiau pateiktus modelius galima pritaikyti suradus trijų skaičių 3,4,5 sumą.
3 + suma [4,5]
3 + (4 + suma [5])
3+ 4 + 5 = 12
Teigiama, kad funkcija ar išraiška turi šalutinį poveikį, jei ji modifikuoja kurią nors būseną už savo taikymo srities ribų arba be grįžtamosios vertės pastebi sąveiką su savo iškvietimo funkcijomis. Funkcinis programavimas sumažina šį šalutinį poveikį. Būsenos pokyčiai nepriklauso nuo funkcijos įvesties. Tai naudinga suprantant programos elgesį. Vienas funkcinio programavimo trūkumas yra tas, kad mokytis funkcinio programavimo yra sunkiau, palyginti su imperatyviu programavimu.
Kas yra privalomas programavimas?
Imperatyvus programavimas yra programavimo paradigma, naudojanti teiginius, kurie keičia programos būseną. Daugiausia dėmesio skirta programos veikimo aprašymui. Programavimo kalbos, tokios kaip Java, C ir C #, yra būtinos programavimo kalbos. Jame pateikiama žingsnis po žingsnio procedūra, ką daryti. Privalomose programavimo kalbose yra tokios struktūros, kaip „if, else“, o kilpoms, klasėms, objektams ir funkcijoms.
02 pav. Imperatyvios programavimo kalbos pavyzdys - Java
Dešimt skaičių susumuojant galima rasti „Java“taip. Kiekvienoje iteracijoje i vertė pridedama prie sumos ir priskiriama sumos kintamajam. Kiekvienoje iteracijoje sumos vertė nuolat pridedama prie anksčiau apskaičiuotos sumos.
int suma = 0;
už (int i = 0; i <= 10; i ++) {
suma = suma + i;
}
Privalomą programavimą lengva išmokti, suprasti ir derinti. Lengva rasti programos būseną, nes naudojami būsenos kintamieji. Kai kurie trūkumai yra tai, kad jis gali ilginti kodą ir taip pat sumažinti mastelį.
Koks yra funkcinio programavimo ir imperatyvaus programavimo panašumas?
Tiek funkcinis programavimas, tiek imperatyvus programavimas yra programavimo paradigmos
Koks skirtumas tarp funkcinio programavimo ir imperatyvaus programavimo?
Skirtingas straipsnis viduryje prieš lentelę
Funkcinis ir privalomas programavimas |
|
Funkcinis programavimas yra programavimo paradigma, kuri skaičiavimą laiko matematinių funkcijų įvertinimu ir vengia keisti būsenos ir kintamų duomenų. | Privalomasis programavimas yra programavimo paradigma, naudojanti teiginius, kurie keičia programos būseną. |
Konstrukcijos | |
Funkciniame programavime yra funkcijų iškvietimai ir aukštesnio lygio funkcijos. | Privalomame programavime yra kilpos, if, else, while, kilpos, funkcijos, klasės ir objektai. |
Programavimo kalbos | |
„Scala“, „Haskell“ir „Lisp“yra funkcinės programavimo kalbos. | C, C ++, Java yra būtinos programavimo kalbos. |
Dėmesys | |
Funkcinis programavimas orientuotas į galutinį rezultatą. | Privalomas programavimas sutelkia dėmesį į tai, kaip programa veikia. |
Paprastumas | |
Funkcinis programavimas yra sunkus. | Privalomas programavimas yra lengvesnis. |
Santrauka - funkcinis programavimas ir privalomasis programavimas
Programavimo paradigma pateikia kompiuterio programos struktūros ir elementų kūrimo stilių. Funkcinis programavimas ir imperatyvus programavimas yra du iš jų. Skirtumas tarp funkcinio programavimo ir imperatyvaus programavimo yra tas, kad funkcinis programavimas skaičiavimus laiko matematinėmis funkcijomis ir vengia keisti būsenos ir keičiamų duomenų, o imperatyvus programavimas naudoja teiginius, kurie keičia programų būseną.