Python不是标准化的语言?

时间:2009-10-08 04:54:19

标签: python standardized

我偶然发现了这个“编程”语言列表,发现像Python这样的流行语言没有标准化?既然如此,那么“标准化”究竟意味着什么呢?

3 个答案:

答案 0 :(得分:35)

“标准化”是指该语言具有正式的,经批准的标准,通常由ISO或ANSI或ECMA编写。许多现代开源语言,如Python,Perl和Ruby,都没有被外部机构正式标准化,而是具有事实标准:无论原始工作实现如何。

标准化语言的好处是:a)你知道语言不会随意改变你,b)如果你想为这种语言编写自己的编译器/解释器,你有一个非常清晰的文档告诉你什么行为一切都应该做,而不是必须在原始实现中自己测试这种行为。因此,标准化语言变化缓慢,并且通常有多个主要实现。

语言实际上并不需要标准化才有用。大多数非标准语言不会无缘无故地进行随机向后无比变化(如果他们这样做,他们需要十年时间来决定如何*咳嗽* Perl6 *咳嗽*),非标准语言可以更快地添加很酷的新实验功能(和更便携的)比标准化语言。

一些标准化语言:

非标准化语言:

  • 的Perl
  • 的Python
  • PHP
  • 目标C

完整列表位于Wikipedia

答案 1 :(得分:5)

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

大多数人大多意味着标准由标准撰写组织传递:ISO,ECMA,EIA等。律师称这些为De Jure标准。这是法律的力量。

此外,还有“事实标准”。

有些人也通过添加“行业标准”或“ vendorname 标准”来破坏这个词。这只是毫无意义的营销噪音。

De Facto标准在实践中是标准化的(因为每个人都这样做并且同意他们这样做)但是没有支持某些标准组织。

Python有De Facto标准,而不是De Jure标准。

答案 2 :(得分:2)

标准化意味着存在语言规范(“标准”)。例如,Java有一个规范。 Perl 5没有(源代码是“标准”),但Perl 6会。

请参阅Is there a Python language specification?