Home Economia JavaScript governa o mundo – talvez até literalmente

JavaScript governa o mundo – talvez até literalmente

Por Humberto Marchezini


Lex Fridman deu muitas entrevistas longas em seu popular podcast. Mesmo assim, o episódio com o lendário programador John Carmac tem uma sensação de corte de diretor desequilibrado. Ao longo de cinco horas, Carmack aborda tudo, desde operações vetoriais até Ruína. Mas é algo que Fridman diz, de improviso, que realmente justifica o tempo de execução prolongado: “Acho que se estamos vivendo uma simulação, ela está escrita em JavaScript”.

Para revisar: JavaScript é o que torna as páginas da web estáticas “dinâmicas”. Sem ele, a internet se pareceria apenas com um fliperama noturno, sem vida e escuro. Hoje em dia, a linguagem é usada no desenvolvimento front e backend para uma série de plataformas e aplicativos móveis, incluindo Slack e Discord. E a principal coisa a entender sobre isso, no contexto do koan nerd de Fridman, é esta: para qualquer programador que se preze, admitir que realmente gosto JavaScript é uma espécie de gafe – muito parecido com um cineasta de arte confessando ao fandom da Marvel.

Suponho que isso tenha algo a ver com o fato de que o JavaScript foi criado em menos tempo do que leva para preparar um pote de kombuchá em casa: 10 dias. Em 1995, a Netscape contratou um programador chamado Brendan Eich para criar uma linguagem a ser incorporada em seu navegador, o Netscape Navigator. Originalmente chamada de LiveScript, a linguagem foi renomeada como JavaScript para aproveitar o hype em torno de uma linguagem não relacionada chamada Java, que havia sido introduzida no início daquele ano. (Quando questionado sobre a diferença entre Java e JavaScript, um programador provavelmente brincará: “Java está para o JavaScript assim como o carro está para o carpete.”) Até hoje, poucas pessoas consideram o JavaScript uma linguagem particularmente bem projetada, muito menos Eich. “Eu cometi JavaScript em 1995”, disse ele uma vez, “e tenho compensado isso desde então”.

Qual foi o crime dele, exatamente? Você pode facilmente encontrar muitas postagens de blog, memes e tópicos do Reddit sobre JavaScript, mas meu favorito é um conversa de quatro minutos do engenheiro de software Gary Bernhardt intitulado “Wat”. Imagine, para começar, mostrar a um grupo de pessoas que não falam inglês as formas presente e passada de verbos como ferver (ferver/fervido) e mastigar (mastigar/mastigado). Então, quando você pedir a conjugação de comerquem poderia culpá-los por responder comer/comido? Da mesma forma, a conversa sobre “Wat” é um rolo de erros de peculiaridades e comportamentos imprevisíveis do JavaScript. Digamos que você queira classificar uma lista de números: (50, 100, 1, 10, 9, 5). Chamar a função de classificação integrada em qualquer linguagem sensata retorna a lista em ordem numericamente crescente: (1, 5, 9, 10, 50, 100). Fazer isso em JavaScript retorna (1, 10, 100, 5, 50, 9), onde 10 e 100 são considerados maiores que 5. Por quê? Porque o JavaScript interpreta cada número como um tipo de string e faz classificação lexical, não numérica. Insanidade total.

Quando Fridman diz que o JavaScript governa o mundo, em outras palavras, o que ele quer dizer é que nosso mundo é, como o código-fonte subjacente, enormemente confuso e incompreensível. É o equivalente a pronunciar, com um suspiro, que considerando o lamentável estado do planeta, a Declaração Universal dos Direitos Humanos deve ter sido escrita em Comic Sans.

Neste ponto, Devo confessar que embora JavaScript não seja minha linguagem favorita, eu gosto dele. Adoro, na verdade. Portanto, não posso deixar de sentir uma onda de desaprovação sempre que uma certa fraternidade de programadores polemiza contra isso. Freqüentemente, eles se concentram em falhas que foram resolvidas anos atrás. Debruçar-se sobre as deficiências originais do JavaScript é ignorar o fato de que qualquer software – e toda linguagem de programação é, em essência, um conjunto de software – é passível de revisão e melhoria.



Source link

Related Articles

Deixe um comentário