2009-10-08 71 views
10

我偶然發現了這個'編程'語言列表,發現像Python這樣的流行語言不是標準化的嗎?爲什麼會這樣,而「標準化」意味着什麼呢?Python不是標準化語言嗎?

回答

29

「標準化」是指該語言有一個正式批准的標準,一般由ISO或ANSI或ECMA寫入。很多現代開源語言,如Python,Perl和Ruby,都沒有經過外部機構的正式標準化,而是有一個事實上的標準:無論原始工作實現如何。

標準化語言的好處是:a)你知道語言不會隨機地改變你,b)如果你想爲你的語言編寫你自己的編譯器/解釋器,你有一個非常清晰的文檔,告訴你什麼行爲都應該做,而不必在原始實施中自己測試這種行爲。因此,標準化語言變化緩慢,並且通常有多個主要實現。

一種語言並不需要標準化纔能有用。大多數非標準語言不會無緣無故地發生隨機向後不可修改的變化(如果他們這樣做,他們需要10年的時間才能決定如何咳嗽Perl6咳嗽),非標準語言可以更快地增加很酷的新實驗功能(更便攜)比標準化的語言。

一些標準化的語言:

  • Ç
  • C++
  • Common Lisp的
  • 方案
  • 的JavaScript(ECMAScript的)
  • C#
  • 紅寶石
(?) 種

非標準語言:

  • 的Perl
  • 的Python
  • PHP
  • Objective-C的

完整名單上Wikipedia

+4

一個很好的答案,我唯一的論點是,如果某個標準對某個特徵略微模糊,那麼可以保證微軟版本將使用對所述歧義性的最晦澀和不尋常的解釋,而其他每個產品都會做某些事情明智的。 – 2009-10-08 06:00:14

+0

Ruby現在是ISO/IEC 30170的標準化語言 – harsha 2013-11-27 16:52:37