Programowanie/Programowanie funkcyjne: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Ania (dyskusja | edycje)
Nowa strona: ===Programowanie funkcyjne=== Języki programowania takie jak C/C++/Java/Pyton są nazywane imperatywnymi językami programowania, ponieważ zawierają sekwencje zadań do wykonania. P...
 
Ania (dyskusja | edycje)
Linia 1:
===Programowanie funkcyjne===
 
Języki programowania takie jak [[C]]/[[C++]]/[[Java]]/[[Pyton]] są nazywane imperatywnymi językami programowania, ponieważ zawierają sekwencje zadań do wykonania. Programista jawnie, krok po kroku definiuje jak wykonać zadanie. Programowanie funkcyjne działa inaczej. Zamiast sekwencyjnie wykonywać zadania, języki funkcyjne wyznaczają jedynie wartości poszczególnych wyrażeń.
 
Programy funkcyjne składają się jedynie z funkcji. Funkcje są podstawowymi elementami języka funkcyjnego. Główny program jest funkcją, której podajemy argumenty, a w zamian otrzymujemy wyznaczoną wartość – wynik działania programu. Główna funkcja składa się tylko i wyłącznie z innych funkcji, które z kolei składają się z jeszcze innych funkcji. Funkcje takie dokładnie odpowiadają funkcjom w czysto matematycznym znaczeniu – przyjmują pewną liczbę parametrów i zwracają wynik. Każda operacja wykonywana podczas działania funkcji, a nie mająca związku z wartością zwracaną przez funkcję to efekt uboczny (np. operacje wejścia wyjścia, modyfikowanie zmiennych globalnych). Funkcje które nie posiadają efektów ubocznych nazywane są funkcjami czystymi (pure function).