Python--詳解腳本語言|編譯語言|膠水語言的區別

1.什麼是腳本語言?

  • 腳本語言:腳本語言是一種介於標記語言和編程語言之間的語言,沒有編程語言複雜、嚴謹的語法和規則。
  • 腳本語法比較簡單,比較容易掌握,與編程語言也有許多相似之處,其函數與編程語言比較相似一些。與編程語言之間最大的區別是編程語言的語法和規則更爲嚴格和複雜一些。
  • 腳本語言是解釋性的語言,例如Python、javascript(目前接觸過的)等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在。而腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。

2.什麼是編譯語言?

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

3.兩者的區別

  • 抽象的級別不同: 腳本語言更抽象。在腳本語言中,存在有高級的數據結構,如列表和字典結構,和對這種結構簡單方便的嵌套和操作。編譯語言有比較明確的定義等等。
  • 類型定義不同: 腳本語言對類型的定義就比較鬆散,不需要類型聲明,而且在運行時自動進行動態類型檢查。而編譯語言通常是強類型定義或靜態定義,也就是說變量的類型在程序中指定了。
  • 執行方式不同: 腳本語言是解釋成指令被立即執行。這樣完全將編譯過程從編輯-編譯-運行循環中去掉了。而編譯語言的程序被編譯成可執行的二進制。
  • 運行速度不同: 腳本語言是解釋執行的,在運行時解釋每一條語句然後執行。這樣比編譯執行的語言要慢。而編譯語言因爲編譯成機器碼,可以直接運行,所以在運行速度上快比較快。

4.爲什麼稱Python爲膠水語言?

  • 膠水語言:使用輸入輸出命令,接口,動態鏈接庫,靜態鏈接庫,服務,對象等。 
  • 標準版本的python是用C來編譯的,又稱爲Cpython,除此之外,還有一些其他的python實現。
  • java實現版本。這個解釋器完全用java寫成,名爲Jython。儘管和標準版的有區別,但是很小,而且啓動環境也完全相同
  1. jython的優點:只要有虛擬機,就可以運行Jython
  2. 擁有訪問java包與類庫的能力
  3. 爲java開發環境提供了腳本引擎
  4. 鼓勵Python到java的開發
  • .net實現。用C#語言完成,名爲IronPython。和jython差不多。

5.總結

在終端上我可以隨意地組合他和其它程序,作爲一箇中間處理模塊。

而且,他可以如此地簡單便捷,一些簡單的腳本只需要cat一下馬上就能明白是什麼意思。

一個表達式一行代碼,代碼塊有一致的標準的縮進,標準的命名方式,簡練的語言,支持註釋……

別的程序要訪問或調用,很簡單,一個命令把指定數據輸入到這裏就好,然後要怎麼拼接怎麼拼接; 
週期性地處理也沒問題,輸出到文件,等待別的程序調用。 
系統腳本上:

比SHELL多了很多數學及字符串處理能力,還多了很多很好用的迭代方法,還多了很多的原生的數據結構; 
比PERL多了很要命的代碼可讀性。 
比起ruby和nodejs,他基本所有機器都預裝,而且已經經歷了時間的考驗。雖然,將來的確會有被這倆貨代替的可能性。 
比起C/C++,他多了一個終端、甚至像ipython這樣的加強版神器終端,可以邊調試代碼邊把沒問題的代碼寫進文件。而且,源碼即可執行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章