在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这样的大型开源系统,是由世界各地很多人合作完成的,其中组件、软件数量庞大,开发人员都选择自己喜欢的语言来开发,因此会用到世界上几乎所有流行的程序设计语言。