首先,我看不出逻辑和数学之间有什么区别。后者只是前者系统地应用于特定结构。
此外,我不相信以数学/逻辑为基础的编程语言的理论美在通过编写高效、可维护的代码来完成任务时真的很有价值。
至于你具体的问题。
对编程语言或数学语言特征建模有什么好处?根据形式逻辑原则对语言建模有什么好处?
正确性证明变得容易得多——尽管我们是否会达到它们对现实生活系统变得实用的地步是值得怀疑的。
通用语言可以放弃逻辑或数学吗?
取决于您对“放弃”的含义。您可以拥有一种没有数学运算的语言(尽管您必须变得非常深奥;图灵机是我能想到的唯一一种甚至没有增量或减量的语言),并且您当然可以拥有一种对形式主义毫不关心的语言(汇编器,C)。但我认为没有逻辑的编程语言是不可能的(尽管它可能是一种变态的逻辑,参见Malbolge)
有哪些语言真正展示了这两种方法的好处?
好吧,如果你认为 Lambda 演算是一种逻辑形式,那么自 1958 年以来,Lisp 就已经很好地展示了它的优势,它的表达能力是其他语言渴望(但无法做到)达到的。
然后是 Prolog,这是我所知道的唯一一种试图明确基于形式逻辑的“严肃”语言。而且 - 令人惊讶的是 - 它擅长逻辑的东西,很少有其他东西。
哪些硬件特性使一种方法比另一种方法更具吸引力?
没有任何。Lisp Machines的失败非常明确地证明 IMO 编译器+通用硬件比专用硬件更强大。然而,有人可能会说,当今系统的简单粗暴力量正在使完全忽略硬件约束的语言在以前没有的地方变得实用。