考慮到計算機編程的定義如此廣泛,程序的使用如此普遍,實際上有許多類型的計算機編程,通常以截然不同的方式定義。最基本的計算機編程可以由程序員使用的編程語言(如C、Lisp或Java?)分解在其他情況下,計算機程序可能只有兩...
考慮到計算機編程的定義如此廣泛,程序的使用如此普遍,實際上有許多類型的計算機編程,通常以截然不同的方式定義。最基本的計算機編程可以由程序員使用的編程語言(如C、Lisp或Java?)分解在其他情況下,計算機程序可能只有兩種類型——系統和應用程序。網絡程序設計、基于web的程序設計和桌面程序設計是有區別的。不同類型的程序設計有時會被目標平臺分開,例如嵌入式系統程序設計,實時系統(RTS)編程或數據庫編程。

計算機程序通常是用計算機語言編寫的。
這是兩大類計算機程序設計的區別。第一類是應用程序編程,包括編寫可直接用于某些功能的程序另一方面,有系統編程,它旨在設計用于管理應用程序運行的硬件或框架的程序,例如操作系統。

C++是一種常用的計算機程序設計語言。網絡和遠程通信技術得到了越來越廣泛的應用,某些種類的程序設計開始區別于其他計算機編程領域。由于需要網絡協議和硬件接口的知識,網絡編程被認為是不同的或服務器需要特定的安全限制、互聯網協議和獨特的編程設計模式。

計算機程序員可能專門更新現有軟件。
特定于某一領域或目標硬件的計算機程序設計。數據庫編程涉及使用特殊的查詢語言、腳本和其他元素與特定的數據庫基礎設施進行交互。游戲編程涉及圖形硬件知識,圖形算法和一些特殊的優化技術。嵌入式系統,如手持設備或控制臺,可以涉及獨特的硬件規范和供應商庫的知識。更先進的實時系統編程可以包括為核電站或軍用硬件編寫故障保護控制軟件。

不同類型的計算機編程首先被分解成C.Lisp這樣的語言。