编程语言是正式的编程语言是什么意思?哪些语言是正式的编程语言?哪些是非正式的编程语言?
我还没有找到好的解释。
每种编程语言都是一种形式语言,所以说“形式编程语言”对我来说没有多大意义。(或者有人知道一种非正式的编程语言吗?)
形式语言是一种具有数学上精确构造规则的语言。或者,更准确地说,它是一些字母表上的一组单词。例如,如果您采用由字母 和 组成的字母表,则该a
字母表上的正式语言可能是集合 { , , , }。当然,这样的语言不会很有用——关键是通过一套体面的构造规则,您可以创建一种语言,例如 C 或 PostScript。b
c
a
aa
aba
ca
至于“构造规则”,它们可以是形式语法(参见CSS语法)、正则表达式(参见RFC 822 定义的电子邮件地址的华丽正则表达式)、自动机或通用算法。
如果你觉得你对这件事还有一点理解,不要绝望,因为这不是一个很好的解释:-) 形式语言的概念背后有很多思考。我建议您尝试消化Wikipedia 条目并查找更多教程和书籍。这很有趣,你会学到很多关于编译器、正则表达式、图灵机和其他数字人类奇迹的背景知识。
正式意味着定义明确。每种可用于定义可执行程序的编程语言都必须进行良好定义,以便机器能够理解它。
它不是一种“正式语言”,而是一种正式的编程方法:维基百科。它不必是特定的语言,而是您编写规范和验证代码的方式。
这是维基百科的摘录
“John C. Reynolds 强调,形式规范语言与旨在执行的语言一样多的编程语言。他还认为,影响计算机行为的文本甚至图形输入格式都是编程语言,尽管事实上它们是通常不是图灵完备的,并指出对编程语言概念的无知是输入格式存在许多缺陷的原因”
形式语言是只考虑格式良好的语言。这意味着充分和必要条件是遵守其规则。示例规则:
例如。如果我们将十进制数的语言定义为 {x | 没有前导零的有限数字集}。(简单地说,小数就是一个数字序列。)
所以如果包含上述规则的语言是正式的,它应该遵守给定的规则。
但在实际使用中,如果语言将 001 视为十进制数,我们可以断定该编程语言不是正式的,因为它不完全符合它定义的规则集。
通常语言解析器会检查这些规则。因此,形式语言应该始终是格式良好的(严格遵循自己的规则)
其他答案与根据计算机科学对形式编程语言的定义有关。但是,这个答案与根据社会(想要)科学对正式编程语言的定义有关。
根据dictionary.com
,“正式”的定义之一是being in accordance with the usual requirements, customs, etc.; conventional
。
正式的编程语言是一种被谈论它的人广泛使用和接受的编程语言。因此,它是特定于域和会话的。也许更好的措辞是“流行”、“传统”、“主流”或“广泛接受”的编程语言。例如,在商业和工业中,这指的是SQL
、Java
、C#
、和。C++
Python
PHP
非正式编程语言的示例是SPL
(莎士比亚编程语言)FORTRAN
和CoffeeScript
. 说一种语言比另一种更传统,因此更正式,而不是说一种语言是正式的而另一种语言是非正式的更准确。毕竟,Lisp
这将是一种用于制作网站的非常非正式的编程语言,但是用于开发人工智能研究的一种非常正式的编程语言。