Frage

stieß ich auf dieser Liste der Programmierung 'Sprachen und fand, dass populäre Sprachen wie Python sind nicht standardisiert? Warum ist das so, und was bedeutet ‚standardisierte‘ mittleres eigentlich?

War es hilfreich?

Lösung

„Standardisierte“ bedeutet, dass die Sprache hat eine formale, anerkannten Norm, geschrieben im Allgemeinen von ISO oder ANSI oder ECMA. Viele modernen Open-Source-Sprachen wie Python, Perl und Ruby sind nicht formell von einer externen Stelle standardisieren und stattdessen ein de-facto Standard:., Was die ursprüngliche Arbeits Umsetzung tut

Die Vorteile der Standardisierung einer Sprache a) sind Sie kennen die Sprache nicht zufällig ändern wird, b) wenn Sie Ihren eigenen Compiler / Interpreter für die Sprache zu schreiben, haben Sie eine sehr klare Dokument, das Ihnen sagt, was Verhalten sollte alles tun, anstatt dass das Verhalten selbst in der ursprünglichen Implementierung testen zu müssen. Aus diesem Grund ändern sich standardisiert Sprachen langsam, und oft haben mehrere wichtige Implementierungen.

Eine Sprache muss nicht wirklich standardisiert werden, nützlich zu sein. Die meisten Nicht-Standard-Sprachen werden nicht nur zufällig nach hinten-incompatable Änderungen ohne Grund (und wenn sie es tun, nehmen sie 10 Jahre, um zu entscheiden, wie man * hust * Perl6 * hust *) und Nicht-Standard-Sprachen können coole neue experimentelle Features hinzufügen viel schneller (und mehr portabel) als standardisierte Sprache.

Einige standardisierte Sprachen:

Nicht standardisierte Sprachen:

  • Perl
  • Python
  • PHP
  • Objective-C

Eine vollständige Liste ist auf Wikipedia .

Andere Tipps

Es gibt "Standards" und es gibt "Standards".

Die meisten Leute bedeuten meist, dass ein Standard, der von einem standard Schreiben Organisation übergeben wird: ISO, ECMA, EIA usw. Rechtsanwälte diese De Jure Standards nennen. Es ist die Kraft des Gesetzes.

Darüber hinaus gibt es "De Facto Standards".

Einige Leute, auch korrupte das Wort von "Industry Standard" Hinzufügen oder " vendor Standard". Dies ist nur sinnlos Marketing Lärm.

Ein De-Facto-Standard ist etwas, das in der Praxis standardisiert ist (weil jeder es tut und stimmt sie es auf diese Weise tun), aber es ist nicht von einigen Standards Organisation unterstützt.

Python hat einen De-facto-Standard, kein De Jure-Standard.

Standardisierte Mittel gibt es eine Spezifikation für die Sprache ( „Standard“). Java, zum Beispiel, hat eine Spezifikation. 5 Perl nicht (der Quellcode ist der "Standard"), aber Perl 6 Willen.

Siehe Gibt es eine Python-Sprachspezifikation?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top