Me encontré con esta "lista de lenguajes de programación" y encontré que los lenguajes populares como Python no están estandarizados. ¿Por qué es eso y qué quiere decir "estandarizado"?Python no es un lenguaje estandarizado?
Respuesta
"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 modernos, como Python, Perl y Ruby, no están formalmente estandarizados por un organismo externo, y en su lugar tienen un estándar de facto: cualquiera que sea la implementación de trabajo original.
Las ventajas de estandarizar un idioma son a) usted sabe que el idioma no cambiará aleatoriamente en usted, b) si desea escribir su propio compilador/intérprete para el idioma, tiene un documento muy claro que le dice qué comportamiento debería hacer todo, en lugar de tener que probar ese comportamiento usted mismo en la implementación original. Debido a esto, los lenguajes estandarizados cambian lentamente, y a menudo tienen múltiples implementaciones principales.
Un lenguaje en realidad no tiene que ser estandarizado para ser útil. La mayoría de los lenguajes no estándar no solo harán cambios al azar incompactables sin razón alguna (y si lo hacen, demoran diez años para decidir cómo * toser * Perl6 * tos *), y los idiomas no estándar pueden agregar nuevas características experimentales mucho más rápidas (y más portátil) que los lenguajes estandarizados.
Unos lenguajes estandarizados:
- C
- C++
- Common Lisp
- Esquema
- JavaScript (ECMAScript)
- C#
- Rubí
idiomas no estandarizados:
- Perl
- Python
- PHP
- Objective-C
Una lista completa está en Wikipedia.
Normalizado significa que existe una especificación para el idioma (un "estándar"). Java, por ejemplo, tiene una especificación. Perl 5 no (el código fuente es el "estándar") pero Perl 6 lo hará.
Hay "estándares" y hay "estándares".
La mayoría de las personas en su mayoría quiere decir que un estándar es aprobado por una organización de redacción de normas: ISO, ECMA, EIA, etc. Los abogados llaman a estos Estándares De Jure. Existe la fuerza de la ley.
Además, existen "Estándares de facto".
Algunas personas también corrompen la palabra agregando "Industry Standard", o "vendorname Standard".Esto es solo ruido de marketing sin sentido.
Un estándar De Facto es algo que está estandarizado en la práctica (porque todos lo hacen y acepta que lo hacen de esa manera) pero es no respaldado por alguna organización de estándares.
Python tiene un estándar De Facto, no es un estándar De Jure.
- 1. ¿Base64 está estandarizado?
- 2. Además de un lenguaje declarativo, ¿SQL es un lenguaje funcional?
- 3. ¿Por qué el lenguaje Python no tiene un método writeln()?
- 4. ¡Lenguaje más cercano a la sintaxis de Python que es un lenguaje de bajo nivel!
- 5. ¿Es R un lenguaje compilado?
- 6. ¿Qt 4 es un lenguaje de programación?
- 7. ¿Qué es un lenguaje lambda?
- 8. ¿Qué es un lenguaje de pegamento?
- 9. Lenguaje base de python
- 10. ¿Por qué C no es un lenguaje dinámico?
- 11. ¿C++ es un lenguaje orientado a objetos?
- 12. ¿Qué es un lenguaje de programación formal?
- 13. ¿XSLT es un lenguaje de programación funcional?
- 14. ¿C# es un lenguaje de alto nivel?
- 15. ¿Qué es este lenguaje?
- 16. ¿JavaScript es un lenguaje de aplicación?
- 17. ¿Qué es un lenguaje de plantillas?
- 18. ¿Es PowerShell un lenguaje fuertemente tipado?
- 19. ¿Es Erlang realmente un lenguaje funcional?
- 20. Python: Int no es un error iterable
- 21. Creación de un lenguaje de programación simple en Python
- 22. ¿Qué significa realmente que un lenguaje de programación no es apilado?
- 23. ¿Su lenguaje de programación en un navegador (es decir, Javascript)?
- 24. Python como lenguaje de scripting web?
- 25. Lenguaje similar a CoffeeScript escrito en Python
- 26. ¿Cuál es la diferencia entre un lenguaje y un marco?
- 27. Análisis léxico del lenguaje de programación Python
- 28. ¿Python es un lenguaje débilmente tipado ya que las variables pueden cambiar de tipos?
- 29. ¿Está estandarizado el algoritmo de diferencias bit git (almacenamiento delta)?
- 30. Lenguaje LL (2) que no es LL (1)
Una gran respuesta, mi único argumento sería que si un estándar es ligeramente impreciso en cierta función, puede garantizar que la versión de Microsoft utilizará la interpretación más oscura e inusual de dicha ambigüedad, mientras que cualquier otro producto hace algo sensato. –
Ruby ahora es un lenguaje estandarizado según ISO/IEC 30170 – harsha