4

我经常看到人们将“awk”称为编程语言。根据我的直觉,我对 awk 的理解是它是用于某些特定任务的工具。

那么为什么有些人会把它称为编程语言呢?

4

2 回答 2

9

awk是一种编程语言它是为特定类型的任务而设计的,这两件事并不相互排斥。很像php并且javascript也是编程语言。

工具允许您执行单个任务或一组密切相关的任务,而使用编程语言您可以创建任何计算上可能的工具。

Awk图灵完备的语言,将其与工具 grep进行比较,您有变量、条件(if、else、...)、重复(for、while、..)、函数等。您可以创建一个awk脚本来执行您可能需要的任何操作,但grep您只能从文件中提取文本。 Awk专为基于文本的处理而设计,并且仍然是最好的编程语言之一,但是您可以编写编译器、解释器、网络服务器或任何您想要的东西awk——但这并不意味着您应该这样做。

于 2013-05-25T16:06:38.160 回答
6

尽管 AWK 用于非常受限的领域,但它是图灵完备的,因此通过了测试,有资格成为一种编程语言。

维基百科定义AWK如下。该AWK实用程序是一种解释性编程语言,通常用作数据提取和报告工具。但是仍然取决于个人用户是AWK简单地调用实用程序还是编程语言。但是,如果您认为AWK这只是一个工具,那么可以就许多所谓的语言(如HTML,XML等)的状态提出严肃的问题。还要记住,该语言Perl深受AWK.

于 2013-05-25T16:06:49.013 回答