在linux眾多的發行版中,我比較喜歡用Debian。安裝的過程中,可以見到安裝了許多程序設計語言的庫。顯而易見的,用到的編程語言有如下幾種:
c語言,因為內核是用c語言寫的。
匯編語言,存在于內核中。
perl語言,粘合系統中的許多組件,完成系統管理。
bash,sh,等shell語言,類似windows下的bat,繼承自dos,卻始終沒有被拋棄。
sed,awk組建系統之初用到的。perl出現之前,就靠它們來修改文件了。perl構建完成以后,這兩種語言就不那么必須了。
lex和yacc,編譯器的編譯器。構建之初必須的,構建完成以后就從系統中刪除了。要用的話還要重新安裝,叫做flex和bison。
tcl,也是管理系統任務和粘合組件用到的。
python,由于還沒有徹底遷移到python3,所以,python2和python3是同時用到的。
lua,由于同c語言的完美配合,所以用來粘合c語言模塊,以及讀寫配置文件。
SQL,存儲和讀取系統中的一些重要數據。
Javascript,其中nodes用來管理一些任務,瀏覽器中內嵌的則用來執行網頁上的程序。
不那么明顯用到的編程語言有:
C++,它太復雜和難,程序員不太喜歡用。但系統中絕對有C++寫的模塊。用c語言的人不可避免要用到一些C++。
Java,只要安裝軟件,必定會在某個時刻用到Java,因為那軟件是用Java編寫的。但用到的JDK很可能是OpenJDK,而不是Oracle的JDK。
Lisp,如果要安裝編輯器Emacs,那么就會用到Lisp語言。Guile也用來管理系統,它用到的scheme也算是lisp語言的一種。
PHP,由于它是世界上最好的編程語言,所以有人用它來寫系統中的組件,不奇怪。
Go語言,由于系統是世界各地的程序員一起完成的,所以在大廠工作的人就順手用Go語言來寫模塊了。
Rust語言,連Windows都準備用rust語言重寫了,linux也不可避免的受到流行趨勢的影響。
Postscript,眾多文檔中,深受大眾喜歡的pdf格式文檔,使用的是Postscript語言的一個子集。
Tex,PDF格式文檔生成之初,用的是Tex家族的Latex或者XeLatex,編譯成dvi文件或者pdf文件。
bc,提供高精度的數學計算。
等等,很多種。
粗略估計可能會用到二十種以上的編程語言。
Windows用到的可能會少一些,c,c++,VB,C#,bat,powershell,rust,各種Script等。
像DebianLinux這樣的大型開源系統,是由世界各地很多人合作完成的,其中組件、軟件數量龐大,開發人員都選擇自己喜歡的語言來開發,因此會用到世界上幾乎所有流行的程序設計語言。