什么是正式的编程语言?

时间:2010-04-19 16:36:19

标签: programming-languages formal-languages

编程语言是一种正式的编程语言是什么意思?哪种语言是正式的编程语言?哪些是非正式的编程语言?

我还没有找到一个好的解释。

6 个答案:

答案 0 :(得分:9)

每种编程语言都是一种形式语言,所以说“正式编程语言”对我来说没什么意义。(或者有人知道非正式的编程语言吗?)

形式语言是一种具有数学精确构造规则的语言。或者,更确切地说,它是一些字母表上的一组单词。例如,如果您使用由字母abc组成的字母,则此字母表中的正式语言可以是一组{a,{{1} },aaaba}。当然,这样的语言不是很有用 - 重点是通过一组不错的构造规则,您可以创建一种语言,如C或PostScript。

至于“构建规则”,它们可以是正式语法(参见CSS的语法),正则表达式(请参阅此gorgeous regex了解RFC 822定义的电子邮件地址) ,自动机或一般算法。


如果你觉得你不理解这一点,不要绝望,因为这不是一个很好的解释:-)正式语言的概念背后有很多想法。我建议您尝试消化Wikipedia entry并寻找更多教程和书籍。这很有趣,你会学到很多关于编译器,正则表达式,图灵机和其他数字人类奇迹的背景知识。

答案 1 :(得分:2)

正式意味着明确定义。可以使用每种可用于定义可执行程序的编程语言,以便机器可以理解它。

答案 2 :(得分:0)

这是wikipedia

的摘录

“John C. Reynolds强调正式规范语言与用于执行的语言一样多。他还认为影响计算机行为的文本甚至图形输入格式是编程语言,尽管事实上,它们通常不是图灵完备的,并且认为无知编程语言概念是输入格式存在许多缺陷的原因“

答案 3 :(得分:0)

正式语言只是考虑到良好形式的语言。这意味着充分和必要的条件是遵守其规则。 一个示例规则:

例如。如果我们将十进制数的语言定义为{x |没有前导零的有限数字集}。 (简单地说,小数表示一系列数字。)

因此,如果包含上述规则的语言是正式的,则应遵守给定的规则。

但在实际使用中,如果语言将001视为十进制数,我们可以得出结论编程语言不正式,因为它不完全符合它所定义的规则集。

通常语言解析器会检查这些规则。 因此,形式语言应该始终是格式良好的(严格遵循自己的规则)

答案 4 :(得分:0)

它不是一种正式语言"它是一种正式的编程方法:Wikipedia。它不一定是一种特定的语言,而是你编写规范和验证代码的方式。

答案 5 :(得分:0)

其他答案与计算机科学的正式编程语言的定义有关。然而,这个答案与Social(wannabe)Science的正式编程语言的定义有关。

根据dictionary.com,“正式”的定义之一是being in accordance with the usual requirements, customs, etc.; conventional

正式的编程语言是一种编程语言,被谈论它的人广泛使用和接受。因此,它是域和会话特定的。或许更好的措辞方式是“流行”, 传统的,“主流的”或“广泛接受的”编程语言。例如,在商业和行业中,这指的是SQLJavaC#C++PythonPHP

非正式编程语言的例子是SPL(莎士比亚编程语言),FORTRANCoffeeScript。更准确地说,一种语言比另一种语言更传统,更正式,而不是说一种语言是正式语言而另一种语言是非正式语言。 毕竟,Lisp将是一种非常非正式的编程语言,用于制作网站,但是用于开发人工智能研究的非常正式的编程语言。