Um artigo recentemente publicado por Brendan Eich, CEO do navegador Brave baseado em cromo e designer chave do JavaScript, olha para trás em duas décadas da linguagem de programação definitiva para a web, navegadores e, cada vez mais, aplicativos nativos móveis e desktop.
Anyone developing for the web must know JavaScript, uma das três principais linguagens de programação, juntamente com Java e Python, cuja popularidade tem aumentado devido ao aumento da aprendizagem mecânica.
Eich, um co-fundador do Firefox-maker Mozilla, e seu co-autor, Allen Wirfs-Brock – um dos principais autores da especificação ECMAScript para JavaScript – detalham a longa e sinuosa história do JavaScript e da web desde 1995 sob a influência da Microsoft, Mozilla, Netscape, e Oracle.
VER: Dicas de contratação virtual para candidatos a emprego e recrutadores (PDF gratuito) (TechRepublic)
O artigo foi concluído em março e publicado na edição deste mês da Revista da Associação de Máquinas de Computação (ACM), que fornece uma retrospectiva sobre as principais linguagens de programação, incluindo JavaScript, C++, F#, Fortran, Objective-C, e Clojure.
Além da evolução do JavaScript, o artigo oferece um quem é quem do início da web e o que levou à atual web dominada pelo cromo, que agora inclui o navegador da Microsoft Chromium-based Edge ou ‘Chredge’.
O papel é da perspectiva da Eich depois de se juntar à Netscape em 1995, pouco depois de a Microsoft se ter oferecido para comprar a empresa. Ele então criou uma versão Unix do Mocha, o precursor do JavaScript.
O conto também apresenta a sua opinião do ‘pai’ Tim Berners-Lee, co-fundador da Netscape, Marc Andreessen, que foi co-autor do primeiro browser, Mosaic, do co-fundador da Sun Bill Joy e do co-fundador da Microsoft, Bill Gates.
Um fato engraçado é que o nome da marca JavaScript, que foi originalmente registrado pela Sun Microsystems, hoje permanece sob o controle da Oracle, que adquiriu a Sun em 2009, dando-lhe Java.
Potenciais questões de marca registrada também explicam porque o padrão ECMAScript JavaScript – que o TypeScript da Microsoft suporta – não inclui o termo ‘JavaScript’.
“A marca registrada foi originalmente registrada pela Sun Microsystems, e a partir da data deste artigo o registro é de propriedade da Oracle Corporation. A marca foi licenciada pela Sun à Netscape e mais tarde à Fundação Mozilla”, escreve o par.
“Netscape e Mozilla têm usado nomes como JavaScript 1.4 para descrever versões específicas de suas implementações da linguagem. Alguns implementadores da linguagem têm usado outros nomes para evitar possíveis problemas de marcas registradas.
“Devido aos múltiplos nomes, aos problemas de marcas registadas, e à confusão com Java, muitos utilizadores contemporâneos, autores de livros, e implementadores de ferramentas simplesmente chamam à linguagem JS, e ‘js’ é normalmente usado como uma extensão de ficheiro para o código fonte JavaScript”.
Java foi criado por James Gosling, também em 1995, enquanto ele trabalhava na Sun. Dois anos após a Oracle ter adquirido a Sun, ele foi apanhado pelo Google durante a sua batalha legal com a Oracle sobre o uso de APIs Java no Android por parte da empresa de pesquisa.
Gosling juntou-se a Tim Bray, outro antigo engenheiro de alto nível da Sun que ajudou o Java de código aberto e que iria liderar a equipa de advogados de desenvolvimento Android do Google a partir de 2010.
Assinando a futura batalha pela web e a primeira guerra de navegadores, a dupla reconta que imediatamente após Netscape e Sun anunciarem o JavaScript em dezembro de 1995, a Microsoft disse ao mundo que tornaria o Visual Basic (VB) um padrão para a criação de aplicativos baseados na web usando VB Script para seu navegador Internet Explorer.
Como a dupla recorda, o JavaScript foi originalmente concebido como uma “linguagem de script Java side-kick scripting” onde “todas as tarefas de programação sofisticadas seriam feitas usando Java”, graças aos applets Java.
“Mas conforme a experiência com JavaScript crescia, os desenvolvedores web começaram a perceber que tudo o que realmente precisavam era de JavaScript”, eles escrevem.
No entanto, no início, a Netscape viu o Java como crítico para o futuro da web e sua guerra com o Internet Explorer da Microsoft e o Visual Basic proprietário.
De acordo com Eich e Wirfs-Brock, “O grito de rally articulado por Marc Andreessen nas reuniões da Netscape foi ‘Netscape mais Java mata o Windows'”. Em maio de 1995, como a Sun anunciou Java, a Netscape delineou seu plano de licenciar Java para seu navegador.
Mas a decisão de criar JavaScript não foi sem seus oponentes, mesmo que Andreessen e Bill Joy da Sun pensassem que a única abordagem viável era projetar e implementar uma “pequena linguagem” para complementar o Java.
“Duvidosos, dominantes na Sun e uma maioria na Netscape, questionaram a necessidade de uma linguagem de script mais simples: o Java não era adequado para o script; seria possível explicar porque duas linguagens eram melhores que uma; e a Netscape tinha a experiência necessária para criar uma nova linguagem?”
VER: Linguagens de programação: Os desenvolvedores revelam o que eles adoram e odeiam, e o que pagam melhor
Outra citação de escolha no artigo destaca a abordagem radicalmente diferente da Microsoft ao software proprietário e de código aberto no ano 2000, no contexto de uma “onda gigantesca na internet” que Gates viu chegar e que foi então dominada pelo Netscape.
“A Microsoft, com o Internet Explorer, tinha ganho e acabado por atingir mais de 90% de quota de mercado. Ela tinha pouco interesse contínuo em melhorar a plataforma de programação web sobre a qual não tinha controle proprietário”, escreve a dupla.
“Internamente, os recursos foram redirecionados do aprimoramento de tecnologias de navegador aberto, como ECMAScript, para o desenvolvimento de tecnologias proprietárias da Microsoft, como o Windows Presentation Framework, que esperava que finalmente se tornassem obsoletas e substituíssem as tecnologias abertas da Web.
“Na área das linguagens de programação para .NET, o foco foi em C# e VisualBasic.NET. Nesse contexto, o JScript.NET foi relevante apenas na medida em que permitiu aos programadores JavaScript migrar para a plataforma .NET”.