程式設計法

基於計算機編程風格的編程語言分類

編程範型編程範式程式設計法(英語:Programming paradigm),是指軟體工程中的一類典型的程式設計風格。常見的程式設計法有:函數式程式設計指令式程式設計程序式程式設計物件導向程式設計等等。

程式設計法提供並決定了程式設計師程式執行的看法。例如,在物件導向程式設計中,程式設計師認為程式是一系列相互作用的對象,由於方法論的不同,物件導向程式設計又分為類別為基程式設計基於原型程式設計,而在函數式程式設計中一個程式會被看作是一個無狀態的函式計算的序列。

概述 編輯

正如軟體工程中不同的群體會提倡不同的「方法學」一樣,不同的程式語言也會提倡不同的「程式設計法」。一些語言是專門為某個特定的範型設計的,如 SmalltalkJava 支援物件導向程式設計,而 HaskellScheme 則支援函數式程式設計,同時還有另一些語言支援多種範型,如 RubyCommon LispPythonRust

很多程式設計法已經被熟知他們禁止使用哪些技術,同時允許使用哪些。例如,純函數式程式設計不允許有副作用[1];大部分高階程式語言都期望使用者進行結構化程式設計而避免非結構化程式設計,其中結構化程式設計不允許使用 goto。可能是因為這個原因,新的範型常常被那些習慣於較早的風格的人認為是教條主義或過分嚴格。然而,這樣避免某些技術反而更加證明了關於程式正確性,或僅僅是理解它的行為的法則,而不用限制程式語言的一般性。

程式設計法和程式語言之間的關係可能十分複雜,由於一個程式語言可以支援多種範型。例如,C++ 設計時,支援程序式程式設計、物件導向程式設計以及泛型程式設計。然而,設計師和程式設計師們要考慮如何使用這些範型元素來構建一個程式。一個人可以用 C++ 寫出一個完全程序化的程式,另一個人也可以用 C++ 寫出一個純粹的物件導向程式,甚至還有人可以寫出雜揉了兩種範型的程式。

參考文獻 編輯

  1. ^ F# 程式設計入門 (1)頁面存檔備份,存於網際網路檔案館):在表示式(expression)內不可以造成值的改變。

參見 編輯