Ver Mensaje Individual
  #19 (permalink)  
Antiguo 14/09/2008, 01:29
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Javascript propietario?

Creo que estáis confundiendo algunas cosas.

ECMAScript es un estándar. El lenguaje es estándar, lo que significa que ni es "propietary" ni es "libre" sino que la definición del lenguaje está registrada como estándar y que cualquiera que haga una implementación de ese lenguaje debe cumplir ese estándar. Eso hace que las implementaciones -que son las que pueden ser libres o no- tengan que ser compatibles.

Es el mismo caso que C++. ¿C++ es libre? ¿No lo es? C++ es un estándar y nada más. VisualC++ es una implementación que no es libre. GNU C++ (gcc) es una implementación que sí es libre.

No ocurre lo mismo con todos los lenguajes. Hay lenguajes que no están registrados como estándares. Muchos lenguajes como Python, Lua, Ruby, Perl... no lo están. De esos lenguajes hay muchos que sólo tienen una implementación y esa implementación es libre y por eso a veces la gente dice que ese lenguaje es libre. Otros pueden tener varias implementaciones y que todas ellas sean libres, o que algunas lo sean y otras no.


ECMAscript, de todos modos, no es lo mismo que Javascript. ECMAscript tiene una peculiaridad: El estándar deja abierta la posibilidad de que las implementaciones que se cambien ligeramente determinados detalles del lenguaje (más bien que añadan determinadas librerías de objetos y funciones que son particulares del entorno en el que se ejecutan (*)). Así Javascript, CriScript, InScript y Actionscript son implementaciones de ECMAscript, pero son un tanto distintos en algunos detalles.

(*) A lo que se refiere esto es a que, mientras que en un navegador sólo tienes unos determinados objetos (Date, String...) o funciones (escape, parseInt), en otros entornos puedes tener otros. Por ejemplo en ActionScript (Flash) tienes métodos como play o stop y en otros entornos hay otros objetos diferentes.



Javascript en sí, el nombre, es una "marca registrada" de Sun. Esto lo que significa es que ese nombre está reconocido como marca. No quiere decir nada sobre la implementación, sino sobre el uso del nombre "Javascript".



¿La conclusión cuál es? Pues básicamente que la pregunta está mal planteada y que tu profesor es demasiado radical (o quizá simplemente busca una excusa para decir que va a enseñar lo que él tiene preparado y que no va a cambiar su programa para enseñaros algo que no quiere).



Nota: innerHtml no es "propiedad de MS" sino que es una característica que ellos añadieron. Pero no se la añadieron al lenguaje, sino que es algo que hace referencia al DOM (Document Object Model), la jerarquía de clases que representa un documento HTML, que no tiene relación exclusiva ni indispensable con el lenguaje Javascript.
(Y digo que "no es propiedad" en el sentido de que tan sólo es una idea, un detalle de implementación. No es algo patentado ni nada similar. Otros navegadores también han implementado innerHtml)


Nota: Tampoco hay que confundir lo que puede significar que un lenguaje sea un estándar con que una herramienta sea libre.

Nota: "Java" tampoco es "propietary". Java como nombre es una marca registrada, pero como lenguaje tiene implementaciones que son completamente libres.