什麼是指令碼語言?什麼是編譯語言?二者區別在哪?,指令碼語言編譯

來源:互聯網
上載者:User

什麼是指令碼語言?什麼是編譯語言?二者區別在哪?,指令碼語言編譯

什麼是指令碼語言?

 

  指令碼語言是一種介於標記語言和程式設計語言之間的語言,沒有程式設計語言複雜、嚴謹的文法和規則。

  指令碼文法比較簡單,比較容易掌握,與程式設計語言也有許多相似之處,其函數與程式設計語言比較相似一些。與程式設計語言之間最大的區別是程式設計語言的文法和規則更為嚴格和複雜一些。

  指令碼語言是解釋性的語言,例如Python、javascript(目前接觸過的)等等,它不象c\c++等可以編譯成二進位代碼,以可執行檔的形式存在。而指令碼語言不需要編譯,可以直接用,由解譯器來負責解釋。

 

什麼是編譯語言?

 

  編譯語言是程式在執行之前需要一個專門的編譯過程,運行時不需要重新編譯,直接使用編譯的結果就行了,脫離其語言環境獨立執行。程式執行效率高,使用方便。但程式一旦需要修改,必須先修改原始碼,再重新編譯產生新的目標檔案才能執行。因需依賴編譯器,故跨平台性差些。

 

 

兩者的區別:

 

   抽象的層級不同: 指令碼語言更抽象。在指令碼語言中,存在有進階的資料結構,如列表和字典結構,和對這種結構簡單方便的嵌套和操作。編譯語言有比較明確的定義等等。

 

  類型定義不同: 指令碼語言對類型的定義就比較鬆散,不需要型別宣告,而且在運行時自動進行動態類型檢查。而編譯語言通常是強型別定義或靜態定義,也就是說變數的類型在程式中指定了。

  

   執行方式不同: 指令碼語言是解釋成指令被立即執行。這樣完全將編譯過程從編輯-編譯-運行迴圈中去掉了。而編譯語言的程式被編譯成可執行檔二進位。

 

  運行速度不同: 指令碼語言是解釋執行的,在運行時解釋每一條語句然後執行。這樣比編譯執行的語言要慢。而編譯語言因為編譯成機器碼,可以直接運行,所以在運行速度上快比較快。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.