functional programming
プログラミングを数学的な活動としてとらえる考え方を指す。
副作用ではなく、返値を使って動作するプログラムを書くプログラミングパラダイム。
関数プログラミングを実践するには、それをサポートする言語を利用する方が効率的だが、そうでない言語で実践することも可能だ。
関数プログラミングをサポートする言語(関数型言語)として、ML, OCaml, Haskell, Concurrent Clean,F# などがある。また、Ruby, Python, JavaScriptは、直接関数プログラムをサポートしていないが、それに類する挙動を実装することができる。
Lispに関しては、Lisp自体が関数プログラミングをサポートする言語なのか、という点で議論があり、今のところ関数プログラミングをサポートしているかどうかに関しては、そのLispの方言に依存していると考えるほうが適切だろうと考えられる。