Programowanie funkcyjne - Google

Programowanie funkcyjne

Z Wikipedii

Skocz do: nawigacji, szukaj

Programowanie funkcyjne (lub programowanie funkcjonalne) - filozofia programowania będąca odmianą programowania deklaratywnego, w której funkcje należą do wartości podstawowych, a nacisk kładzie się na wartościowanie (często rekursywnych) funkcji, a nie na wykonywanie poleceń.

Spis treści

[edytuj] Historia

Podstawą teoretyczną programowania funkcyjnego jest opracowany w latach 30. XX wieku przez Alonzo Churcha 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 dla maszyn IBM 700/7000. 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.

W latach 70. powstały dwa kolejne funkcyjne języki programowania: język ML opracowany przez Robina Milnera na Uniwersytecie w Edynburgu oraz język Miranda opracowany przez Davida Turnera na Uniwersytecie w Kent. Język ML dał początek kilku dialektom, z których najpopularniejsze obecnie to 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# przeznaczony dla platformy .NET

[edytuj] Podział języków funkcyjnych

Języki funkcyjne można podzielić na dwie grupy:

[edytuj] Języki czysto funkcyjne

Do tej grupy należą języki, w których nie występują zmienne ani efekty uboczne, a wartościowanie jest leniwe.

Wejście/wyjście w takich językach musi się odbywać jakimś alternatywnym mechanizmem, np. za pomocą monad.

Przedstawiciele tej podgrupy to Haskell oraz Clean.

[edytuj] Języki mieszane

Języki tej grupy są popularniejsze niż języki czysto funkcyjne. Umożliwiają one stosowanie zmiennych, pozwalają na efekty uboczne, tradycyjne wejście/wyjście i mieszanie stylu funkcyjnego z imperatywnym bądź obiektowym. Wartościowanie w nich jest przeważnie zachłanne.

Do grupy tej należą LISP z wszystkimi pochodnymi, F# Microsoftu, języki grupy ML (Standard ML, ocaml), tworzony przez polskich studentów język Nemerle, a także języki, w których elementy funkcyjne nie są aż tak ważne, jak Python, Ruby, a nawet do pewnego stopnia Perl.

[edytuj] Linki zewnętrzne

Strony w języku polskim:

Strony w języku angielskim:


Pierwszy letni transfer Realu?
Według włoskich mediów pierwszym letnim transferem Realu Madryt ma być obrońca Calcio Catanii Juan Vargas.
ME: kolejne dwie polskie osady w finałach
Marcin Grzybowski w C-1 oraz Wojciech Tyszyński i Paweł Baraszkiewicz w C-2 na 1000 metrów dołączyli do dwóch osad, które już w czwartek wywalczyły awans do finału ME w kajakarstwie klasycznym.
Drzyzga poprowadzi grę wicemistrza Polski?
Wojciech Drzyzga przez wiele lat był podporą reprezentacji Polski, z którą zagrał m.in. na igrzyskach w Moskwie i dwa razy w mistrzostwach świata. Po zakończeniu kariery został trenerem. Prowadził m.in. warszawską Legię i AZS Olsztyn. Obecnie jest cenionym komentatorem telewizyjnym. Jego starszy syn Tomasz jest libero w pierwszoligowej Gwardii Wrocław. Obecnie seniorską karierę rozpoczyna młodszy, ale bardziej utalentowany potomek Wojciecha Drzyzgi - Łukasz - czytamy w "Życiu Warszawy".
Ronaldinho podjął decyzję, "Barca" obniżyła cenę
Według włoskich mediów Ronaldinho, gwiazdor FC Barcelony, poinformował włodarzy klubu, że odejdzie tylko do AC Milan, pomimo zainteresowania ze strony angielskich klubów.
Rusza cykl turniejów Pro-Am
Turnieje Pro-Am to jedne z najbardziej popularnych rodzajów rozgrywek w Polsce. Po raz pierwszy zorganizowano je pięć lat temu i od tego czasu na stałe wpisane są w golfowy kalendarz. W tym roku w skład cyklu wchodzi 6 turniejów. Rywalizują zarówno zawodowcy jak i amatorzy.
Linki: Strona gwna