Programowanie funkcyjne

0
1024
Programowanie funkcyjne

Informatyka i matematyka to pokrewne dziedziny – chyba mało kto w to wątpi. To pokrewieństwo widać również, gdy mamy do czynienia z programowaniem funkcyjnym.

Czym jest programowanie funkcyjne?

W krótkich słowach jest to filozofia i metodyka programowania, będąca jedną z odmian programowania deklaratywnego. W obrębie programowania funkcyjnego funkcje należą do wartości podstawowych, natomiast główny nacisk kładziony jest nie na wykonywanie poleceń, a na wartościowanie funkcji. Ponadto, w czystym programowaniu funkcyjnym funkcja raz zdefiniowana zwraca zawsze tę samą wartość dla danych wartości argumentów – zupełnie jak funkcje matematyczne. Teraz widzicie, o jakim podobieństwie jest mowa?

Programowanie funkcyjne jest stare jak świat

Programowanie funkcyjne jest stare jak światChociaż może nie jak świat, bo ten jest naprawdę strasznie stary, ale jednak. Sięga swoimi korzeniami do lat trzydziestych dwudziestego wieku, a jego podstaw można upatrywać w tak zwanym rachunku lambda, opracowanym przez niejakiego Alonzo Churcha. Na dalszy rozwój doktryny trzeba było jednak poczekać aż do lat pięćdziesiątych, kiedy to trzej przesympatyczni panowie uczeni – Allen Newell, Cliff Shaw i Herbert Simon – opracowali pierwszy funkcyjny język programowania. Nazywał się on Information Processing Language (IPL), a służył dla maszyn typu JOHNNIAC. Dalszy przełom w rozwoju programowania funkcyjnego nastąpił niecałą dekadę później, kiedy to John McCarthy opracował język LISP dla komputerów IBM 700/7000. Język ten zawierał wiele cech charakterystycznych dla współczesnych języków programowania. Kolejne punkty zwrotne miały miejsce w latach siedemdziesiątych – za sprawą opracowania języka Scheme, mającego upraszczać język LISP oraz dwa kolejne języki. Pierwszy z nich, opracowany przez Robina Milnera na Uniwersytecie w Edynburgu, nazywał się ML. Dał on podstawę kilku dialektom, takim jak Objective Caml oraz Standard ML. Drugim z nich był język Miranda, którego ojcem był David Turner. Język ten dał podstawę jeszcze bardziej zaawansowanemu – a zwał się on Haskell.

Programowanie funkcyjne nie zostało zapomniane ani nie pokryło się kurzem. Wprost przeciwnie. W dalszym ciągu powstają coraz to inne języki programowania – najnowszym jest F#. Ten produkt Microsoftu stanowi przeniesienie języka Objective Caml na platformę .NET.

[Głosów:1    Średnia:5/5]

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here