Functional Programming

Functional Programming中文叫函式式編程,所謂的functional programming 就是函式式編程,這也是一種編程方法,或者說是編程模式,同面向過程的編程,以及面向對象的編程、面向邏輯的編程一樣。

基本介紹

  • 中文名:函式式編程
  • 外文名:Functional Programming
  • 定義:函式式編程
  • 發布人Haskell
  • 發布時間:Haskell
定義,程式語言,歷史,

定義

所謂的functional programming 就是函式式編程,這也是一種編程方法,或者說是編程模式,同面向過程的編程,以及面向對象的編程、面向邏輯的編程一樣。

程式語言

在最新的visual studio 2010里微軟新增加了一門語言 F# 這門新的語言就是為函式式編程新開發的。
微軟計畫將慢慢整合F#至.NET平台並使F#最終成為.NET平台的頂峰語言。
眾所周知,F#是一種函式型程式設計(FP,Functional Programming)語言。然而F#對IP(Imperative Programming)與OOP(Object Oriented Programming)的支持幾乎一樣的出色。
F#也許終將成為程式核心部分設計的首選,而C#與VB等將在用戶界面互動設計方面繼續發揮其強大的潛力。
函式式編程是種編程典範,它將電腦運算視為函式的計算。函式程式語言最重要的基礎是λ演算(lambda calculus)。而且λ演算的函式可以接受函式當作輸入(引數)和輸出(傳出值)。
和指令式編程相比,函式式編程強調函式的計算比指令的執行重要。
和過程化編程相比,函式式編程里,函式的計算可隨時調用。

歷史

雖然 λ 演算並非設計來於計算機上執行,但可視為第一個函式式程式語言。1980年代末期,Haskell發布,企圖集合很多函式式編程研究里的想法。
速度和空間上的顧慮
函式式編程常被認為嚴重耗費在CPU和記憶體資源。主因有二:
1.早期的函式式程式語言實現時並無考慮過效率問題。
而非函式式程式語言為求提升速度,會在某些部分放棄邊界檢查或垃圾回收等功能。
2.緩式評估亦為語言如Haskell增加了額外的管理工作。
函式式程式語言特徵
純函式式的程式沒有變數和副作用。
函式式編程經常使用遞歸
純函式式程式語言
因為純函式式程式設計語言沒有變數,函式沒有副作用,編寫出的程式可以利用memoization、common subexpression elimination和平行計算在運行時和編譯時得到大量最佳化。
例子
函式式編程中最古老的例子莫過於1958年被創造出來的LISP了,透過LISP,可以用精簡的人力。較現代的例子包括Haskell、Clean、Erlang和Miranda等。

相關詞條

熱門詞條

聯絡我們