2019年3月14日 星期四

程式語言的分類

開發什麼軟體,找什麼資料,類別要搞清楚!



程式語言分三階:


機械語言
  • Machine Language,電腦(CPU)能夠直接閱讀與執行的語言,由0和1構成。
  • 不同的電腦廠商,會因為電腦硬體設計的不同而開發不同機械語言。
  • 使用性不方便,可讀性低,不容易維護。


組合語言
  • Assembly Language是用較口語的方式來表達機械語言的一些指令,例如PUSH AX等於機械語言01100000B,意思是告訴CPU將AX暫存器的值放到記憶體堆疊的指令。
  • 與機械語言仍然為一對一的對應,所以跟機械語言一起被歸類為低階語言。


高階語言
  • 就是對那些煩人的記憶體位置、或是在進行什麼樣的運算時該將哪個資料搬到哪個暫存器的瑣事,都不用費心。要做的只有宣告變數、程式流程的控制。
  • 一個高階語言撰寫的程式碼,必須經過編譯器(Compiler)或直譯器(Interpreter)翻譯成組合語言,再經由組譯器翻譯成機械語言,才能被CPU執行。
例如我現在在寫的程式:
用電腦控制馬達轉動(電腦-控制器-馬達)
  • 低階語言-根本碰不到
  • 組合語言-ABB 所提供的workbench就是輸入組合語言讓馬達轉動
  • 高階語言-Visual Basic可以做出程序控制、GUI介面

高階語言依翻譯方式又分為兩種:


編譯式語言
  • 一次將高階語言經由編譯器翻譯,編譯後產生執行檔,執行中不需要再編譯。每次原始程式修改後,都要再編譯一次才能執行。
  • 靜態語言 (static language)
  • C, C++, Pascal, Fortran, C# , LISP, Pascal, Delphi


解譯式(直譯式)語言
  • 高階語言透過直譯器逐行翻譯,每直譯完一段程式碼,就馬上執行,執行前並不會產生任何目的檔或是可執行檔。每次執行都要直譯一次,所以執行速度較慢。
  • 動態語言 (dynamic language)
  • BASIC, LISP, Prolog, JavaScript, Python, Ruby, PHP, ASP

案例:
現在用Visual Basic都不會產生執行檔。





沒有留言:

張貼留言