2009-10-08 21 views

答えて

29

「標準化」を参照してくださいは、言語は、一般的にISOやANSIまたはECMAによって書かれた正式な、承認された基準を持っていることを意味します。 Python、Perl、Rubyなどの現代のオープンソース言語の多くは、外部の団体によって正式に標準化されておらず、代わりに事実上の標準:標準を持っています。

言語を標準化することの利点は、a)言語がランダムに変更されることはないこと、b)言語用に独自のコンパイラ/インタープリタを作成する場合は、元々の実装でその動作を自分自身でテストしなくても、すべての動作が何をすべきかこのため、標準化された言語はゆっくりと変化し、多くの場合、複数の主要な実装があります。

実際には言語を標準化しておく必要はありません。非標準的な言語のほとんどは、何の理由もなく後方互換性のないランダムな変更を行うだけではありません(もしそうであれば、Perl6 * Cough *の習得方法を決めるのに10年かかります)標準化された言語よりも(そして移植性の高い)

いくつかの標準化された言語:

  • C
  • C++
  • Common Lispの
  • スキーム
  • のJavaScript(ECMAScriptの)
  • C#
  • ルビー
(?)

規格外の言語:

  • Perlの
  • Pythonの
  • PHP
  • のObjective-C

完全なリストはWikipediaです。

+4

私の唯一の議論は、スタンダードが特定の機能でわずかに漠然としている場合、マイクロソフトのバージョンが上記のあいまいさの最も明白で珍しい解釈を使用することを保証することができます。感覚的。 –

+0

RubyはISO/IEC 30170によって標準化された言語になりました – harsha

2

標準化とは、言語仕様(「標準」)が存在することを意味します。たとえば、Javaには仕様があります。 Perl 5はそうではありません(ソースコードは "標準"です)が、Perl 6はそうです。

Is there a Python language specification?

3

「標準」があり、「標準」があります。

ほとんどの人々は、スタンダードがISO、ECMA、EIAなどの規格作成機関によって渡されたことを意味します。弁護士は、これらのDe Jure Standardsを呼び出します。法の義務があります。

さらに、「デファクトスタンダード」があります。

"業界標準"を追加するか、 "vendorname標準"を追加して、単語を壊す人もいます。これはまさに無意味なマーケティング・ノイズです。

デファクトスタンダードは実際には標準化されています(だれもがそれをやっていると同意しているからです)。ではなく、標準化団体の支援を受けてです。

PythonにはDe Jure標準ではなく、De Facto標準があります。

関連する問題