Paradigms_of_Programming.md
在程式設計中,不同的思維方式會影響我們如何撰寫程式。兩種常見的程式設計範式是:命令式(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 建構,建議優先使用宣告式風格提高可讀性與維護性。
對於需要複雜流程控制、資源管理等場景仍適合命令式設計。
總結來說,命令式適合描述明確步驟,宣告式適合表達「意圖」與「規則」。實務中兩者互補並存,根據問題性質與可維護性需求選擇合適的範式,是高效開發的重要策略。
Last updated