早期計算機理論有兩個理念,一個是圖靈的state machine, 另一個理論是圖靈的博士導師Alonzo Church的 stateless machine. 圖靈理論上的是imperative language, 而Alonzo Church理論上的是FP,如Lisp。 PF 的數學基礎是 lamda calculus, PF 因為沒有state, 所以沒有 side effects, 不容許mutation ,可以寫 inline function, anonymous function, 用 expression trees, 所以寫出來的code 非常簡潔漂亮,而且不會出錯。更大的好處是因為stateless, 所以不同functions 可以同時運行,特別是在 múltiples cores ,運行速度快。而state machine 的 concurrent control 是很麻煩易錯的。由於FP的諸多好處,不僅新的FP語言不斷湧現,而且幾乎所有流行語言,Java, Python, C#, C++,,,,等等都支持FP
FP有自己獨特的理論,獨特的數學。如果沒有學過FP, 很難幾天內就可以掌握一門新的FP。 懂Java的可以幾天寫C#,但熟練Fortran的,不可能幾天就玩轉Lisp