Programming languages ApacheAnt作为编程语言
是Ant编程语言吗?如果是,它是命令式的还是函数式的?不,Ant不是一种编程语言。它是一个用Java编写的构建工具。编程语言?我会说Ant是用于构建的受限脚本语言。这是一个XML驱动的产品Programming languages ApacheAnt作为编程语言,programming-languages,ant,build,build-automation,Programming Languages,Ant,Build,Build Automation,是Ant编程语言吗?如果是,它是命令式的还是函数式的?不,Ant不是一种编程语言。它是一个用Java编写的构建工具。编程语言?我会说Ant是用于构建的受限脚本语言。这是一个XML驱动的产品 如果被迫选择,我会说它不是一种函数式语言——它在精神上更接近命令式/过程式语言。ApacheAnt是一种声明性的领域特定语言,用于使用XML描述构建过程。AFAIK基本构造不是图灵完备的,所以我不会将其描述为编程语言。当然,通过执行其他程序,你可以实现这些程序所能实现的一切。问题应该是:如果你想用Ant进行计
如果被迫选择,我会说它不是一种函数式语言——它在精神上更接近命令式/过程式语言。ApacheAnt是一种声明性的领域特定语言,用于使用XML描述构建过程。AFAIK基本构造不是图灵完备的,所以我不会将其描述为编程语言。当然,通过执行其他程序,你可以实现这些程序所能实现的一切。问题应该是:如果你想用Ant进行计算,你能做到吗?让我们把自己限制在一些简单的事情上,比如模拟一个简化的命令行计算器。如果您能够做到这一点,Ant当然可以作为一种编程语言,即使这不是该工具最初的意图 也许我们能定义的最简单的语言是“Huttons Razor”,它包括
- 常数,如5、37等,都是自然数(从0开始计算)
- 一个+运算符,所以我们可以写(37+5)+15+(42+0)
对于非图灵完全有用语言:
- 只接受全部程序的语言(即终止的程序)。这对于许多用作定理证明器的编程语言来说是必要的:Coq、Agda等。另一个例子是简单类型的Lambda演算(简单类型化使得不可能定义Y组合子并获得递归)
- 非常特定于领域的语言。一个例子是巨魔 这是一种描述桌面游戏和角色扮演游戏中掷骰子的语言。该语言似乎不是TC,但在设计新游戏时非常有用,因为它可以快速计算掷骰子方法的概率分布
ant编程是一项技能,我不会在我的简历上列出。我不认为图灵完整性是一种语言成为编程语言的标准。这样的一种语言可能无法取代另一种TC语言,但它们本身通常是有用的。@我给出了蹩脚的答案:我喜欢TC,因为对我来说,编程语言是一种可以用来创建任何程序(任何算法)的语言。其他形式语言,可执行的/声明的,可由计算机处理的,也有意义,但我更喜欢称它们为领域特定语言,因为没有TC,它们被限制在特定的程序领域。(顺便说一句,尼克:))是的,这通常是一个严厉的限制。但是,对于一个好的终止检查器来说,有多少有用的程序可以作为一个完整的程序来编写是令人惊讶的。(尼克是大多数二郎机库使用的小游戏...我们都有愚蠢的名字:)谢谢!你能不能提供一些非图灵完全编程语言的例子。再加上一些注释。阿法伊克Y-combinator可以在非类型的lambda演算中定义,我错了吗?@Gabriel是的,Y可以在非类型的lambda演算中定义:
Y=λf·(λx·f(x))(λx·f(x))
@我给出了垃圾答案:谢谢,我忽略了“简单输入”部分即使这可能不是目的,也可能是你可以滥用Ant并强迫它为你做计算。一年后,这得到了否决票?如果你觉得