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

Um dos profissionais de software mais competentes que existe no mundo uma vez disse:

JavaScript foi criado para fazer um macaquinho dançar na tela

Algumas pessoas ficam bravas quando ouvem isso, mas também diz muito sobre ela.

Isso é uma verdade. JS é uma linguagem interessante, tem umas coisas bem legais, e uma delas é ser uma linguagem de script, ou seja, para automatizar pequenas tarefas, e ela é ótima nisso.

Aí as pessoas começaram usar para fazer algo mais complexo, e os códigos viraram aplicações. E aí começou o problema bem descrito na postagem original.

Praticamente todas as linguagens de script começaram ser usadas para fazer aplicações e por isso começaram adotar uma pegada mais orientada a objeto e passar a ter tipagem mais robusta, que é muito importante para aplicações complexas. JS não foi totalmente nisso, por isso TypeScript foi criada. Havia uma necessidade e o comitê rejeitava a mudança.

Dá para fazer tudo com JS, mas com TS é mais fácil quando você tem uma aplicações enormes rodando.

Dá para questionar se deveria ter uma aplicação enorme rodando em um browser, mas isso é outro assunto.

Espero ter ajudado.


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

Carregando publicação patrocinada...
5

Só pra complementar, quem disse a frase sobre macacos dançando foi Eric Lippert, que já participou dos comitês do JavaScript, Visual Basic e C# (inclusive, foi um dos principais desenvolvedores do compilador desta última). Eu diria que ele entende um pouco de design de linguagens :-)

Falando de maneira geral, as vantagens de se ter tipagem estática são mais evidentes em bases de código grandes (sendo que "grande" é relativo e subjetivo, mas enfim). Não por coincidência, muitas linguagens de tipagem dinâmica que passaram a ser usadas para projetos grandes começaram a adicionar tipos (PHP e Python o fizeram na própria linguagem, para JavaScript optaram por criar outra linguagem "compatível" - na verdade TypeScript é transpilada para JavaScript).

Enfim, o post que contém a frase dos macacos dançando é este, e recomendo a leitura porque tal frase nem é o ponto principal. O texto é uma excelente explicação sobre porque bases de código grandes são mais fáceis de manter com tipagem estática, e te ajuda a entender melhor porque o TypeScript foi criado.


E só pra ser mais exato, a frase completa é:

The by-design purpose of JavaScript was to make the monkey dance when you moused over it.

Em tradução livre:

O objetivo inicial do JavaScript era fazer o macaco dançar quando você passasse o mouse sobre ele.

2

E pra complementar o complemento, ele agora cuida de Hack (quando PHP não era adequado para bases grandes como do Facebook). E as melhores respostas de todo o Stack Overflow são dele.

Obrigado pelo link.

2

Concordo totalmente, o ecossistema JS cresceu muito nos últimos anos, e na verdade continua crescendo de maneira desenfreada, mas nem linguagem em si nem a comunidade estavam preparados pra um "boom" tão grande, nisso começaram a surgir dezenas de frameworks, libs atrás de libs, com a proposta de fazer exatamente isso, permitir códigos e aplicações complexas rodando na linguagem, mas a própria linguagem não estava pronta pra isso. Por isso existem tantos códigos legados que ninguém mais quer saber da existência, a linguagem em si não é preparada pro que querem fazer com ela.