Python不是标准化语言?

22 投票
3 回答
5511 浏览
提问于 2025-04-15 14:54

我偶然发现了一个“编程语言列表”,发现像Python这样受欢迎的语言居然没有标准化?这是为什么呢?而“标准化”到底是什么意思呢?

3 个回答

4

标准化的意思是这个语言有一个明确的规范(也就是“标准”)。比如说,Java就有这样的规范。而Perl 5没有(它的源代码就是“标准”),但Perl 6会有。

可以看看这个链接:Python语言有没有规范?

7

有“标准”,也有“标准”。

大多数人说的标准,通常是指由一些专门制定标准的组织通过的,比如ISO、ECMA、EIA等等。律师们称这些为法定标准(De Jure Standards),这意味着它们有法律效力。

另外,还有一种叫做“事实标准”(De Facto Standards)。

有些人还会把“行业标准”或者“某个品牌标准”这样的词加进来,这其实只是一些没有意义的市场宣传噪音。

事实标准是指在实际操作中大家都这么做,并且大家都同意这样做的东西,但它并没有得到某个标准组织的支持。

比如,Python就是一个事实标准,而不是法定标准。

50

"标准化"的意思是这个语言有一个正式的、经过批准的标准,通常是由ISO、ANSI或ECMA这些组织制定的。很多现代的开源语言,比如Python和Perl,并没有被外部机构正式标准化,而是有一个事实上的标准:就是原始的工作实现是怎么做的。

标准化语言的好处有:a) 你可以放心,这个语言不会随便变动;b) 如果你想为这个语言写自己的编译器或解释器,你会有一个非常清晰的文档,告诉你每个功能应该怎么表现,而不是要自己去测试原始实现的表现。因为这个原因,标准化的语言变化比较慢,通常会有多个主要的实现版本。

其实语言不一定要标准化才能有用。大多数非标准语言不会无缘无故地做出不兼容的随机改变(如果真的这样做了,他们可能要花十年时间来决定怎么做,比如*咳*Perl6*咳*),而且非标准语言可以比标准化语言更快(也更方便)地添加一些很酷的新实验性功能。

一些标准化的语言包括:

非标准化的语言包括:

  • Perl
  • Python
  • PHP
  • Objective-C

完整的列表可以在维基百科上找到。

撰写回答