-
1 # 羅恩邵
-
2 # 李東bbsky
這個說法不對,並不是只有Python是膠水語言,還有Lua、Julia、Perl、Erlang、Shell,以及各種Script結尾的(VBscript、AppleScript、JavaScript等)都可以說是一種膠水語言。
其實膠水語言的本質是首先它是一個指令碼語言,可以類似於shell與檔案作業系統進行互動;第二個是有些程式語言本身就是用C語言寫的,可以比較方便的呼叫C/C++寫好的模組;第三就是上手簡單,寫起來不難,本來C語言也可以算是膠水語言,但是它的開發效率太低,所以從另外一個角度講,膠水語言其實就是C/C++的輔助工具,Java是系統級的程式語言,自成一體,與C/C++之間沒啥互動。
Python相比於其他膠水語言來說,與C/C++的互動要麼更加頻繁(如相比於JavaScript),尤其是人工智慧,很多模組框架都是用C/C++寫的,簡單易學而又自然的程式語言Python就發揮出了它的輔助作用;
要麼生態裡面的庫更多(比如相比於Julia、Lua),Python的生態豐富程度在程式語言裡面可以排進前五;
而同樣是指令碼語言,Python相比於shell又可以進行程式開發,比如開發網站,相當於可以有了一個可以操作的GUI頁面,既方便進行自動化運維,又方便視覺化管理;
Python這種下可至底層與C/C++互動,中可作為指令碼語言與檔案作業系統進行互動,也可以作為後端程式語言,上可至前端與使用者互動,縱向完備,橫向生態又完善,其他膠水語言有的它也有,其他膠水語言沒有的它也有,綜合能力最強。
Python應該可以說是萬能膠水語言,非一般膠水語言可比。但是膠水語言還有一層意思就是“伴讀書童”,這也是為什麼Python是非程式設計師最值得推薦的程式語言,也是程式設計師可以用於入門和作為輔助工具的程式語言,但是如果找工作,如果從事計算機科學研究,從事應用程式的開發,從事雲服務開發,則還是更推薦學習Java、C/C++、JavaScript、Golang。
-
3 # 比利這小子
應該說為甚麼Python一下就成了膠水語言的首選。當然這個可以純技術分析角度分析它有多少優缺點。最主要的還是看社群的健壯性,包括可擴充套件性,比如第三方庫等。
-
4 # 和不同
首先,Python不是唯一的膠水語言,但可以說“Python是最流行的膠水語言”。
先說說膠水語言和C,Java等語言的區別吧。
什麼是膠水語言所謂“膠水”語言,其實就是通用型指令碼語言。
我們可以把程式語言分為兩大類:指令碼語言和非指令碼語言。做個簡單的對比,非指令碼語言通常用來編寫穩定、高效的模組,而指令碼語言則用來將這些模組組合起來。
通用型指令碼語言大部分指令碼語言都是針對某類特定應用而誕生的,比如:
JavaScript用於在瀏覽器中實現網頁動態效果;PHP是用於在伺服器端動態生成網頁的模版語言;VBScript是用於給微軟的Office等軟體提供定製化指令碼支援;Lua是用於給某應用程式處理輸入的資料檔案;Python則是給Amoeba作業系統提供指令碼支援;在發展過程中,部分指令碼語言突破了其原生領域。比如JavaScript依靠Node.js擴充套件到伺服器端開發;Lua擴充套件到遊戲開發;Python則擴充套件到許多領域,擁有最龐大的庫資源,可以被稱為最流行的通用型指令碼語言了。
為何使用指令碼語言回到題目中所提到的與非指令碼語言的對比。
要說各種庫,可供C和Java使用的很多,為什麼要使用指令碼語言呢?
因為指令碼語言入門簡單、開發效率高。我們就用zlib來舉個例子吧:
用C程式呼叫zlib解壓一個檔案,程式碼是這樣:用Python呼叫zlib解壓一個檔案,程式碼是這樣:兩者複雜程度可謂天差地別。
在不在乎執行速度、資源消耗的時候,當然要用指令碼語言咯。
畢竟人的時間是寶貴的。
-
5 # 資料分析不是個事兒
很多答主指出了題主問題中的錯誤,python並不是唯一的膠水語言,至於是不是最好的膠水語言也是要有待商榷的(怕被噴),而且膠水語言也不是什麼優越的稱謂
記得大學那會,perl甚囂塵上的態勢絲毫不比現在的python差,雖然我只學過一點、瞭解並不多,但是當時確實很多人都在學perl,perl也被稱作是完美的語言;當時的python因為語言作用跟perl很相似,只能自居膠水語言,在perl的夾縫中謀求生存,不知道卑微到哪裡去了
不過perl一直因為可讀性和維護問題被詬病(勸退新手警告),近幾年幾乎看不到有公司用perl做專案的了,聽說現在perl的可讀性、規範性都優化了不少,不過自從unix倒臺之後perl就一蹶不振了,一朝被python打倒在地,這輩子是難翻身了
好像扯得有點遠,回到題主的問題,為什麼python成為了最廣泛的膠水語言呢?
其實就是繼承了perl的功能性優點,又克服了perl在語法友好度上的缺點,再加上被人忽悠起來的熱度,自然而然就被鼓吹起來了,至於深層次原因其他答主都說過了,對於一門語言來說,簡潔友好是真得無解......
看了一些文章說支援python的庫特別多,python被稱為膠水語言。因此用的人特別多。導致支援的庫更加豐富了。良性迴圈。可是那些庫有時也不止支援python一種語言啊,或者說,他們也可以支援其他語言啊。為什麼其他語言沒有成為膠水語言呢?c語言和java語言很多都在工科院校科普過了,按說原來使用者比python多啊。估計支援c和java的各種庫也不少。為什麼python最終成了膠水語言,而其他語言沒有成為膠水語言?如果距離可以用c語言做對比,謝謝!
回覆列表
Python成為膠水語言並不是因為它的庫多,是因為它可以和許多其他語言進行整合,換句話說,許多其他語言的庫都能被它輕易得呼叫,這種把許多其他語言的庫整個起來的能力使它成為了膠水語言,再加上它本身語法的便利性,可以像是膠水一樣把其他語言的庫給整合起來。