c - 大多数Unix工具都是用什么编程语言编写的



下面是使用两个Unix工具的示例:

ls | grep "MMC"

lsgrep是两个Unix工具。

我相信lsgrep都是用C写的(如果我错了,请纠正我)

使用什么编程语言来实现现代Unix工具?现代的Unix工具仍然用C实现吗?或者,是否使用其他语言?

Unix工具是用多种语言编写的。大多数经典工具都是用C和C++等语言编写的,但Perl和Python也是流行的选择。C 仍然是主流语言,但似乎 Go 可能会在编写 Unix 命令行实用程序中找到一些用途。

UNIX最初是由Ken Thompson和Dennis Ritchie用汇编语言编写的,但很快就将其迁移到Thompson的C语言中。早期的UNIX内核,shell,文件系统和基本实用程序都是用C语言编写的,我今天所知道的所有UNIX风格都是如此。

但是,并非所有内容都是用 C 编写的(那将是一种痛苦)。UNIX的一个强大特性是它的shell,其中每种风格(sh,bash,csh,tcsh ksh,zsh,...)都可以通过脚本实现自动化。一些"UNIX工具"是通过在shell脚本中将其他编译工具缝合在一起来实现的。

其他

工具的实现方式与shell脚本类似,但由其他脚本语言(如perl或python)执行。Python最近非常流行,甚至被用来编写前端图形程序,这是早期的UNIX程序员做梦都想不到用解释型脚本语言编写

的。

C++在UNIX中不太常见,因为传统和C的发展势头。C++还需要安装单独的C++标准库。UNIX系统可以很好地相处,而无需接触C++或其标准库。一个主要的例外是 GCC,因为 4.8 之后的版本是使用 c++ 构建的。

另请参阅:

  • https://unix.stackexchange.com/a/23635/106703
  • https://softwareengineering.stackexchange.com/q/242832
  • http://www.quora.com/What-programming-language-are-operating-systems-written-in

最新更新