何時會用到函數式程式設計?

Programming Paradigm 概念

Eleanor Thomas

Senior Data Analytics Engineer

函數式程式設計的應用

  • 機器學習、深度學習、AI
  • 大型資料集的分析與處理
  • 資料工程應用(例如 Scala、Clojure)

資料處理

Programming Paradigm 概念

函數式程式設計範例

def process_data(raw_data):
    processed_data = raw_data

    ... further processing steps here! ...

    return processed_data
  • 函式接收輸入資料於 raw_data
  • 函式建立輸出變數 processed_data
  • 函式依固定步驟進一步處理資料
  • 函式回傳 processed_data
Programming Paradigm 概念

函數式程式設計的優缺點

優點

  • 純函式較易閱讀與除錯
  • 純函式較易測試
  • 程式較少出現意外副作用
  • 純函式可高度重複使用於不同專案
  • 可平行執行多個函式以加快程式

缺點

  • 思維模式不易上手且可能受限:「副作用」(寫檔等)往往是我們在程式中想做的事
  • 函數式程式設計的專家、工具、框架較少
  • 學習曲線較陡、教材資源較少
  • 記憶體用量較大,限制應用範圍
Programming Paradigm 概念

函數式與宣告式程式設計

  • 函數式程式設計屬於宣告式程式設計
  • 宣告式程式設計:告訴電腦要做「什麼」,而非「如何」做
  • 函數式程式設計只是宣告式程式設計的「一種」
  • 程式設計師告訴電腦要執行哪些函式,而非逐步指令

函數式程式設計是宣告式

Programming Paradigm 概念

一起來練習吧!

Programming Paradigm 概念

Preparing Video For Download...