Apache Ant作为编程语言

是Ant编程语言吗?如果是的话,它是必要的还是功能性的?     
已邀请:
问题应该是:如果你想用Ant做计算,你能做到吗?让我们将自己局限于简单的事情,比如模拟简化的命令行计算器。如果你能做到这一点,Ant肯定有资格作为编程语言,即使这不是最初工具的意图。 我们可以定义的最简单的语言是“Huttons Razor”,它由 常数,如5,37等,所有自然数(从0开始) A +运算符,所以我们可以写(37 + 5)+ 15 +(42 + 0) 如果你试图滥用Ant来做计算,那么它无论如何都不是一种有用的语言,而是一个美好的开始;如果你甚至不能做剃刀,你可能无法做更先进的事情。请记住,尽管其他计算方法(如lambda演算)与此大不相同,因此可能其他路径也是可行的。注意:我不知道Ant是否可以这样做。我上次在2006年看过它并决定再也不去看它了。 请注意,语言不必是图灵完全成为编程语言。我们有几种非常有用的编程语言,但没有。 对于非图灵完全有用的语言: 仅接受Total程序的语言(即终止的程序)。对于许多用作定理证明的编程语言来说,这是必需的:Coq,Agda等。另一个例子是Simply Typed Lambda演算(简单的输入使得无法定义Y-combinator并获得递归)。 特定于域的语言。一个例子是巨魔, http://www.diku.dk/hjemmesider/ansatte/torbenm/Troll/ 这是一种用于在桌面和角色扮演游戏中描述骰子卷的语言。这种语言似乎不是TC,但它在设计新游戏时非常有用,因为它可以快速计算骰子投掷方法的概率分布。     
不,Ant不是一种编程语言。它是一个用Java编写的构建工具。     
Apache Ant是声明性域特定语言,用于使用XML描述构建过程。 AFAIK基本结构不是Turing完整的,所以我不会将其描述为编程语言。当然,通过执行其他程序,您可以实现这些程序的任何功能。     
是的,但只是。 我不得不在蚂蚁中实际编程。我在Java商店工作,我们使用ant来实现其正确的目的,就像Java的makefile一样,实际上它就是这样的东西。但是我们想要用它做有用的事情,而蚂蚁脚本是解决复杂性的合理位置。 (在ant中进行任意编程的官方方法是在Java中编写扩展。这样做的问题在于它在你正在查看的脚本中并不正确,而且需要编译步骤。所以,写入ant本身它是。) ant就像一种深奥的编程语言,其自负是所有正确形成的XML。做一些非常基本的事情需要几个小时的思考如何解决这个问题。你可以隐藏macrodef背后的一些恐怖。 你可以使用基本的蚂蚁做大部分事情,但如果你想保留你理智的宝贵残渣,就需要ant-contrib。它包括一些有用的东西,如变量,算术和流量控制。 因此我的规则是:永远不要让你的特定领域语言图灵完整; 因为一旦你可以在其中编码,你将不得不在其中编码。 蚂蚁编程是一项我不会在我的简历中列出的技能。     
通常,编程语言被认为是描述算法的形式。图灵机被认为是执行算法的最通用机制。 Ant(没有扩展名,例如Ant-Contrib)没有完成,因为一旦为它们赋值,属性就是不可变的。必须在整个脚本中至少一次明确命名每个属性。每个蚂蚁脚本都是有限的,因此属性的数量是有限的,因此状态的数量是有限的。因此,蚂蚁并不完整。 因此,无法用蚂蚁描述任何算法,因此蚂蚁不是编程语言。     
编程语言?我会说Ant是一种受限制的脚本编写语言。这是一个由XML驱动的品牌。 如果被迫选择,我会说它不是一种功能语言 - 它在精神上更接近于命令/程序。     

要回复问题请先登录注册