程序設計理論
程序設計理論
程序設計理論就是研究程序設計方法,並討論設計程序設計語言、實施程序設計語言和使用程序設計語言編製程序過程中的理論問題。
目錄
程序設計方法學的理論基礎,又稱程序理論。應用計算機系統解決具體問題,必須遵循一定的方法,使用某種程序設計語言編製程序來實現解決該項問題的演演算法,然後在計算機系統上運行這一程序,得到問題的解答。
不同類的問題具有不同的特點,需要研究各種不同的程序設計方法。為此需要概括出各類抽象模型,研究它們的特性,討論適用於它們的程序設計的方法。這是程序設計理論的一個重要組成部分。併發程序設計中有關不同程序間共享數據問題的研究,就是這類研究的一個重要方面。通過對這一問題的深入的理論探討,提出信號量概念、臨界區語句、路徑表達式、管程等重要語言成分。又如在提出函數式程序設計和邏輯程序設計的過程中,程序設計方法學也發揮了重要作用。
程序設計語言的理論,包括對其語法和語義的研究,是程序設計理論的另一重要組成部分。只有清楚地了解程序設計語言的語法和語義,才能正確實施和使用語言,也才能正確評價語言的優劣。因此,程序設計語言理論是設計、實施和使用程序設計語言的理論基礎(見形式語言理論、形式語義學)。
如何使用程序設計語言編製程序,以正確實現預定的目標,這種研究稱為程序正確性理論,也是程序設計理論的一個重要組成部分。程序正確性理論提出編製正確程序的兩種可供選擇的途徑。一種稱為程序驗證,研究如何使用數學推理來嚴格論證程序是否符合其目標。另一種稱為程序綜合,是研究如何由給定目標出發,逐步構造一個在計算機系統上可運行的程序,而且要求構造過程的每一步都是嚴格保持正確無誤的。在保持正確性的前提下,為提高程序運算效率而實現的程序之間的轉換,稱為程序變形,也是程序正確性理論的一個重要內容。程序綜合和程序變形是自動程序設計的理論基礎。
程序設計理論已為軟體開發提供了很多極為重要的理論原則,隨著軟體工程的發展,程序設計理論也正在發展之中。