什么是正式的编程语言?

问题描述 投票:6回答:6

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

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

programming-languages formal-languages
6个回答
9
投票

每种编程语言都是一种形式语言,因此对我说“正式编程语言”没有多大意义。(或者有人知道非正式的编程语言吗?)

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

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


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


2
投票

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


0
投票

这是wikipedia的提取物

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


0
投票

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

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

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

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

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


0
投票

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


0
投票

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

根据dictionary.com的说法,'formal'的定义之一是being in accordance with the usual requirements, customs, etc.; conventional

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

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

© www.soinside.com 2019 - 2024. All rights reserved.