19

我偶然发现了这个“编程语言列表”,发现像 Python 这样的流行语言没有标准化?为什么会这样,“标准化”到底是什么意思?

4

3 回答 3

47

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

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

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

一些标准化的语言:

非标准化语言:

  • Perl
  • Python
  • PHP
  • Objective-C

完整列表在Wikipedia上。

于 2009-10-08T05:04:44.537 回答
7

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

大多数人主要是指标准由标准编写组织通过:ISO、ECMA、EIA 等。律师称这些为法理标准。有法律的力量。

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

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

事实标准是在实践中标准化的东西(因为每个人都这样做并同意他们这样做),但它没有得到某些标准组织的支持。

Python 有一个事实上的标准,而不是一个法理标准。

于 2009-10-08T10:51:13.820 回答
4

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

请参阅是否有 Python 语言规范?

于 2009-10-08T04:57:40.167 回答