Razlika između inačica stranice »Funkcijsko programiranje«

Izvor: Hrvatska internetska enciklopedija
Skoči na:orijentacija, traži
(Bot: Automatski unos stranica)
 
m (Bot: Automatska zamjena teksta (-{{cite web +{{Citiranje weba))
 
Redak 5: Redak 5:
Funkcijski jezici uključuju [[APL (programski jezik)|APL]], [[Erlang (programski jezik)|Erlang]], [[Haskell (programski jezik)|Haskell]], [[Lisp (programski jezik)|Lisp]], [[ML (programski jezik)|ML]] i [[Scheme (programski jezik)|Scheme]] (u abecednom poretku).
Funkcijski jezici uključuju [[APL (programski jezik)|APL]], [[Erlang (programski jezik)|Erlang]], [[Haskell (programski jezik)|Haskell]], [[Lisp (programski jezik)|Lisp]], [[ML (programski jezik)|ML]] i [[Scheme (programski jezik)|Scheme]] (u abecednom poretku).


Funkcijski [[računalno programiranje|programski]] [[programski jezik|jezici]], napose [[čisti funkcijski|"čisti funkcijski"]], su često istaknuti u akademskoj zajednici, za razliku od komercijalnog razvoja programske podrške. U drugu ruku, istaknuti funkcijski jezici korišteni u industriji i komercijalnim aplikacijama uključuju [[Erlang (programski jezik)|Erlang]] (konkurentne aplikacije),<ref>{{cite web|title=Who uses Erlang for product development?|work=Frequently asked questions about Erlang|url=http://www.erlang.org/faq/t1.html#AEN50|accessdate=2006-06-27}} #''"The largest user of Erlang is (surprise!) Ericsson. Ericsson uses it to #write software used in telecommunications systems. Many (dozens) projects have #used it, a particularly large one is the extremely scalable AXD301 ATM switch.''" Other commercial users listed as part of the FAQ include: Nortel, Deutsche Flugsicherung (the German national air traffic control organisation), and T-Mobile.</ref>, [[R (programski jezik)|R]] (statistika)<ref>[http://www.r-project.org/useR-2006/program.html The useR! 2006 conference schedule includes papers on the commercial use of R]</ref>, [[Mathematica]] (simbolička matematika),<ref>{{cite web|author=Department of Applied Math, University of Colorado|title=Functional vs. Procedural Programming Language|url=http://amath.colorado.edu/computing/mmm/funcproc.html|accessdate=2006-08-28|archiveurl=https://web.archive.org/web/20071113175801/http://amath.colorado.edu/computing/mmm/funcproc.html|archivedate=13. studenoga 2007.}}</ref> [[Haskell (programski jezik)|Haskell]],<ref>{{cite web|title=Haskell and the Linspire Toolchain|url=http://www.galois.com/cufp/|accessdate=9. lipnja 2007.|archiveurl=https://web.archive.org/web/20070314082951/http://www.galois.com/cufp/|archivedate=14. ožujka 2007.}}</ref><ref>{{cite web|title=Why Functional Programming Matters to Credit Suisse|url=http://www.galois.com/cufp/|accessdate=9. lipnja 2007.|archiveurl=https://web.archive.org/web/20070314082951/http://www.galois.com/cufp/|archivedate=14. ožujka 2007.}}</ref> [[ML (programski jezik)|ML]],<ref>{{cite web|title=Caml Trader: Adventures of a Functional Programmer on Wall Street|url=http://www.galois.com/cufp/|accessdate=9. lipnja 2007.|archiveurl=https://web.archive.org/web/20070314082951/http://www.galois.com/cufp/|archivedate=14. ožujka 2007.}}</ref> [[J (programski jezik)|J]] i [[K (programski jezik)|K]] (financijska analiza), te [[domenski-specifičan programski jezik|domenski-specifične programske jezike]] kao što je [[XSLT]].<ref>{{cite web | url=http://www.topxml.com/xsl/articles/fp/ | author=Dimitre Novatchev | title=The Functional Programming Language XSLT - A proof through examples | accessdate=May 27 | accessyear=2006 | work=TopXML}}</ref><ref>{{cite web| url=http://gnosis.cx/publish/programming/xml_models_fp.html | author=David Mertz | title=XML Programming Paradigms (part four): Functional Programming approached to XML processing | accessdate=May 27 | accessyear=2006 | work=IBM developerWorks}}</ref>
Funkcijski [[računalno programiranje|programski]] [[programski jezik|jezici]], napose [[čisti funkcijski|"čisti funkcijski"]], su često istaknuti u akademskoj zajednici, za razliku od komercijalnog razvoja programske podrške. U drugu ruku, istaknuti funkcijski jezici korišteni u industriji i komercijalnim aplikacijama uključuju [[Erlang (programski jezik)|Erlang]] (konkurentne aplikacije),<ref>{{Citiranje weba|title=Who uses Erlang for product development?|work=Frequently asked questions about Erlang|url=http://www.erlang.org/faq/t1.html#AEN50|accessdate=2006-06-27}} #''"The largest user of Erlang is (surprise!) Ericsson. Ericsson uses it to #write software used in telecommunications systems. Many (dozens) projects have #used it, a particularly large one is the extremely scalable AXD301 ATM switch.''" Other commercial users listed as part of the FAQ include: Nortel, Deutsche Flugsicherung (the German national air traffic control organisation), and T-Mobile.</ref>, [[R (programski jezik)|R]] (statistika)<ref>[http://www.r-project.org/useR-2006/program.html The useR! 2006 conference schedule includes papers on the commercial use of R]</ref>, [[Mathematica]] (simbolička matematika),<ref>{{Citiranje weba|author=Department of Applied Math, University of Colorado|title=Functional vs. Procedural Programming Language|url=http://amath.colorado.edu/computing/mmm/funcproc.html|accessdate=2006-08-28|archiveurl=https://web.archive.org/web/20071113175801/http://amath.colorado.edu/computing/mmm/funcproc.html|archivedate=13. studenoga 2007.}}</ref> [[Haskell (programski jezik)|Haskell]],<ref>{{Citiranje weba|title=Haskell and the Linspire Toolchain|url=http://www.galois.com/cufp/|accessdate=9. lipnja 2007.|archiveurl=https://web.archive.org/web/20070314082951/http://www.galois.com/cufp/|archivedate=14. ožujka 2007.}}</ref><ref>{{Citiranje weba|title=Why Functional Programming Matters to Credit Suisse|url=http://www.galois.com/cufp/|accessdate=9. lipnja 2007.|archiveurl=https://web.archive.org/web/20070314082951/http://www.galois.com/cufp/|archivedate=14. ožujka 2007.}}</ref> [[ML (programski jezik)|ML]],<ref>{{Citiranje weba|title=Caml Trader: Adventures of a Functional Programmer on Wall Street|url=http://www.galois.com/cufp/|accessdate=9. lipnja 2007.|archiveurl=https://web.archive.org/web/20070314082951/http://www.galois.com/cufp/|archivedate=14. ožujka 2007.}}</ref> [[J (programski jezik)|J]] i [[K (programski jezik)|K]] (financijska analiza), te [[domenski-specifičan programski jezik|domenski-specifične programske jezike]] kao što je [[XSLT]].<ref>{{Citiranje weba | url=http://www.topxml.com/xsl/articles/fp/ | author=Dimitre Novatchev | title=The Functional Programming Language XSLT - A proof through examples | accessdate=May 27 | accessyear=2006 | work=TopXML}}</ref><ref>{{Citiranje weba| url=http://gnosis.cx/publish/programming/xml_models_fp.html | author=David Mertz | title=XML Programming Paradigms (part four): Functional Programming approached to XML processing | accessdate=May 27 | accessyear=2006 | work=IBM developerWorks}}</ref>


[[Lambda račun]] je osnovica većine modela funkcijskog programiranja.
[[Lambda račun]] je osnovica većine modela funkcijskog programiranja.

Trenutačna izmjena od 22:18, 17. studenoga 2021.

Funkcijsko programiranje je programska paradigma koja tretira računanje kao evaluaciju matematičkih funkcija i izbjegava stanje i mutabilne podatke. Naglašava primjenu funkcija, kao suprotnost stilu imperativnog programiranja koji naglašava promjene u stanju.[1]

Šira koncepcija funkcijskog programiranja jednostavno definira skup zajedničkih briga i tema mjesto popisa distinkcija od ostalih paradigmi. Često se važnima smatraju funkcije višeg reda i prvorazredne funkcije, zatvaranja i rekurzija. Druga uobičajena svojstva funkcijskih programskih jezika su kontinuacije, Hindley-Milner sustavi inference tipova, nestriktne evaluacijske strategije (uključujući i "lijenost") te monade.

Funkcijski jezici uključuju APL, Erlang, Haskell, Lisp, ML i Scheme (u abecednom poretku).

Funkcijski programski jezici, napose "čisti funkcijski", su često istaknuti u akademskoj zajednici, za razliku od komercijalnog razvoja programske podrške. U drugu ruku, istaknuti funkcijski jezici korišteni u industriji i komercijalnim aplikacijama uključuju Erlang (konkurentne aplikacije),[2], R (statistika)[3], Mathematica (simbolička matematika),[4] Haskell,[5][6] ML,[7] J i K (financijska analiza), te domenski-specifične programske jezike kao što je XSLT.[8][9]

Lambda račun je osnovica većine modela funkcijskog programiranja.

Izvori

  1. Hudak, Paul (rujna 1989). "Conception, evolution, and application of functional programming languages". ACM Computing Surveys 21 (3): 359-411. Inačica izvorne stranice arhivirana 20. ožujka 2009.. http://www.cs.berkeley.edu/~jcondit/pl-prelim/hudak89functional.pdf Pristupljeno 9. lipnja 2007. 
  2. "Who uses Erlang for product development?". Frequently asked questions about Erlang. http://www.erlang.org/faq/t1.html#AEN50 Pristupljeno 27. lipnja 2006.  #"The largest user of Erlang is (surprise!) Ericsson. Ericsson uses it to #write software used in telecommunications systems. Many (dozens) projects have #used it, a particularly large one is the extremely scalable AXD301 ATM switch." Other commercial users listed as part of the FAQ include: Nortel, Deutsche Flugsicherung (the German national air traffic control organisation), and T-Mobile.
  3. The useR! 2006 conference schedule includes papers on the commercial use of R
  4. Department of Applied Math, University of Colorado. "Functional vs. Procedural Programming Language". Inačica izvorne stranice arhivirana 13. studenoga 2007.. http://amath.colorado.edu/computing/mmm/funcproc.html Pristupljeno 28. kolovoza 2006. 
  5. "Haskell and the Linspire Toolchain". Inačica izvorne stranice arhivirana 14. ožujka 2007.. http://www.galois.com/cufp/ Pristupljeno 9. lipnja 2007. 
  6. "Why Functional Programming Matters to Credit Suisse". Inačica izvorne stranice arhivirana 14. ožujka 2007.. http://www.galois.com/cufp/ Pristupljeno 9. lipnja 2007. 
  7. "Caml Trader: Adventures of a Functional Programmer on Wall Street". Inačica izvorne stranice arhivirana 14. ožujka 2007.. http://www.galois.com/cufp/ Pristupljeno 9. lipnja 2007. 
  8. Dimitre Novatchev. "The Functional Programming Language XSLT - A proof through examples". TopXML. http://www.topxml.com/xsl/articles/fp/ Pristupljeno 27 svibnja 
  9. David Mertz. "XML Programming Paradigms (part four): Functional Programming approached to XML processing". IBM developerWorks. http://gnosis.cx/publish/programming/xml_models_fp.html Pristupljeno 27 svibnja