Pagkakaiba sa Pagitan ng Functional Programming at Imperative Programming

Talaan ng mga Nilalaman:

Pagkakaiba sa Pagitan ng Functional Programming at Imperative Programming
Pagkakaiba sa Pagitan ng Functional Programming at Imperative Programming

Video: Pagkakaiba sa Pagitan ng Functional Programming at Imperative Programming

Video: Pagkakaiba sa Pagitan ng Functional Programming at Imperative Programming
Video: From C to Python by Ross Rheingans-Yoo 2024, Nobyembre
Anonim

Mahalagang Pagkakaiba – Functional Programming kumpara sa Imperative Programming

Ang pangunahing pagkakaiba sa pagitan ng functional programming at imperative programming ay ang functional programming ay isinasaalang-alang ang mga computations bilang mathematical function at iniiwasan ang pagbabago ng estado at nababago na data habang ginagamit ng imperative programming ang mga statement na nagbabago sa status ng mga program.

Ang isang programming paradigm ay nagbibigay ng istilo ng pagbuo ng istruktura at mga elemento ng isang computer program. Ang mga programming paradigms ay tumutulong sa pag-uuri ng mga programming language batay sa kanilang mga tampok. Ang isang programming language ay maaaring makaimpluwensya sa higit pang mga paradigms. Sa object-oriented paradigm, ang programa ay nakabalangkas gamit ang mga bagay, at ang mga bagay ay nagpapasa ng mga mensahe gamit ang mga pamamaraan. Ang logic programming ay maaaring magpahayag ng computation sa eksklusibo sa mga tuntunin ng mathematical logic. Ang isa pang dalawang paradigm sa programming ay functional programming at imperative programming. Ang functional programming ay nagbibigay-daan sa pagpapahayag ng mga computations bilang pagsusuri ng mga mathematical function. Ang imperative programming ay nagbibigay ng mga pahayag na tahasang nagbabago sa estado ng memorya. Tinatalakay ng artikulong ito ang pagkakaiba sa pagitan ng functional programming at imperative programming.

Ano ang Functional Programming?

Functional Programming ay batay sa Mathematics. Ang pangunahing prinsipyo sa likod ng functional programming ay ang lahat ng computation ay itinuturing bilang isang kumbinasyon ng mga hiwalay na mathematical function. Ang isang mathematical function ay nagmamapa ng mga input sa mga output. Ipagpalagay na mayroong isang function na tinatawag na f(x)=xx. Ang x value 1 ay nakamapa sa output 1. Ang x value 2 ay nakamapa sa output 4. Ang x value 3 ay nakamapa sa output 9 at iba pa.

Pagkakaiba sa pagitan ng Functional Programming at Imperative Programming
Pagkakaiba sa pagitan ng Functional Programming at Imperative Programming

Figure 01: Halimbawa ng Functional programming language – Haskell

Sa functional programming, ang mga pattern ay isinasaalang-alang. Ang Functional programming language na Haskell, ay gumagamit ng pamamaraan sa ibaba upang mahanap ang kabuuan ng mga numero.

Ang sum function ay may mga integer value, at ang resulta ay magiging integer din. Maaari itong isulat bilang kabuuan: [int] -> int. Ang pagsusuma ay maaaring gawin sa pamamagitan ng pagsunod sa mga pattern sa ibaba.

sum[n]=n, ang kabuuan ng isang numero ay ang numero mismo.

Kung mayroong listahan ng mga numero, maaari itong isulat bilang mga sumusunod. Ang n ay kumakatawan sa unang numero, at ang ns ay kumakatawan sa iba pang mga numero

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

Maaaring ilapat ang mga pattern sa itaas upang mahanap ang kabuuan ng tatlong numero na 3, 4, 5.

3 + kabuuan [4, 5]

3 + (4 + sum [5])

3+ 4 + 5=12

Ang isang function o isang expression ay sinasabing may mga side effect kung binago nito ang ilang estado sa labas ng saklaw nito o may nakikitang pakikipag-ugnayan sa mga function ng pagtawag nito bukod sa bumabalik na halaga. Pinaliit ng functional programming ang mga side effect na ito. Ang mga pagbabago sa estado ay hindi nakasalalay sa mga input ng function. Ito ay kapaki-pakinabang kapag nauunawaan ang pag-uugali ng programa. Ang isang disbentaha ng functional programming ay ang pag-aaral ng functional programming ay mas mahirap kumpara sa imperative programming.

Ano ang Imperative Programming?

Ang Imperative programming ay isang programming paradigm na gumagamit ng mga pahayag na nagbabago sa estado ng isang program. Nakatuon ito sa paglalarawan kung paano gumagana ang isang programa. Ang mga programming language tulad ng Java, C at C ay mga kinakailangang programming language. Nagbibigay ito ng hakbang-hakbang na pamamaraan kung ano ang gagawin. Ang mga imperative programming language ay naglalaman ng mga istruktura gaya ng kung, kung hindi, habang, para sa mga loop, klase, bagay at function.

Pangunahing Pagkakaiba sa Pagitan ng Functional Programming at Imperative Programming
Pangunahing Pagkakaiba sa Pagitan ng Functional Programming at Imperative Programming

Figure 02: Halimbawa ng Imperative programming language – Java

Ang kabuuan ng sampung numero ay matatagpuan sa Java tulad ng sumusunod. Sa bawat pag-ulit, ang i value ay idinaragdag sa kabuuan at itinalaga sa sum variable. Sa bawat pag-ulit, patuloy na idinaragdag ang halaga ng kabuuan sa naunang nakalkulang kabuuan.

int sum=0;

for (int i=0; i<=10; i++) {

sum=kabuuan + i;

}

Ang imperative programming ay madaling matutunan, maunawaan at i-debug. Madaling mahanap ang estado ng programa dahil sa paggamit ng mga variable ng estado. Ang ilang mga disbentaha ay maaari nitong gawing mahaba ang code at maaari ding mabawasan ang scalability.

Ano ang Pagkakatulad sa pagitan ng Functional Programming at Imperative Programming?

Parehong Functional Programming at Imperative Programming ay programming paradigms

Ano ang Pagkakaiba sa pagitan ng Functional Programming at Imperative Programming?

Functional vs Imperative Programming

Ang Functional Programming ay isang programming paradigm na isinasaalang-alang ang computation bilang pagsusuri ng mga mathematical function at iniiwasan ang pagbabago ng estado at nababagong data. Ang Imperative Programming ay isang programming paradigm na gumagamit ng mga statement, na nagbabago sa estado ng isang program.
Mga Istraktura
Functional Programming ay naglalaman ng mga function call at mas mataas na order na function. Ang Imperative Programming ay naglalaman ng if, else, while, for loops, functions, classes and objects.
Programming Languages
Scala, Haskell at Lisp ay functional programming language. Ang C, C++, Java ay mga kinakailangang programming language.
Focus
Functional Programming ay nakatuon sa resulta. Imperative Programming ay nakatuon sa paglalarawan kung paano gumagana ang isang programa.
Simplicity
Mahirap ang functional programming. Mas madali ang imperative programming.

Buod – Functional Programming vs Imperative Programming

Ang isang programming paradigm ay nagbibigay ng istilo ng pagbuo ng istruktura at mga elemento ng isang computer program. Ang Functional Programming at Imperative Programming ay dalawa sa kanila. Ang pagkakaiba sa pagitan ng functional programming at imperative programming ay ang functional programming ay isinasaalang-alang ang mga computations bilang mathematical function at iniiwasan ang pagbabago ng estado at nababago na data habang ginagamit ng imperative programming ang mga pahayag na nagbabago sa status ng mga program.

Inirerekumendang: