S1 E1: Historia de JS [Parte I]

S1 E1: Historia de JS [Parte I]

De nuestra sección ¿Qué es ____? te presentamos la primer parte en nuestra mini serie de la historia de JavaScript. Desde el contexto en los 90s hasta el surgimiento de jQuery.

Creating JavaScript
https://www.redhat.com/en/command-line-heroes/season-3/creating-javascript

dotJS 2017 - Brendan Eich - A Brief History of JavaScript
https://www.youtube.com/watch?v=aX3ZABCdC38

The Weird History of JavaScript
https://www.youtube.com/watch?v=Sh6lK57Cuk4

A Brief History of JavaScript
https://auth0.com/blog/a-brief-history-of-javascript/

Entrevista a Brenda Eich
https://devchat.tv/js-jabber/124-jsj-the-origin-of-javascript-with-brendan-eich/

Brendan Eich: An Introduction to JavaScript
https://www.youtube.com/watch?v=1EyRscXrehw

Jesse James Garret:
https://twitter.com/jjg

Hay un momento en el episodio en que parece que atribuimos la creación de jQuery a JJG, pero en realidad el autor original se llama John Resig, acá te dejamos un link a su website personal:
John Resig:
https://johnresig.com/

Mándanos un mensaje

Support the show

Redes Sociales:
Twitter: @mytypeofradio
Facebook: My typeof Radio
Instagram: @mytypeofradio
YouTube: @mytypeofradio
Mastodon: @mytypeofradio@mastodon.online

Nuestra página web:
https://mytypeof.dev

Mándanos un correo:
hello@mytypeof.dev


    [0:04] Axel: Estás escuchando MyTypeof Radio, un podcast de desarrollo web en español.

    [0:11] Axel: Somos Axel Martínez. Arturo Mosqueda. Comenzamos.

    [0:16] Axel: De lleno en el tema que queremos platicar hoy, que es JavaScript, pero digamos que acotado un poco hacia el origen, la historia, los inicios, de dónde salió o por qué lo tenemos y pues un poco del contexto en el que existe ahora, ¿no? Súper.

    [0:34] Arturo: realmente tú y yo estábamos bien morros cuando salió JavaScript supongo que podamos empezar que bueno, tenemos historia escrita hoy en día y Google pero creo que podamos empezar en el mero inicio en los noventas eran tiempos locos los ochentas habían arrasado con la cultura en el mundo y internet todavía no existía al inicio de los noventas Es increíble imaginar lo poco que llevamos con internet. A veces me sorprendo de lo poco que llevamos con YouTube. Cuando volteaste atrás, cuando nacimos todavía no existía internet. Qué raro. No había teléfonos de disco y todas esas cosas.

    [1:19] Axel: Cuando ahora sí hubo, cuando ya había una forma de comunicar dos computadoras remotas entre sí, por ahí del 91, 93, ya existía una especie de navegador que se llamaba el Mosaic. Y que pues era más o menos popular, según lo que hemos encontrado en el research. Pero obviamente pues no había nada de JavaScript. pero lo que podías tener ahí era una especie de DOM primitivo ahí. Y bueno, casi siempre todo era páginas de texto, era documentos de texto que era lo que se compartía entre las universidades, que era sobre todo lo que estaba conectado por aquellos tiempos.

    [2:00] Arturo: es. Pasó mucho tiempo, al menos hasta que yo viera la primera página web adquirida, pedida de internet. Pero sí, después de eso, obviamente pidieron evolucionar la UI. Los mercados, los usuarios, la misma gente. Duró un rato, siendo una web muy fea, honestamente, para los estándares a los que estamos acostumbrados por ahora, pero lo importante en ese entonces era funcional. Mientras jala, mientras me deje llevar llegar a los documentos que necesito leer. Nice!

    [2:33] Axel: Sí, claro, porque sobre todo eran esos documentos, ¿no? Y la parte interesante, pues también recordar que las computadoras, por ejemplo, los monitores eran monocromáticos, tenías verde sobre negro o ámbar sobre negro, que es la que yo recuerdo haber visto, y pues nada de gráficos, nada de sonidos, nada, nada en absoluto, ¿no?

    [2:56] Arturo: Sí, sí, sí. Se recuerda lo más complejo. Y hasta yo hacía eso ya cuando existían cosas bonitas, pero obviamente no sabía que existían, hacíamos cosas con ASCII, ¿no? Interfaces geniales con ASCII. Oh, Dios mío. Ah, sí.

    [3:10] Arturo: Que graciosamente, digo, me tocaron verlas mucho de niño. Mi hermano programaba cuando estábamos creciendo. All right. Y siento que me acostumbré a ellas. Y cuando llegué, estuve trabajando un tiempo en el banco. Y prácticamente esa era la terminal que veías todos los días, todo el día. All right, all right. Era como un brinco 10, 15 años atrás. Pero bueno. Netscape llega. Netscape fue un parteaguas para nosotros que programamos en JavaScript el día de hoy

    [3:46] Arturo: eventualmente siento que hubiera existido un lenguaje que facilitara lo que hace JavaScript en la web, pero Netscape, el hecho de que saltaran a un mercado mucho más popular, mucho menos enfocado a estudiosos, científicos, gobierno y militar, vieron que faltaba algo, faltaba algo para atraer gente, faltaba algo para que Internet fuera viable como una herramienta para toda la gente.

    [4:15] Axel: como de comunicación, de transmitir ideas, de crear comunidades, ese tipo de cosas que pues vendrían después, ¿no? Y vendrían gracias a que a alguien se le ocurrió justamente eso, darle la oportunidad a gente que era nueva en la programación, gente que a lo mejor tenía un background más como de diseño o de creación artística, por decirlo de alguna forma. y pues lo que querían era darle más features, más características interesantes a su navegador que en ese tiempo pues dijimos ya que era Netscape, ¿no? Entonces, como en ese tiempo Java era la gran promesa, Java iba a resolver la vida para mucha gente, tenía justamente esta promesa de correr en todos lados y ser compatible con un montoncísimo de diferentes tipos de hardware y cosas de ese tipo, a alguien se le ocurrió la grandiosa idea de decir ¿por qué no ponemos Java en nuestro navegador? Esa persona fue Mark Anderson y pues lo que querían era justo eso, ¿no? Permitir que hubiera una forma de hacer programitas dentro de Netscape.

    [5:32] Arturo: Visionario el señor visionario. Súper idea. La verdad, súper idea. Y digo, como muchas buenas ideas, la ejecución siempre deja que desear, pero el resultado final, con suficiente tiempo, es bueno para todos.

    [5:49] Arturo: Porque eventualmente Brenda Neyck, un nombre gigante aún hoy, para muchos de nosotros desarrollando web, crea JavaScript. Pero no es como que le dieron chance, le dieron un Scrum Team, tenía un Scrum Master y un Roadmap infinito. No, no, no. Le dieron 10 días para crear el lenguaje.

    [6:07] Axel: 10 días o 2, Maradoc Sí, lo que está muy interesante Hay un par de podcasts en los que Hablan de esto Hay una entrevista para él y creo que sí Menciona algo así como No fueron exactamente 10 días, pero algo así La idea es que querían

    [6:24] Axel: A ver si esto les resulta familiar. Ya, sacar ya una nueva versión porque ya se habían comprometido a liberar Netscape 2 y punto no sé qué. Y no había vuelta atrás, ¿no? Lo que querían en ese momento era tener como la ventaja competitiva de poner un lenguaje en el navegador. Entonces le dijeron, vente, vamos a crear un scheme para el navegador, ¿no? Al final no solidificó la idea de hacerlo con Java tal vez, pero sí querían algo ligero, algo sencillo de usar, que se pudiera integrar dentro de Netscape y poderlo liberar de esta forma para ser más competitivos en el mercado.

    [7:04] Arturo: Así es, y siento que esa prisa, aunque fue buena, fue un motor increíble en esos tiempos en los que todo se movía un poquito más lento y de repente explotó.

    [7:16] Arturo: También dejó muchos huecos en un lenguaje, ¿no? Porque en sí no era un lenguaje súper profundo. No se esperaba que hiciera lo que hace hoy en día, prácticamente. Definitivamente. Ni siquiera se llamaba JavaScript en ese entonces. Pero eventualmente, comercialmente, JavaScript suena mucho mejor. Yo... No sé si sabes que vengo de Java originalmente. Aunque empecé haciéndose y otras cosas, Java era... Es mi alma mater. Y como ya ver, odiábamos JavaScript Ahora entiendo que por ninguna razón Pero creo que principalmente Que la gente no No técnica confundía Java con JavaScript Y eso era levemente annoying

    [7:57] Axel: la urgencia de ponerlo era que Microsoft ya estaba también liberando su propio Explorer, el navegador que ellos estaban integrando en sus distribuciones de Windows. Entonces, en este caso, en este punto, Microsoft tenía como que la ventaja, ellos decían, bueno, vamos a tener que entrarle a esto de los browsers, de los navegadores, y la forma es creando uno propio. Y luego, además, como ya tenían en el mercado ellos la distribución de Windows para las PCs, pues era como que el software por defecto, el software por default. Pero como dices al mismo tiempo, pues la presencia de Java era tan grande, había tantas personas que relacionaban Java con la programación, que por eso en algún punto dijeron, ok, vamos a decirle JavaScript, y será algo así como, pues eso, un lenguaje un poco más ligero, y lo que no sabían es que iban a confundir a los reclutadores, y a las empresas y a las personas y no iban a saber cuál era cuál Java o JavaScript y entonces iban a hacer que todo el mundo se enojara por eso, ¿no? Pero bueno.

    [9:04] Arturo: Qué gracioso. Pero no todo el mundo, yo me sigo riendo mucho al respecto. Especialmente con los reclutadores. Pero, ¡ip! Ahí está JavaScript. Recuerdo Microsoft tenía su Jscript. Incluso existió y fue probablemente una opción viable para muchos desarrolladores de .NET, Microsoft de corazón.

    [9:30] Arturo: La verdad me hubiera gustado que se siguiera llamando Mock. Más de una vez me he puesto a pensar que hubiera pasado en mi carrera si esos Miley Annoying events que pasaban mientras crecía aprendiendo Java

    [9:47] Arturo: No me hubieran hecho odiar JavaScript por llamarse igual que el lenguaje que usamos. Pero bueno, se llamaba Moca en ese entonces.

    [9:54] Arturo: y el engine que EIC usaba y de hecho actualmente usa, aunque obviamente es totalmente diferente como empezó,

    [10:01] Arturo: Se llama SpiderMonkey. Si abres tu Firefox todavía puedes ver tu UserAgent en algún lugar que usas SpiderMonkey como el motor. Hoy en día Node y Chrome usan V8. Y creo que Opera tiene su propia implementación. No tenía. No sé si decía todo es Chromium. Sí, creo que es Chromium también.

    [10:23] Arturo: Y el 96, ¿sabes qué bonito año?

    [10:30] Arturo: JavaScript se vuelve, a lo largo de un año o algo por el estilo, ECMAScript, el cual genera una plataforma para que el lenguaje crezca en primer lugar, se estandarice y crezca. Y fue la raíz de muchos, bueno, sí muchos, muchos, pero muchos lenguajes que a mí me tocó tocar después como ActionScript. Qué gracioso ver ActionScript.

    [10:54] Arturo: Pero creo que ese fue el punto... Obviamente al principio cuando lo crea Brendan Ake... Pero ese fue el punto en el que se dispara... Al abrir la colaboración a otras personas...

    [11:05] Arturo: al cambiar el alcance de la creación de este tipo. Sí, claro. Estoy seguro que si yo hubiera estado en sus zapatos, de verdad no hubiera pensado que hoy en día Google, Facebook o Tesla usaran algo que escribí en 10 días. Qué raro debe sentirse, ¿no? Sí, hijo de la patente. Pero bueno, sigamos.

    [11:31] Axel: Yeah.

    [11:33] Axel: Pues sí, la cosa es que se necesitaba eso de recurrir a ECMA, a la European Computer Manufacturing Association, que bueno que le decimos ECMA, para crear el estándar porque pues Microsoft estaba haciendo lo suyo para variar. En ese momento estaba, no, no, no, yo voy a implementarlo de esta forma. Y mientras Netscape lo hacía a su otra manera y entonces empezó a haber incompatibilidades, ¿no? y es lo que mencionamos después luego vino

    [12:06] Axel: la implementación de ActionScript y cosas así, pero ya para el 97, o sea, un año después de que ya recurrieron a ECMA, se liberó más o menos un documento como de 100 páginas, en el que había una versión estándar de JavaScript, de ECMA script, y esta pues era muy primitiva también, tenía algunas cosas que no estaban de lo que hoy conocemos, como el triple equals, el triple igual, que bueno, también puede ser muy controversial y platicamos luego de ese tipo de características propias del lenguaje, ¿no? Pero aprendimos también que había más o menos unas 300.000 páginas web por entonces. El año es el 97, yo tenía unos 10 años. Luego estaban en el problema, en la disyuntiva de no poder utilizar JavaScript como el nombre del estándar por razones de copyright. Trademark o algo así. Ajá, trademarks contra... En ese momento eran Sun Systems. y bueno, dicen ok, vamos a usar ECMAScript como el nombre del estándar y JavaScript será como que el nombre comercial del lenguaje y es con el nombre que lo conocemos ahora, en ese año por ahí fue ya ahora sí JavaScript como tal y corría en los navegadores

    [13:25] Arturo: Qué increíble. ¿Te das cuenta que en algún punto de la historia pudimos contar 300.000 páginas web? Ya sé, las puedes contar. O bueno, podemos contar las páginas web. A lo más, exacto. Así es, está cañón. No sé si recuerdas la angustia que aún como adolescente o niño, supongo que te acuerdo como a los 10, 11 años, que presentaba el que el 2000 se acercara, así como una cuenta regresiva hacia quién sabe qué. Ah, sí, sí, sí. Del lado de la programación creo que no era nada diferente. Independientemente del ¿Cómo se llama esta cosa? Del GR2K Syndrome Or Problem

    [14:03] Arturo: Que bien, de que parece entonces, siempre fue una caja negra el por qué iba a pasar eso y simplemente vivía aterrado. Y un día solo vivo aterrado, aunque ahora ya sé que fue lo que pasó. Sí, sí. Cuando alguien remueve un left path, por ejemplo, de algún lugar. Yikes. Pero bueno. ES2, digo en el 98, ¿no?

    [14:28] Arturo: Creo que este paso prácticamente fue nada más acercarlo más al estándar que se estaba definiendo, ¿no?

    [14:34] Arturo: Porque antes, obviamente, era una plataforma en texto, lo que se estaba creando, para poder contribuir, pero el lenguaje...

    [14:44] Arturo: aún no se sabía hacia dónde iba a crecer, ¿no? Cómo iba a crecer, se estaban definiendo los cuerpos organizacionales y de gobernantes.

    [14:52] Arturo: que podía ser un JavaScript y hacia dónde podía ir.

    [14:57] Arturo: Pero antes de acabar el milenio y el siglo, llega ES3, que es una versión mucho más parecida al JavaScript que conocemos ahorita, obviamente muy...

    [15:08] Arturo: Era su primer... el primer paso hacia la mejora desde setear la base, ¿no? Desde el momento en el que se tean la base.

    [15:19] Arturo: Y aquí, y todavía por bastante tiempo, bueno, no sé si por bastantísimo tiempo,

    [15:25] Arturo: Todavía seguía siendo simplemente un lenguaje para agregar cosas lindas a las páginas. Era un lenguaje al lado del cliente, al final de cuentas. Sí, claro. Movías divs con eso. Exactamente. Les cambiamos de color.

    [15:40] Axel: Ya en estos años, 99, 2000, ya había monitores a color y para entonces Netscape Navigator, la versión 6, ya fue liberado con soporte oficial de ES3. de ES3, en ese mismo año apareció Firefox que digamos que es como que el nieto en cierta manera de Navigator y bueno también soportaba oficialmente esa versión, el estándar de ES3

    [16:14] Axel: Por estos tiempos, Microsoft seguía, pues, como decimos, montado en su macho, ¿no? Él iba a implementar como él pudiera algunas de las características que, pues, ya conocemos, que eventualmente se convirtieron en un dolor de cabeza para la compatibilidad y para el desarrollo, sobre todo, del frontend y hacer que las cosas funcionaran. Tenías que estar alerta, ¿no?, de cómo se hacía de una forma en Netscape o en Firefox y cómo se hacía de otra forma en Internet Explorer. Y esto fue pues...

    [16:48] Axel: derivado de eso, de que la implementación y la adopción del estándar no fue la misma, aunque ya existía el estándar, lo que está bien extraño, ¿no?

    [16:58] Arturo: Claro, pero estaba bien extraño por ese entonces, pero ahorita sigue pasando lo mismo, ¿no? ¿No has visto ese XKCD de...

    [17:05] Arturo: Existen dos estándares y tenemos que crear el mejor ahora. Ahora hay tres estándares. Ahora hay tres estándares.

    [17:12] Axel: a alguien se le ocurrió la técnica Ajax y esta persona se llama Jesse James Garrett y lo que él dijo fue ok, ¿por qué no en vez de tener que recargar la página cada vez que el usuario haga un tipo de interacción con ella?

    [17:33] Axel: porque no solamente cambiamos y actualizamos el pedacito de la página que el usuario quiere actualizar, traemos los datos necesarios solamente para ese pedacito de la página, pues implementamos algo así, y esta técnica se llamaba Ajax, en la que utilizabas JavaScript asíncrono y pedacitos de XML, si no me equivoco, eso era como que la idea de Ajax, por eso se llamaba así,

    [17:59] Axel: Y bueno, para este entonces, también ES4, ES4, ya empezaba a desarrollarse, ¿no? Pero esta es una versión interesante porque había muchísimas características del lenguaje que se querían agregar. Pero era un montón de cosas. Tenías anotaciones de los tipos, había clases, había interfaces. y esto era algo que Adobe, Mozilla Opera y Microsoft estaban como discutiendo Microsoft en un término más como extraoficial pero era una era un estándar de lenguaje una versión como muy grande muy completa digamos que de alguna forma

    [18:46] Arturo: Claro, demasiado completa para ese entonces. Yo siento que ese estándar de ES4 simplemente se ha partido a lo largo de los últimos años para definir los nuevos estándares. Pensaron en un lenguaje totalmente diferente, que es el que estamos llegando hoy en día.

    [19:03] Arturo: diferente a lo que planteaba S4, pero definitivamente la idea era convertirlo en un lenguaje viable de programación avanzado, no solo de scripting. ¿Cómo lo fue jQuery? jQuery fue un monstruo, Dios mío, cuánto jQuery hicimos back in the day.

    [19:24] Arturo: Fue de 2006, 10 años después de que pudiéramos tener el primer JavaScript, el JavaScript oficial.

    [19:37] Arturo: Y jQuery nace con los conceptos que el señor Garrett, cómo me hubiera encantado que ese segundo apellido empezara con J para que fuera Jesse James Garrett o something like that. Tengo ese trauma desde que leí la historia sin fin. Bastian Baltasar Vox, no sé. Con los preceptos que este vato traía, ¿no? De podemos volver más dinámica nuestra experiencia web prácticamente. Aquí hay una implementación viable que lo hace.

    [20:08] Arturo: Y creo que jQuery es un parteaguas entre las generaciones de desarrollo incluso, entre muchísimas cosas, entre los conceptos y mindsets incluso de cómo se hacía web antes y ahora.

    [20:22] Arturo: Pero principalmente un parteaguas en la cultura de desarrollo en que

    [20:27] Arturo: jQuery abstraía tanto de JavaScript, que algunos, obviamente no lo eran, pero algunos lo describían hasta como un lenguaje encima de JavaScript. Les dejaba hacer tantas cosas que antes, simplemente aunque era viable con el lenguaje, era poco viable por la complejidad, supongo, de todo eso en el lenguaje. Yo honestamente entré a JavaScript probablemente unos años antes de jQuery,

    [20:54] Arturo: pero empecé a usarlo heavily por esas fechas, 2006-2007. Y yo creo que era un bebé y lo usábamos únicamente para reemplazar el XML HTTP Request.

    [21:08] Arturo: Pero aún así las armas que te daban setearon la base, yo creo, para todas las abstracciones que se generan con las librerías populares de hoy en día.

    [21:18] Arturo: Muchas gracias por escucharnos. Puedes suscribirte desde Spotify, iTunes o tu reproductor favorito.

    [21:22] Axel: síguenos en Twitter arroba mytypeofradio y nos escuchamos en la próxima

    desarrollo web,JavaScript,web development,