Salón de la fama del lugar de trabajo de JavaScript, parte 2

La primera parte de la revisión se dedicó a las bibliotecas Prototype.js y requirejs. Ya en el proceso de escritura, se hizo necesario considerar no solo las bibliotecas que influyeron significativamente en el estado actual de JavaScript, sino también las ideas que se publicaron en artículos que se elaboraron en especificaciones, por ejemplo: ajax, commonjs, aplicaciones web universales / isomorfas.

1998 - BigInt.js, RSA.js


El trabajo nativo con enteros grandes es una característica relativamente nueva (de la que no todos sospechan, sí, ya lo es) y la pregunta es cuántos tipos de datos en JavaScript para las entrevistas deben volverse a entrenar nuevamente. Antes de esto, la biblioteca ohdave.com/rsa/BigInt.js era la implementación más temprana y exitosa de enteros grandes . Exitoso, porque rápido. Búsquedas de información por correo electrónico del autor de la biblioteca Dave Shapiro dave@ohdave.com, a excepción del nombre y apellido no dio nueva información. También en el sitio web se presentan grabaciones de composiciones de guitarra de destacados artistas, realizadas por el autor de la biblioteca de oído, otra información útil para la búsqueda. A continuación, encontré el autor de twitter twitter.com/daveohdavecon un enlace a ohdave.com. Twitter tiene 52 suscriptores conmigo y John Resig no está suscrito a él. Richard Strauss publicó un video en Twitter donde el autor de la biblioteca toca los primeros compases del poema sinfónico "Así lo dijo Zarathustra" (conocido por la audiencia soviética en el programa de televisión "¿Qué? ¿Dónde? ¿Cuándo?")


Y ahora podemos decir con confianza que este es el mismo www.linkedin.com/in/dshapiro que funciona para Four Winds Interactive en la posición de desarrollador de software fundador, por lo que eso no significa, en cualquier caso, que su foto esté en la página de Liderazgo:



Esta es la primera biblioteca discutida. Pero sigue siendo relevante, ya que los enteros grandes todavía no son compatibles con todos los navegadores web en la actualidad.

2002 - Cross-Browser, también conocido como x.js


La biblioteca x.js está diseñada para el desarrollo de JavaScript entre navegadores. No estoy seguro de que se haya utilizado ampliamente en el desarrollo de aplicaciones, pero la idea de ocultar el trabajo con el DOM en las llamadas a métodos de biblioteca, la idea sobre la que se construyeron las bibliotecas Prototype.js y jquery posteriores, fue innovadora. Quizás es por eso que la biblioteca no tenía prisa en usarla en proyectos reales. En ese momento, parecía que las especificaciones DOM Nivel 1 y CSS 2 hicieron que cualquier código fuera del navegador, al menos en comparación con lo que sucedió en los elegantes años 90.

La copia de la biblioteca x.js está listada por Michael Foster mike@cross-browser.com. Además, en el sitio web de la biblioteca hay información de que Mike (Michael Foster) ahora trabaja en 33Across. Sabiendo esto, puedes encontrar el autor de LinkedIn .

En una fiesta corporativa, que se llamó Foster Day en honor del autor (a la izquierda), el autor habló un poco sobre sí mismo: “Toco la batería, la flauta y un pequeño saxofón. Leer NT griego es uno de mis pasatiempos actuales. "Siempre amé la astronomía, así que tengo un enorme telescopio".



18 de febrero de 2005 - Ajax


La historia de Jesse James Garrett "Ajax: un nuevo enfoque para aplicaciones web" se ha descrito muchas veces, y hay artículos relacionados sobre la tecnología y su autor en Wikipedia. Por lo tanto, no hay necesidad de una búsqueda adicional de información. Todo esta disponible.

Puede ser desconcertante que todas las herramientas necesarias para que funcione Ajax hayan estado presentes en los navegadores web desde finales de la década de 1990. Lo más significativo es la influencia de Jesse James Garrett en el desarrollo de la web moderna. Solo entonces apareció el artículo "Tim O'Reilly - What Is Web 2.0" con fecha del 30 de septiembre de 2005, que agregó filosofía, entre comillas y sin comillas, a la definición de Web 2.0. Pero, ¿cuál sería esta filosofía sin las ideas de Jesse James Garrett? Por cierto, ¿alguien sabe qué es la Web 3.0?

El autor se puede leer en twitter.com/jjg. Su perfil de Linkedin es www.linkedin.com/in/jesse-james-garrett-1341 . Último trabajo Capital One Sr. Director de Diseño Dgital.



Jeremy ashkenas


Jeremy Ashkenas nos dio varios productos a la vez que influyeron significativamente en el desarrollo de la programación de JavaScript:

2009 - CoffeeScript
2009 - Underscore.js
2010 - Backbone.js

CoffeeScript - el primer intento exitoso de modernizar JavaScript, al tiempo que garantiza que los scripts se ejecuten en la versión actual de la web navegador, convirtiendo el código fuente de los scripts de CoffeeScript al texto de los scripts estándar de JavaScript. Ahora babel y mecanografiado también funcionan. Pero en el momento de 2009, nadie tenía esa experiencia. Ni siquiera estaba claro si JavaScript era lo suficientemente potente como para implementar un compilador en él.

CoffeeScript influyó en ese conjunto de innovaciones que se introducirían en ES6 / ES2015 y especificaciones de lenguaje posteriores, en particular: funciones de flecha, funciones con un número variable de argumentos, un operador de acceso a propiedades con comprobación de existencia ... y otros.

Underscore.js en su conjunto continúa la línea de trabajo con colecciones en Prototype.js, pero para esto no utiliza la adición de un objeto Array con nuevas propiedades, sino la transferencia de una matriz a una función, que al principio puede no parecer bastante concisa, pero sabiendo que la ruta Prototype.js puede conducir a errores difíciles de detectar (por ejemplo, si otro desarrollador agrega el objeto Array con las mismas propiedades de nombre), puede acostumbrarse a él. Ahora casi todos usan la bifurcación de Undescore.js - lodash.js.

Backbone.js: su significado es muy contradictorio y las calificaciones son polares. En cualquier caso, ahora se usa con mucha menos frecuencia que hace 10 años.

Jeremy Ashkenas trabaja en el New York Times. Sus artículos se pueden leer en www.nytimes.com/by/jeremy-ashkenas . Su twitter.com/jashkenas twitter del cual puedes aprender que él es un motorista, siempre cena en el mismo café, siempre estaciona la motocicleta en el mismo lugar cuando cena en este café. Y ya le habían robado tres veces en este lugar. Es muy difícil encontrar una foto de Jeremy Ashkenas sin casco de moto. Uno de los últimos videos de la conferencia en 2015:


2010 - step.js


Hasta ese momento, consideramos ideas y bibliotecas que se volvieron mega-populares e influyeron en el desarrollo de la web y el lenguaje JavaScript. Ahora recordaré la biblioteca, que no afectó el curso de la historia, pero que tal vez tuvo esa oportunidad.

El modelo de programación competitivo (asíncrono) en node.js en las primeras versiones se basaba en Callback Hell. Este método ahora se usa cada vez menos, ya que es muy difícil administrar las llamadas anidadas de Callback Hell. Para simplificar la situación, se implementó Promise, que se volvió significativamente más conveniente que Callback Hell, pero aún era complicado, especialmente antes de la aparición de las funciones de flecha. Y finalmente, en lugar de Promise, se propuso un operador de espera que puede usarse dentro de la función asíncrona. Detrás de la euforia inicial vino algo de decepción. El estilo funcional de llamar a la cadena de funciones entonces (). Catch () todavía no es inferior en concisión al operador en espera, que "de repente" resultó ser necesario encerrar en bloques try / catch. Alguien incluso comienza a hablar sobre Promise Hell, Try Catch Hell.

La salida de este círculo vicioso fue propuesta en 2010 por Tim Caswell en la biblioteca step.js. Vea cómo fue posible trabajar con todo esto:

Step(
  function readSelf() {
    fs.readFile(__filename, this);
  },
  function capitalize(err, text) {
    if (err) throw err;
    return text.toUpperCase();
  },
  function showIt(err, newText) {
    if (err) throw err;
    console.log(newText);
  }
);

Pero, por desgracia, el desarrollo general ha ido en una dirección diferente. Sin embargo, ahora continúan utilizando otro desarrollo de Tim Caswell: administrador de versión de nodo - nvm. Ahora el autor trabaja en el cargo de Arquitecto Principal en Magic Leap. Su twitter es twitter.com/creationix .

Además, el autor portó node.js a Lua, como se describe en su charla:


All Articles