6

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

我还没有找到好的解释。

4

6 回答 6

10

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

形式语言是一种具有数学上精确构造规则的语言。或者,更准确地说,它是一些字母表上的一组单词。例如,如果您采用由字母 和 组成的字母表,则该a字母表上的正式语言可能是集合 { , , , }。当然,这样的语言不会很有用——关键是通过一套体面的构造规则,您可以创建一种语言,例如 C 或 PostScript。bcaaaabaca

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


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

于 2010-04-19T17:38:06.807 回答
2

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

于 2010-04-19T16:43:45.243 回答
1

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

于 2016-09-24T16:46:43.333 回答
0

这是维基百科的摘录

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

于 2010-04-19T16:44:50.710 回答
0

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

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

所以如果包含上述规则的语言是正式的,它应该遵守给定的规则。

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

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

于 2013-02-17T13:09:41.277 回答
0

其他答案与根据计算机科学对形式编程语言的定义有关。但是,这个答案与根据社会(想要)科学对正式编程语言的定义有关。

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

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

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

于 2017-12-19T01:51:07.843 回答