可以從兩個層面來看
程式(Program)
就是程式碼編寫,俗稱Coiding,將你的想法和解決方案轉化為電腦程式,簡單來說就是專門給計算機看的「劇本」
設計(Design)
就是在開始編寫程式碼之前的計畫和設計過程,像是從程式面和產品面來設計整體架構,選擇合適的資料結構、依不同的應用領域和需求選擇需要的程式語言和工具。設計是程式設計的Base,有一個好的設計可以使程式開發更有效率和有更高的可維護性
大致分類如下:
機器語言
低階語言 (組合語言 assembly language)
高階語言
機器語言
計算機所能看懂的「原始指令」稱為「機器語言」,是由二進位代碼 0 和 1 所組成,通常都是非常的低階,所謂的低階就是他們做的事情非常非常原始,但也因為機器語言不需要任何編譯過程,所以執行速度很快
低階語言
有「更接近硬體」的特性,用低階語言所編寫的程式往往是相對難以移植、可攜性低,也就是可以在 ACER 電腦上執行的程式,通常不能在 ASUS 的電腦上執行,使用機器語言組合成人類想要的程式難以開發和維護
為了解決這個問題,於是 高階語言 就出現了
因更偏向於人類的思考,因此高階語言相對於低階語言來說,程式撰寫及維護方面都較為容易。使用一個高階語言的敘述來命令電腦工作時,相當於下達許多機器語言
以下舉個例子可以感受一下低階語言和高階語言的差別
如果要計算兩個數字的合,低階語言的過程迂迴,不利於人類閱讀
如果用高階語言,只需要以下寫法就可達成目的 (此圖單純示意用)
由於計算機無法執行高階語言,所以Compiler因此而誕生,他的職責就是「翻譯」
負責把高階語言轉換成功能相同的機器語言,也就是電腦可執行的0和1數列,這裡又可以延伸出編譯與直譯,下一章再討論
特性| 機器語言 | 低階語言|高階語言
------------- | -------------
可讀性 | 低 | 中| 高
維護性 |低 | 中| 高
硬體控制性 | 好| 中| 差
可攜性 | 低| 中| 高
佔用記憶體空間|小|中|大
執行速度|快|中|慢
PS. 若有解說不清或是不正確之處,歡迎指教