Programowanie funkcyjne: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
Nie podano opisu zmian
Znaczniki: Z urządzenia mobilnego Z wersji mobilnej (przeglądarkowej)
Przywrócenie sekcji historia, bardziej adekwatne byłoby dodanie źródeł niż usuwanie czyjejś pracy, bo sekcja sama w sobie wygląda dobrze
Linia 2:
 
W czystym programowaniu funkcyjnym, raz zdefiniowana funkcja zwraca zawsze tą samą wartość dla danych wartości argumentów, tak jak funkcje matematyczne.
 
== Historia ==
Podstawą teoretyczną programowania funkcyjnego jest opracowany w latach 30. XX wieku przez [[Alonzo Church]]a [[rachunek lambda]], a dokładnie [[rachunek lambda z typami]].
 
Pierwszym funkcyjnym językiem programowania był [[Information Processing Language]] (IPL) opracowany przez Allena Newella, Cliffa Shawa i Herberta Simona w połowie lat 50. XX wieku dla maszyny JOHNNIAC. Jednakże przełom dla programowania funkcyjnego stanowiło opracowanie przez Johna McCarthy pod koniec lat pięćdziesiątych języka [[Lisp|LISP]] dla maszyn IBM 700/7000. [[Lisp|LISP]] wprowadził wiele cech spotykanych we współczesnych językach programowania. Opracowany w latach 70. język [[Scheme]] miał za zadanie uproszczenie i poprawienie języka [[Lisp|LISP]].
 
W latach 70. powstały dwa kolejne funkcyjne języki programowania: język [[Meta Language|ML]] opracowany przez Robina Milnera na Uniwersytecie w Edynburgu oraz język [[Miranda (język programowania)|Miranda]] opracowany przez Davida Turnera na Uniwersytecie w Kent. Język ML dał początek kilku dialektom, z których najpopularniejsze obecnie to [[OCaml|Objective Caml]] oraz [[Standard ML]]. Pod koniec lat 80. został opracowany i ustandaryzowany język programowania [[Haskell]], wywodzący się z języka Miranda.
 
Jednym z najnowszych języków funkcyjnych jest rozwijany przez firmę [[Microsoft]] język [[F Sharp|F#]]. Jest to przeniesienie języka [[OCaml|Objective Caml]] na platformę [[.NET]].
 
== Podział języków funkcyjnych ==