Question

Je suis tombé sur cette langue « liste de programmation » et a trouvé que les langues populaires comme Python ne sont pas standardisés? Pourquoi est-ce, et qu'est-ce que « normalisé » signifie de toute façon?

Était-ce utile?

La solution

« normalisé » signifie que la langue a une norme officielle, approuvée, généralement écrit par ISO ou ANSI ou ECMA. De nombreuses langues open-source modernes, comme Python, Perl et Ruby, ne sont pas formellement normalisé par un organisme extérieur, et à la place un de facto standard:. Quelle que soit la mise en œuvre de travail d'origine ne

Les avantages de la standardisation d'une langue sont: a) que vous connaissez la langue ne changera pas au hasard sur vous, b) si vous voulez écrire votre propre compilateur / interprète pour la langue, vous avez un document très clair qui vous dit ce que tout comportement doit faire, plutôt que d'avoir à tester vous-même comportement dans la mise en œuvre originale. À cause de cela, les langages standards évoluent lentement, et ont souvent plusieurs implémentations majeures.

Une langue ne doit pas vraiment être normalisée pour être utile. La plupart des langues non standard ne seront pas seulement faire des changements aléatoires en arrière-INCOMPATIBLES sans raison (et s'ils le font, ils prennent dix ans pour décider comment * tousse * Perl6 * tousse *), et les langues non standard peuvent ajouter de nouvelles fonctionnalités expérimentales frais beaucoup plus rapide (et plus portably) que les langues normalisées.

Quelques langues normalisées:

Les langues non normalisées:

  • Perl
  • Python
  • PHP
  • Objective-C

Une liste complète est sur Wikipedia .

Autres conseils

Il existe des "normes" et il y a des "normes".

La plupart des gens veulent dire la plupart du temps qu'une norme est adoptée par une organisation rédaction de normes: ISO, ECMA, EIA, etc. Les avocats appellent ces normes De Jure. Il y a force de loi.

En outre, il y a "De Facto normes".

Certaines personnes, aussi, corrompre le mot en ajoutant "Industry Standard" ou " vendorname Standard". Ceci est juste le bruit de marketing vide de sens.

De Facto standard est quelque chose qui est normalisé dans la pratique (parce que tout le monde le fait et accepte qu'ils le font de cette façon), mais il est pas soutenu par une organisation de normalisation.

Python a une Facto Standard, pas De Jure standard.

normalisé signifie qu'il existe un cahier des charges pour la langue (un « standard »). Java, par exemple, a un cahier des charges. Perl 5 ne pas (le code source est le "standard"), mais Perl 6 volonté.

Voir Y at-il une spécification de langage Python?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top