Hoy hace treinta años, Netscape Communications y Sun Microsystems emitieron un comunicado de prensa conjunto en el que anunciaban JavaScript, un lenguaje de programación orientado a objetos diseñado para crear aplicaciones web interactivas. El lenguaje surgió tras diez frenéticos días de trabajo en la empresa pionera en navegadores Netscape, donde el ingeniero Brendan Eich creó un prototipo interno funcional en mayo de 1995.
|
etiquetas: javascript , netscape
Ya no sólo porque el sujeto del clickbait, JavaScript, sea completamente prescindible para "el funcionamiento de Internet" (que no es un sinónimo de "la web" y ni aún así). Sino porque desde la creación de JavaScript hasta que éste se convirtió en un elemento casi imprescindible de la plataforma web pararon unos cuantos años.
Cuando vi el titular pensé que hablaría de algo como DNS, que se parió en poco tiempo (aunque creo que fueron varios meses). Pero, lamentablemente, nos llevó a esto.
Bjarne Stroustrup
Eso sí, luego lo evolucionaron hasta hacer un autentico engendro. en 2015 perdí la pista a Javascript, espero que desde entonces se haya mejorado de lo suyo.
Ya no sólo porque el sujeto del clickbait, JavaScript, sea completamente prescindible para "el funcionamiento de Internet" (que no es un sinónimo de "la web" y ni aún así). Sino porque desde la creación de JavaScript hasta que éste se convirtió en un elemento casi imprescindible de la plataforma web pararon unos cuantos años.
Cuando vi el titular pensé que hablaría de algo como DNS, que se parió en poco tiempo (aunque creo que fueron varios meses). Pero, lamentablemente, nos llevó a esto.
¿Más recomendaciones?
Edit: No quiero decir con esto que JS sea la panacea, pero comparado con esas tecnologías es el puto maná... hasta que WebAssembly se integre en la plataforma como es debido.
Cuando se usa la palabra reservada "class", por detrás, el motor de javascript esta usando "prototype". Esto se hizo (como otras cosas) para que la gente que venia de otros lenguajes, se redujera la curva de aprendizaje.
Que tiempos, aún echo de menos esas mierdas de menús animados en Flash
se mejoró la eficiencia de JS, entonces metieron mas JS hasta volver las paginas mas lentas y pesadas que antes todavia.
El JS permite cosas imposibles sin, pero se usa para cosas que no lo necesitan y al final es una fuente de fallos y que hace las paginas mas pesadas.
#17 el famoso anuncio de la muerte. Un anucio Flash que hacia ruido cuando pasabas con el raton por encima sin querer y de noche te pegaba unos sustos. Si pinchabas, creo que mandaba a una pagina… » ver todo el comentario
Y estoy de acuerdo contigo, Javascript no es necesario. De hecho Stallman ya habló de lo molestos que son, sobretodo los privativos: www.gnu.org/philosophy/javascript-trap.html
"En la práctica, ¿cómo podemos afrontar el problema de la presencia en sitios web de programas Javascript que no son libres ni triviales? En primer lugar, no ejecutarlos."
function Meneante(nombre) {
this.nombre = nombre;
this.cuñadear = function () {
console.log("se te ve experto");
};
}
var sonix = new Meneante("sonix");
sonix.cuñadear(); // "se te ve experto"
o, de manera implícita:
var sonix = {
nombre: "sonix",
cuñadear: function () {
console.log("se te ve experto");
}
};
Ahí tienes un objeto que, como todos los demás excepto null, hereda de Object.prototype.
En cualquier caso, JavaScript sí soportó la orientación a objetos desde sus inicios (además de otros paradigmas). A pesar de que la OO basada en clases es mucho más común, la basada en prototipos no es menos OO. Lua es otro ejemplo de lenguaje que soporta OO basada en prototipos.
Y, desde luego, no tienen un uso menor. Prácticamente en cualquier código de JavaScript puedes encontrar construcciones como `const a = {foo: "bar"}`. Eso es un objeto.
Javascript hizo en su época lo que tenía que hacer. Y lo hizo bien. Hacía falta un lenguaje de programación que pudiera manipular el DOM de forma sencilla y ligera, potente, a la vez que lo debía interpretar un navegador para que no hubiera agujeros de seguridad.
En esa época salieron engendros como Flash y como los Applets de Java que eran un agujero de seguridad y un nido de errores. Una pesadilla para cualquier… » ver todo el comentario
Pero te entiendo, sé cuáles son las ventajas, yo me dedico a esto. Tendemos a culpar a las tecnologías pero el problema es casi siempre el uso que se hace de ellas.
No le dejéis sólo que la lía.
Lo applets tenian todo: eran una aplicacion como lo podia ser un programa de Windows o Motif, pero vino este a meter en las putas paginas miles de lineas de codigo que "hacian cosas". Todavia me acuerdo de currar una puta noche para que una apliacion rulara mas o menos.
Para las webs era un infierno. Muy pocos incluían un botón 'atras' y si lo hacías con el navegador la liabas....
#62: Vengo de corregir exámenes de Bachillerato, la gente no entiende una cosa: primero se piensa, luego se trabaja.
Muchos se ponen a escribir código sin saber lo que necesitan, así que se ponen a declarar bibliotecas que no hacen falta simplemente porque las suelen usar.
Simplemente es más rápido el desarrollo para la consultora de turno.. aunque el resultado sea una basura.
Para hacer páginas web es un sinsentido, pero en un panel de administración no querría volver al html tradicional o llamadas ajax
CC #24
Creo que javascript se considera orientado a prototipos
El que sí que es orientado a objetos es typescript, que generalmente se transpila a javascript para ejecutarse
"La diferencia principal es que
JavaScript es un lenguaje de tipado dinámico, mientras que TypeScript es un superconjunto de JavaScript que añade tipado estático."
No es obsesionado con las clases y los objetos, que es lo que hoy se entiende por "orientado a objetos"
JavaScript se considera orientado a objetos porque:
Usa objetos para organizar datos y acciones.
Permite crear objetos nuevos mediante prototipos.
La especificación oficial ECMA-262 define que casi todo en JavaScript (arrays, funciones, fechas) está basado en objetos.
Orientado a prototipos y orientado a objetos no son excluyentes. Además, JavaScript soporta clases y constructores desde hace muchos años.
developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes
¿Alguien más?