按照結構性質,有結構化程序設計與非結構化程序設計之分。前者是指具有結構性的程序設計方法與過程。它具有由基本結構構成復雜結構的層次性,後者反之。按照用戶的要求,有過程式程序設計與非過程式程序設計之分。前者是指使用過程式程序設計語言的程序設計,後者指非過程式程序設計語言的程序設計。按照程序設計的成分性質,有順序程序設計、並發程序設計、並行程序設計、分布式程序設計之分。按照程序設計風格,有邏輯式程序設計、函數式程序設計、對象式程序設計之分。
程序設計的基本概念有程序、數據、子程序、子例程、協同例程、模塊以及順序性、並發性、並行性、和分布性等。程序是程序設計中最為基本的概念,子程序和協同例程都是為了便於進行程序設計而建立的程序設計基本單位,順序性、並發性、並行性和分布性反映程序的內在特性。
程序設計規範是進行程序設計的具體規定。程序設計是軟件開發工作的重要部分,而軟件開發是工程性的工作,所以要有規範。語言影響程序設計的功效以及軟件的可靠性、易讀性和易維護性。專用程序為軟件人員提供合適的環境,便於進行程序設計工作。