簡單說,計算機程序就是計算機執(zhí)行指令的一個序列。它既可以只是幾條執(zhí)行某個簡單任務的指令,也可能要操作巨大數(shù)據(jù)量的復雜指令隊列。許多計算機程序包含有百萬計的指令,而其中很多指令可能被反復執(zhí)行。在2005年,一臺典型的個人電腦可以每秒執(zhí)行大約30億條指令。計算機通常并不會執(zhí)行一些很復雜的指令來獲得額外的機能,更多地它們是在按照程序員的排列來運行那些較簡單但為數(shù)眾多的短指令。 一般情況下,程序員們是不會直接用機器語言來為計算機寫入指令的。那么做的結(jié)果只能是費時費力、效率低下而且漏洞百出。所以,程序員一般通過“高級”一些的語言來寫程序,然后再由某些特別的計算機程序,如解釋器或編譯器將之翻譯成機器語言。一些編程語言看起來很接近機器語言,如匯編程序,被認為是低級語言。而另一些語言,如即如抽象原則的Prolog,則完全無視計算機實際運行的操作細節(jié),可謂是高級語言。對于一項特定任務,應該根據(jù)其事務特點,程序員技能,可用工具和客戶需求來選擇相應的語言,其中又以客戶需求為重要。