Skip to content

Latest commit

 

History

History
78 lines (50 loc) · 2.97 KB

File metadata and controls

78 lines (50 loc) · 2.97 KB

Paradigms of Programming

在程式設計中,不同的思維方式會影響我們如何撰寫程式。兩種常見的程式設計範式是:命令式(Imperative)與宣告式(Declarative)。這兩種方式的主要差異在於「描述過程」還是「描述目標」。


一、命令式程式設計(Imperative Programming)

命令式程式設計注重 「如何做」,開發者需明確描述解決問題的每一步驟。

特點:

  • 使用變數與控制流程(如 if、for、while)
  • 明確陳述狀態變更
  • 程式流程與邏輯清晰可控

範例(取得 1~5 的平方數):

squares = []
for i in range(1, 6):
    squares.append(i ** 2)

這裡你一步步告訴電腦怎麼做。


二、宣告式程式設計(Declarative Programming)

宣告式程式設計注重 「要什麼」,只需描述預期結果,底層細節交由系統決定。

特點:

  • 強調「描述邏輯」而非「描述流程」
  • 避免顯式狀態變更與副作用
  • 更接近人類語言與數學思維

範例(取得 1~5 的平方數):

squares = [i ** 2 for i in range(1, 6)]

你只說明想要哪些數字的平方,不管怎麼取。


三、常見宣告式工具範例

技術領域 宣告式範例 描述
SQL 查詢 SELECT * FROM users WHERE age > 18 說明資料「條件」,而非如何查詢
HTML/CSS <h1>Hello</h1> / color: red; 描述內容與樣式,而非畫圖細節
React JSX <TodoList todos={items} /> 描述 UI 結構與狀態

四、比較與應用情境

比較面向 命令式 宣告式
控制程度 高,能指定每一步 低,重點在結果表達
可讀性 適中,流程複雜時難以維護 高,語意清楚
常見語言 C、Java、Python(預設) SQL、HTML、CSS、Haskell
Python 支援 透過 for, while, if 編寫 支援 list comprehension、lambda、Pandas 等工具

五、混合使用與實務建議

  • Python 提供混合支援:你可以在命令式語言中寫出宣告式風格的程式。
  • 對於資料操作與 UI 建構,建議優先使用宣告式風格提高可讀性與維護性。
  • 對於需要複雜流程控制、資源管理等場景仍適合命令式設計。

總結來說,命令式適合描述明確步驟,宣告式適合表達「意圖」與「規則」。實務中兩者互補並存,根據問題性質與可維護性需求選擇合適的範式,是高效開發的重要策略。