【问题标题】:Python not a standardized language?Python不是标准化语言?
【发布时间】:2010-12-04 21:01:28
【问题描述】:

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

【问题讨论】:

    标签: python standardized


    【解决方案1】:

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

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

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

    一些标准化语言:

    非标准化语言:

    • Perl
    • Python
    • PHP
    • Objective-C

    完整列表位于Wikipedia

    【讨论】:

    • 一个很好的答案,我唯一的论点是,如果一个标准只是对某个功能有点模糊,你可以保证微软版本将使用最模糊和不寻常的解释,而其他所有产品都在做一些明智的事情。
    • Ruby 现在是 ISO/IEC 30170 的标准化语言
    【解决方案2】:

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

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

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

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

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

    Python 有事实上的标准,而不是法律上的标准。

    【讨论】:

      【解决方案3】:

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

      Is there a Python language specification?

      【讨论】:

        猜你喜欢
        • 2012-05-28
        • 2021-05-12
        • 2019-05-15
        • 1970-01-01
        • 2016-02-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多