Python не является стандартизированным языком?

StackOverflow https://stackoverflow.com/questions/1535702

  •  20-09-2019
  •  | 
  •  

Вопрос

Я наткнулся на этот "список языков программирования" и обнаружил, что популярные языки, такие как Python, не стандартизированы?Почему это так, и что вообще означает "Стандартизированный"?

Это было полезно?

Решение

"Стандартизированный" означает, что язык имеет официальный, утвержденный стандарт, обычно написанный ISO, ANSI или ECMA.Многие современные языки с открытым исходным кодом, такие как Python, Perl и Ruby, формально не стандартизированы внешним органом, а вместо этого имеют де-факто стандартный:что бы ни делала исходная рабочая реализация.

Преимущества стандартизации языка заключаются в том, что а) вы знаете, что язык не будет случайным образом меняться в зависимости от вас, б) если вы хотите написать свой собственный компилятор / интерпретатор для языка, у вас есть очень четкий документ, который сообщает вам, какое поведение все должно выполнять, вместо того, чтобы самостоятельно тестировать это поведение в исходной реализации.Из-за этого стандартизированные языки меняются медленно и часто имеют несколько основных реализаций.

На самом деле язык не обязательно должен быть стандартизирован, чтобы быть полезным.Большинство нестандартных языков не будут просто так вносить случайные изменения, несовместимые с предыдущими, без причины (и если они это сделают, им потребуется десять лет, чтобы решить, как * кашлять * Perl6 * кашлять *), и нестандартные языки могут добавлять интересные новые экспериментальные функции намного быстрее (и более переносимо), чем стандартизированные языки.

Несколько стандартизированных языков:

Нестандартизированные языки:

  • Perl - язык программирования
  • Питон
  • PHP
  • Цель-C

Полный список находится на Википедия.

Другие советы

Есть "стандарты" и есть "эталоны".

Большинство людей в основном имеют в виду, что стандарт принят организацией, пишущей стандарты:ISO, ECMA, EIA и т.д.Юристы называют это стандартами Де-Юре.Есть сила закона.

Кроме того, существуют "Стандарты де-факто".

Некоторые люди, также, искажают слово, добавляя "Отраслевой стандарт" или "имя поставщика Стандарт".Это просто бессмысленный маркетинговый шум.

Стандарт де-факто - это то, что стандартизировано на практике (потому что все делают это и соглашаются, что они делают это таким образом), но это не поддерживается какой-то организацией по стандартизации.

Python имеет Стандарт Де-факто, а не Стандарт Де-Юре.

Стандартизированный означает, что существует спецификация для языка ("стандарт").Java, например, имеет спецификацию.Perl 5 этого не делает (исходный код является "стандартным"), но Perl 6 сделает.

Видишь Существует ли спецификация языка Python?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top