Hall da fama do local de trabalho JavaScript, parte 2

A primeira parte da revisão foi dedicada às bibliotecas Prototype.js e requirejs. Já no processo de escrita, tornou-se necessário considerar não apenas as bibliotecas que influenciavam significativamente o estado atual do JavaScript, mas também as idéias publicadas em artigos elaborados nas especificações, por exemplo: ajax, commonjs, aplicativos da web universais / isomórficos.

1998 - BigInt.js, RSA.js


O trabalho nativo com números inteiros grandes é um recurso relativamente novo (do qual nem todo mundo desconfia - já o é - e a questão é quantos tipos de dados em JavaScript para entrevistas precisam ser reciclados novamente). Antes disso, a biblioteca ohdave.com/rsa/BigInt.js era a implementação mais antiga e mais bem-sucedida de números inteiros grandes . Bem sucedido - porque rápido. As pesquisas por informações por e-mail do autor da biblioteca Dave Shapiro dave@ohdave.com, exceto o nome e o sobrenome, não forneceram novas informações. Também no site são apresentadas gravações de composições de violão por artistas de destaque, feitas pelo autor da biblioteca de ouvido - outra informação útil para a pesquisa. Em seguida, encontrou o autor do twitter twitter.com/daveohdavecom um link para ohdave.com. O Twitter tem 52 assinantes comigo e John Resig não está inscrito. Um vídeo foi postado no Twitter, onde o autor da biblioteca toca as primeiras barras do poema sinfônico de Richard Strauss "Assim disse Zarathustra" (conhecido pelo público soviético no programa de TV "O quê? Onde? Quando?")


E agora podemos dizer com confiança que esse é o site www.linkedin.com/in/dshapiro que trabalha na Four Winds Interactive como desenvolvedor de software fundador, de modo que não significa, de modo algum, que sua foto esteja na página Liderança:



Esta é a biblioteca mais antiga discutida. Mas permanece relevante, pois números inteiros grandes ainda não oferecem suporte a todos os navegadores da web hoje.

2002 - Navegador cruzado, também conhecido como x.js


A biblioteca x.js. foi projetada para o desenvolvimento de JavaScript em vários navegadores. Não tenho certeza de que foi amplamente usado no desenvolvimento de aplicativos, mas a idéia de ocultar o trabalho com o DOM nas chamadas do método de biblioteca - a idéia na qual as bibliotecas Prototype.js e jquery mais recentes e amplamente usadas são construídas - foi inovadora. Talvez seja por isso que a biblioteca não tenha pressa em usar em projetos reais. Naquela época, parecia que as especificações DOM Nível 1 e CSS 2 criavam qualquer código entre navegadores, pelo menos em comparação com o que aconteceu nos anos 90.

A cópia da biblioteca x.js. é listada por Michael Foster mike@cross-browser.com. Além disso, no site da biblioteca, há informações de que Mike (Michael Foster) agora trabalha na 33Across. Sabendo disso, você pode encontrar o autor do LinkedIn .

Em uma festa corporativa, denominada Foster Day em homenagem ao autor (mais à esquerda), o autor falou um pouco sobre si mesmo: “Toco bateria, flauta e um pouco de saxofone. Ler o NT do grego é um dos meus hobbies atuais. "Eu sempre amei astronomia, então tenho um enorme telescópio".



18 de fevereiro de 2005 - Ajax


A história de "Ajax: Uma Nova Abordagem de Aplicativos da Web", de Jesse James Garrett, foi descrita muitas vezes, e há artigos relacionados sobre a tecnologia e seu autor na Wikipedia. Portanto, não há necessidade de uma pesquisa adicional por informações. Tudo está disponível.

Pode ser desconcertante que todas as ferramentas necessárias para o funcionamento do Ajax estejam presentes nos navegadores desde o final dos anos 90. Quanto mais significativa é a influência de Jesse James Garrett no desenvolvimento da web moderna. Só então veio o artigo “Tim O'Reilly - O que é a Web 2.0”, datado de 30 de setembro de 2005, que acrescentou filosofia, entre aspas e sem, à definição de Web 2.0. Mas qual seria essa filosofia sem as idéias de Jesse James Garrett. A propósito, alguém sabe o que é a Web 3.0?

O autor pode ser lido em twitter.com/jjg. Seu perfil no Linkedin é www.linkedin.com/in/jesse-james-garrett-1341 . Último emprego Capital One Sr. Diretor, Dgital Design.



Jeremy ashkenas


Jeremy Ashkenas nos deu vários produtos ao mesmo tempo que influenciaram significativamente o desenvolvimento da programação JavaScript:

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

CoffeeScript - a primeira tentativa bem-sucedida de modernizar o JavaScript, garantindo que os scripts fossem executados na versão atual da web navegador, convertendo o código-fonte dos scripts CoffeeScript para o texto dos scripts JavaScript padrão. Agora babel e datilografado também funcionam. Mas na época de 2009, ninguém tinha essa experiência. Não ficou claro se o JavaScript era poderoso o suficiente para implementar um compilador.

O CoffeeScript influenciou o conjunto de inovações que seriam introduzidas no ES6 / ES2015 e nas especificações de linguagem posteriores, em particular: funções de seta, funções com um número variável de argumentos, um operador de acesso à propriedade com verificação de existência? ... e outros.

O Underscore.js como um todo continua a linha de trabalho com coleções no Prototype.js, mas, para isso, utiliza não a adição de um objeto Array com novas propriedades, mas a transferência de um array para uma função, que a princípio pode não parecer muito concisa, mas sabendo que o caminho Prototype.js pode levar a erros difíceis de detectar (por exemplo, se outro desenvolvedor adicionar o objeto Array com as mesmas propriedades de nome) - você poderá se acostumar. Agora quase todo mundo usa o fork do Undescore.js - lodash.js.

Backbone.js - seu significado é muito contraditório e as classificações são polares. De qualquer forma, agora é usado com muito menos frequência do que 10 anos atrás.

Jeremy Ashkenas trabalha no New York Times. Seus artigos podem ser lidos em www.nytimes.com/by/jeremy-ashkenas . Seu twitter.com/jashkenas twitter, do qual você pode aprender que ele é motociclista, sempre janta no mesmo café, sempre estaciona a motocicleta no mesmo lugar quando janta neste café. E ele já havia sido roubado dele três vezes neste lugar. É muito difícil encontrar uma foto de Jeremy Ashkenas sem capacete de motocicleta. Um dos vídeos mais recentes da conferência em 2015:


2010 - step.js


Até aquele momento, considerávamos idéias e bibliotecas que se tornaram mega populares e influenciaram o desenvolvimento da web e da linguagem JavaScript. Agora vou me lembrar da biblioteca, que não afetou o curso da história, mas talvez tivesse essa chance.

O modelo de programação competitivo (assíncrono) no node.js nas primeiras versões foi baseado no Callback Hell. Agora, esse método está sendo usado cada vez menos, pois é muito difícil gerenciar chamadas aninhadas de retorno de chamada aninhadas. Para simplificar a situação, o Promise foi implementado, o que se tornou significativamente mais conveniente que o Callback Hell, mas ainda era complicado, especialmente antes do surgimento das funções de seta. E, finalmente, em vez de Promise, foi proposto um operador de espera que pode ser usado dentro da função assíncrona. Por trás da euforia inicial, houve alguma decepção. O estilo funcional de chamar a cadeia de funções então (). Catch () ainda não é inferior em concisão ao operador wait, que “de repente” acabou sendo necessário para incluir blocos try / catch. Alguém até começa a falar sobre o inferno da promessa, tente pegar o inferno.

A saída desse círculo vicioso foi proposta em 2010 por Tim Caswell na biblioteca step.js. Veja como foi possível trabalhar com tudo isso:

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);
  }
);

Mas, infelizmente, o desenvolvimento principal foi em uma direção diferente. No entanto, agora eles continuam usando outro desenvolvimento de Tim Caswell: gerenciador de versão do nó - nvm. Agora, o autor trabalha na posição de arquiteto principal na Magic Leap. O twitter dele é twitter.com/creationix .

Além disso, o autor portou node.js para Lua, como descrito em sua palestra:


All Articles