@mizzou: Programowanie funkcyjne polega na opisywaniu rozwiązania danego problemu a nie na pisaniu samego rozwiązania. Tyle teorii (którą można usłyszeń na uniwersytetach). W praktyce:
Na określonych zbiorach danych deklaruje się funkcje typowo matematyczne (w rozumieniu matematyki a nie programowania). Dana funkcja dla określonych danych wejściowych daje określony spójny wynik wyjściowy (matematyczne f(x) = y) opisy są typowo matematyczne tzn zapisujemy że funkcja f dla wartości 1 zwroci 2, dla wartosci 2
@micke: wszystko fajnie ale w ostatnim zdaniu poleciałeś, języki obiektowe ( prawie wszystkie, czyli C++ C# Java etc etc ) to języki imperatywne, a właśnie haskell i spółka to języki deklaratywne - od deklarowania rozwiązania, zamiast imperatywnego wykonywania komend
@mizzou: W językach imperatywnych program to jest sekwencja rozkazów (imperatywów), którą procesor musi wykonać. W językach funkcyjnych program to jedna (wielka) funkcja, która zwraca jakiś wynik (np. wypisanie komunikatów na ekran).
Na określonych zbiorach danych deklaruje się funkcje typowo matematyczne (w rozumieniu matematyki a nie programowania). Dana funkcja dla określonych danych wejściowych daje określony spójny wynik wyjściowy (matematyczne f(x) = y) opisy są typowo matematyczne tzn zapisujemy że funkcja f dla wartości 1 zwroci 2, dla wartosci 2