Executando verificação de segurança...
8

conteúdo: A história do JavaScript

Introdução

Eu traduzi rapidamente com o DeepL e trouxe para vocês a história do javaScript. Muita gente já sabe, mas serve para relemebrar, afinal é importante conhecer como surgiu sua ferramenta de trabalho. Quaisquer eventuais erros ortográficos foi devido a rápida tradução da qual não revisei. Desde já, perço desculpas por quaisquer erros...

A história

No dia de Natal de 1990, Sir Tim Berners-Lee apresentou ao mundo o primeiro navegador Web que tinha criado na Suíça no sistema informático NeXT e, mais ou menos na mesma altura, criou também o primeiro servidor Web.

Neste artigo, vamos recuar no tempo para ver como o JavaScript evoluiu de uma simples linguagem de script, famosa por ter sido construída em dez dias, para uma tecnologia que toca quase todos os seres humanos do mundo.

A história começa em dezembro de 1991, quando Al Gore inventou a Internet. O que ele fez foi apresentar a lei Gore, que financiou o primeiro browser convencional, o mosaic, desenvolvido por Marc Andreessen e Eric Bina na Universidade de Illinois.

Em janeiro de 1993, foi publicado para sistemas UNIX, com versões para Macintosh e Windows no final desse ano.
Navegador Mosaic da NCSA

O Mosaic foi o primeiro navegador Web a apresentar a Internet às massas, mas ainda não existia JavaScript, apenas o DOM ou modelo de objeto de documento, que ainda não estava perto de ser normalizado.

Navegador Web Netscape em 1993

Depois de se licenciar em 1993, Andreessen mudou-se para a Califórnia para co-fundar a Netscape e, em poucos anos, o Netscape Navigator detinha mais de 80% da quota de mercado dos browsers.
Andreessen reparou nessa altura que os browsers precisavam de se tornar mais dinâmicos e que os web designers precisavam de algum tipo de linguagem para tornar as suas páginas Web mais interactivas.

A linguagem de programação Java, super na moda, da Sun Microsystems, seria a primeira coisa a que recorreram, mas rapidamente decidiram que essa ideia não prestava, pelo que o plano B foi contratar um tipo chamado Brendan Eich, cuja tarefa era colocar a linguagem de programação scheme no browser, mantendo uma sintaxe que ainda se assemelhasse a Java.
primeira versão do javascript

O Microsoft Internet Explorer devorou a quota de mercado dos programas de navegação, e a Microsoft não se preocupou em seguir as especificações das regras. No início da década de 2000, o Explorer detinha pelo menos 80% da quota de mercado dos programas de navegação.
A Microsoft basicamente partiu e fez o seu próprio caminho, implementando as suas próprias extensões JavaScript. Isto resultou em fragmentação, com a qual ainda hoje temos de lidar quando suportamos estas versões antigas do Internet Explorer, mas também resultou em algumas funcionalidades muito revolucionárias, como o Ajax, que permitiu que o JavaScript fosse implementado de forma assíncrona, o que foi um precursor das modernas aplicações de página única.

Agora, no início dos anos 2000, começou-se a trabalhar na versão 4 do script ECMA, que estava a avançar numa direção que se assemelhava muito mais ao typescript moderno, com funcionalidades como anotações de tipo opcionais, classes, interfaces e uma série de outras funcionalidades concebidas para utilizar o JavaScript à escala empresarial, mas um dos membros do comité era Douglas Crockford, da Yahoo, que tinha criado o JSON em 2003 e estava muito preocupado com o facto de o ES para proposta estar a crescer muito.Isto levou a que duas propostas fossem apresentadas em simultâneo, uma para a versão 3.1 e a outra para a versão 3.1, uma versão muito mais simples sem alterações significativas na linguagem. A saga continuaria até 2008, quando o ES 4 foi finalmente abandonado de vez, mas entrou de facto no mercado como uma linguagem chamada ActionScript ** criada pela **Adobe.
jQuery

Em meados dos anos 2000, os programadores sentiam-se extremamente frustrados ao tentar criar aplicações Web que funcionassem em todos os browsers, mas em 2006 assistimos a um enorme salto em frente com o lançamento do jQuery. Esta é uma biblioteca que merece muito mais crédito do que recebe, porque é uma das primeiras bibliotecas JS a ter uma documentação extremamente bem feita e permitiu que os programadores criassem aplicações Web entre browsers.

O lançamento do Google Chrome e do mecanismo v8 em 2 de setembro de 2008 foi outro marco significativo. O mecanismo v8 mudou fundamentalmente a forma como o javascript era gerado e interpretado, tornando-o uma alternativa atraente para aplicativos de alto desempenho nos lados do cliente e do servidor da pilha de aplicativos.Relação entre o mecanismo v8 e o node jsMenos de um ano depois, em maio de 2009, Ryan Dahl apresentaria o nodejs, um runtime do lado do servidor para JavaScript construído sobre a v8 que incluía um loop de eventos, uma ideia nova na época que permitia escrever código orientado a eventos e sem bloqueio. Devido a estas características, o nodejs tornou-se conhecido como uma óptima solução para a criação de aplicações Web escaláveis e em tempo real, e também permitiu aos programadores criarem toda a sua aplicação Web a partir do zero.

A ES 3.1 foi escolhida como base para a ES 5, que acabou por ser lançada em dezembro de 2009, exatamente 10 anos após a última especificação oficial de um ponto de vista técnico. Esta decisão foi tomada na mesma altura em que as autoridades do JavaScript estavam finalmente a organizar-se para a próxima versão do script ECMA.
O ES 5 tem algumas características cruciais. O JSON, por exemplo, suporta métodos funcionais de objectos e vectores, acessores strictmode e muitas outras características.

Avançando para 2010, começamos a ver frameworks JavaScript projetados especificamente para aplicativos de página única, sendo os mais populares o Backbone e o Angularjs, ambos lançados em outubro de 2010. Ambos os frameworks tentaram resolver um problema semelhante, mas o fizeram de maneiras muito diferentes.
Backbone e Angular

O Backbone era leve e utilizava uma abordagem de programação imperativa para gerir as alterações do Dom, enquanto o Angularjs era mais abrangente e utilizava uma linguagem de programação declarativa.
O designer do backbone Jeremy Ashe é uma lenda do JavaScript que também criou o CoffeeScript e o Underscore.js. Por falar em CoffeeScript, é uma parte muito importante da história do JavaScript porque é a primeira linguagem que realmente fez com que a transpilação se tornasse mainstream, remontando à visão original de Brendon Ike em 1995 para criar uma linguagem de programação que fosse maleável e que os transpiladores se tornassem muito importantes.
ES6

Com a versão seguinte do JavaScript, o ES6, muitas novas funcionalidades chegaram nesta versão, como promessas, funções let e Const arrow, sintaxe de propagação e estruturação D, para citar algumas, estas novas funcionalidades foram um enorme salto em frente para os programadores de JavaScript, mas é realmente difícil para os programadores usá-las porque não são suportadas em muitos navegadores antigos e é por isso que hoje vemos o uso generalizado de coisas como babel e typescript, porque podem ser direccionadas para qualquer sabor de Javascript que remonte ao ES 3, enquanto os programadores ainda podem escrever o seu código com funcionalidades modernas.
Estrutura React

Apenas dez dias depois, a primeira versão do JavaScript nasceu, mas ainda não se chamava JavaScript; era mocha.
Sintaticamente, era uma linguagem de parênteses curvos como Java ou C, mas por baixo do capô, já continha muitas das características que conhecemos e adoramos no JavaScript moderno, como funções de primeira classe, tipagem dinâmica e herança prototípica, que foi inspirada na linguagem de programação self da Sun Microsystems.

Escrever uma linguagem de programação perfeita em dez dias é praticamente impossível, e Brendan Eich estava bem ciente disso. Em vez de escrever uma linguagem altamente especializada, concebida apenas para browsers dos anos 90, escreveu uma linguagem multiparadigma flexível que os programadores podiam utilizar para aplicar os seus próprios padrões de linguagem, mas ainda havia uma grande probabilidade de a linguagem falhar e não havia forma de prever os extremos que os programadores iriam experimentar.

O Mocha foi renomeado para Live Script em setembro de 1995, e foi incluído nas versões beta iniciais do Netscape Navigator 2.0. No entanto, apenas alguns meses mais tarde, em dezembro, decidiram mudar o nome para JavaScript, porque soava mais moderno e na moda do que a linguagem de programação mais quente da altura.
Os antigos pop-ups JS

Quando o Javascript foi lançado pela primeira vez, teve um impacto negativo na experiência do utilizador, principalmente através da utilização de janelas pop-up intrusivas. Durante este tempo, uma empresa que estava a crescer rapidamente estava a introduzir o seu próprio browser, chamado Internet Explorer.

JS vs. JScript

Em 1996, temos duas linguagens quase idênticas, javascript e jscript, como resultado da engenharia reversa da Microsoft sobre o JavaScript e chamando-lhe jscript.

ECMA Internationals

As pessoas aperceberam-se de que o JavaScript teria de ser normalizado devido à rápida expansão da Internet, pelo que a Netscape contactou a Associação Europeia de Fabricantes de Computadores (ECMA), que tem sido uma parte neutra desde 1961 na definição de normas na indústria das TI.
Guião da ECMA

Em junho de 1997, tínhamos a primeira versão do ECMA script, que fornecia aos fornecedores de browsers e às aplicações do lado do servidor uma especificação consistente ou um conjunto de directrizes para a implementação do JavaScript.

Ao mesmo tempo que todos se preparavam para o fim do mundo, 1999 foi um dos anos mais interessantes da história da tecnologia.

Recebemos a versão 3 do ECMAScript pouco antes do y2k e da eventual crise da bolsa de valores.
No entanto, as coisas estão prestes a piorar e não veremos outra versão do ECMAScript publicada nos próximos 10 anos. Incluía funcionalidades como um melhor tratamento de erros e o operador de igualdade de cadeias de caracteres para tornar as comparações de igualdade um pouco menos estranhas. No entanto, a Internet veio para ficar e, nesta altura, temos uma norma sólida para o JavaScript, mas a empresa por detrás deste impulso, a Netscape, foi adquirida pela AOL um ano antes. Apenas três meses depois, em março de 2000, a bolha tecnológica começou a rebentar. Só nesse mês, o Nasdaq perdeu mais de um trilião de dólares em valor e empresas de renome começaram a falir, mas a Internet tinha vindo para ficar.
Internet Explorer

Outro desenvolvimento significativo em 2015 foi o surgimento do React js. Ele pegou alguns dos conceitos do angularjs com UI declarativa, mas melhorou-os com imutabilidade de fluxo de dados unidirecional e o uso do DOM virtual e tem sido realmente o framework que solidificou os padrões de UI declarativa dos dias modernos, mas há muitos outros frameworks por aí competindo pela participação mental dos desenvolvedores como o angular view.

Isso nos leva ao presente 2022; o comitê de script da ECMA está em uma programação regular de atualização do JavaScript, neste momento, temos o ES 2022, que adicionou alguns novos recursos excelentes à linguagem.

Se há uma coisa que aprendi ao longo dos anos, é a apostar sempre no JavaScript. É uma linguagem que tem progredido de forma constante desde o seu protótipo inicial e tem uma comunidade grande e diversificada, diferente de qualquer outra linguagem de programação.

Carregando publicação patrocinada...
4

Olá Araujo,

Primeiramente, parabéns pelo excelente trabalho em trazer à luz a história tão relevante do JavaScript. Ver essa trajetória detalhada é um lembrete fascinante de como a tecnologia e, em particular, as linguagens de programação, evoluem.

Eu estava lá, não em todos os momentos, mas acompanhei grande parte. JS acaba de completar 28 anos. 4 de dezembro de 1995. Apesar de ser mais velho que isso. E isso me faz perceber o quão velho estou, ainda sou jovem demais para ter participado atimamente de toda a jornada do JS.

Essa história me faz lembrar de coisas que eu tinha esquecido, como JScript da Microsoft, que até tinha(tem?) um interpretador nativo no Windows, muito antes do Node... O Backbone, é verdade, era um gigante, e já deve ter quase uma década que não ouço falar nele? CoffeeScript... Ah, CoffeeScript, o TypeScript antes de ser cool. Uma verdadeira joia esmagada pela Microsoft.

Eu estava lá antes do ES6. Era uma bagunça, vars por toda parte, inferno de callbacks. E o pior de tudo, se você digitasse acidentalmente um nome de variável errado, não era um erro. Em vez disso, criava uma nova variável global com o nome errado com o valor de 'undefined'. Era feio. Muito feio. E é por isso que ainda hoje existe uma geração inteira avessa ao JS. E pensar que o jQuery ainda é relevante hoje mostra o quão quebrado o JavaScript estava naquela época.

Mas é incrível nos dias de hoje, não apenas a linguagem em si (a especificação) evoluiu - e muito, por medidas objetivas e empíricas, é uma ótima linguagem -, mas os runtimes também melhoraram massivamente, tornando o JS a linguagem interpretada mais rápida que existe. Os runtimes ainda são todos pesados e inchados, mas são rápidos. E oferecem algo incrível que a linguagem foi projetada de forma inerente: um ambiente isolado do SO. Isso é incrível. E é por isso que o Node é tão estúpido. É por isso que conhecer a história é importante.

Essa última parte do artigo eu acho meio boba. Penso que, como disse, o JS em sua forma atual é incrível. O verdadeiro problema são os desenvolvedores de JS que não querem saber de mais nada. Que se recusam a aprender qualquer coisa simplesmente porque podem fazer no JS. Por que você faria isso? Deve haver uma lei para isso ou algo assim. Então, quanto menos tenho que usar JS, mais eu gosto dele. E eu realmente entendo por que as pessoas o amam. Mas o amor é burro.

O fato é que, como você disse, todos usaram. Da mesma forma que o C é a língua franca dos sistemas de computador, o JavaScript é a língua franca da web. E a web evoluiu para se tornar a interface ubíqua homem-máquina para a internet. O JS continuará evoluindo para lidar com isso, ou o WebAssembly vai tomar o controle? Ou alguma coisa vai substituir a web?

2

É sempre muito bom rever aquilo que já passamos e vivemos, mas foi esquecido durante a rotina. JavaScript é uma linguagem fenomenal, mas ainda existe bastante aversão a ela, assim como tem bastante gente que empodera ela até demais... Tenho certeza que tanto eu, quanto você, ainda vamos viver várias atualizações do JavaScript e apreciar essa trajetória.

2