下面是使用两个Unix工具的示例:
ls | grep "MMC"ls和grep是两个Unix工具。
我相信ls和grep都是用C写的(如果我错了,请纠正我)。
用什么编程语言来实现现代的Unix工具?现在的Unix工具还用C实现吗?或者,是否使用其他语言?
发布于 2015-06-14 14:53:29
Unix工具是用多种语言编写的。大多数经典工具都是用C和C++等语言编写的,但Perl和Python也是流行的选择。C语言仍然是占主导地位的语言,但是Go似乎在编写Unix命令行实用程序中找到了一些用处。
发布于 2015-06-15 00:45:52
UNIX最初是由Ken和Dennis用汇编语言编写的,但很快就移植到了Thompson的C语言中。早期UNIX的内核、shell、文件系统和基本实用程序都是用C编写的,我今天知道的所有UNIX版本都是如此。
然而,并不是所有的东西都是用C编写的(这将是一种痛苦)。UNIX的一个强大特性是它的外壳,它的每一种风味(sh、bash、csh、tcsh、zsh、…)通过脚本实现自动化。一些“UNIX工具”是通过在shell脚本中将其他编译的工具缝在一起来实现的。
其他工具的实现类似于shell脚本,但由其他脚本语言(如perl或python )执行。Python最近非常流行,甚至被用来编写前端图形程序,这是早期UNIX程序员做梦也想不到用解释性脚本语言编写的。
由于传统和C的发展势头,C++在UNIX中不那么常见。C++还需要安装一个单独的C++标准库。UNIX系统可以很好地相处,而不需要接触C++或它的标准库。这方面的一个主要例外是GCC,因为4.8之后的版本都是用c++构建的。
另请参阅:
https://stackoverflow.com/questions/30830759
复制相似问题