Pregunta

Me encontré con este 'lista de programación de los idiomas y se encontró que los lenguajes populares como Python no están estandarizados? ¿Por qué es que, y qué 'estandarizado' significa de todos modos?

¿Fue útil?

Solución

"estandarizada" significa que el lenguaje tiene una, las normas aprobadas formal, generalmente escrito por ISO o ANSI o ECMA. Muchos lenguajes de código abierto modernas, como Python, Perl y Ruby, no están estandarizados formalmente por un organismo externo, y en lugar de tener un de facto estándar:. Lo que hace la aplicación de trabajo original

Los beneficios de la estandarización de una lengua son: a) sabe el idioma no cambiará de forma aleatoria en la que, b) si se desea escribir su propio compilador / intérprete para el lenguaje, que tiene un documento muy claro que le dice lo comportamiento de todo debe hacer, en lugar de tener que probar que el comportamiento a sí mismo en la implementación original. Debido a esto, los lenguajes estandarizados cambiar poco a poco, y con frecuencia tienen múltiples implementaciones importantes.

Un lenguaje en realidad no tiene que ser estandarizados para ser útil. La mayoría de los idiomas no estándar no sólo va a hacer cambios hacia atrás-incompatable al azar sin ninguna razón (y si lo hacen, tomar diez años para decidir cómo * tos * * tos * Perl6), y los lenguajes no estándar pueden añadir nuevas funciones experimentales fresco mucho más rápido (y más portable) que los lenguajes estandarizados.

A los pocos lenguajes estandarizados:

Las lenguas no estandarizados:

  • Perl
  • Python
  • PHP
  • Objective-C

Una lista completa está en Wikipedia .

Otros consejos

Hay "normas" y hay "normas".

La mayoría de la gente en su mayoría quieren decir que una norma se hace pasar por una organización de estándares-escritura: ISO, ECMA, EIA, etc. Los abogados llaman a estas Normas de derecho. Ahí está la fuerza de la ley.

Además, hay "normas de facto".

Algunas personas, también, falsos de la palabra mediante la adición de "estándar de la industria", o " vendorname Estándar". Esto es sólo el ruido de marketing sin sentido.

Un estándar de facto es algo que se estandarizaron en la práctica (porque todo el mundo lo hace y está de acuerdo en que lo están haciendo de esta manera) pero es no respaldado por alguna organización de estándares.

Python tiene un estándar de facto, no un Jure Estándar De.

estandarizado significa que no existe una especificación para el lenguaje (un "estándar"). Java, por ejemplo, tiene una especificación. Perl 5 no (el código fuente es el "estándar") pero Perl 6 voluntad.

¿Hay una especificación del lenguaje Python?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top