O Nascimento e a Morte do JavaScript
O JavaScript roda no navegador com baixas permissões. No entanto, ele executa servidores, ferramentas de build e pipelines. Isso não foi planejado. Foi uma série de remendos em uma decisão de 1995.
Entender por que isso aconteceu muda a forma como você projeta sua stack hoje.
A palestra de Gary Bernhardt de 2014 não é sobre nostalgia. É um diagnóstico de fricção arquitetural. Ele observou um arco irônico: o JavaScript era uma linguagem de brinquedo que sobreviveu porque tinha o monopólio no navegador. Esse monopólio o tornou a linguagem mais usada no mundo.
A tensão é simples. O navegador deve executar código de forma segura e rápida. Esses dois objetivos conflitam.
Em 2014, a aposta era que o WebAssembly substituiria o JavaScript. Isso não aconteceu totalmente. O WebAssembly é estável e útil para coisas como o Figma ou o Google Earth. Mas ele não substituiu o JavaScript como uma linguagem de aplicação.
Em vez disso, o JavaScript sofreu mutação. TypeScript, bundlers e novos runtimes como o Bun existem para corrigir as fricções que Bernhardt identificou.
Não use essa palestra para evitar aprender JavaScript. Não a use para justificar a migração para o WebAssembly sem um problema de performance.
Use-a como um checklist para sua stack:
- Estou usando isso porque é a melhor ferramenta?
- Ou porque é a única coisa que funciona aqui?
- O overhead das ferramentas resolve a fricção ou apenas a desloca?
- Se eu começasse do zero hoje, escolheria isso?
- O teto de performance é aceitável para o meu caso de uso?
O TypeScript ajuda com tipos em tempo de compilação. Ele não corrige a lacuna entre seus tipos e os dados que chegam pela rede. Você ainda precisa de validação em tempo de execução.
A lição mais importante é esta: saiba se sua tecnologia existe por mérito ou por causa de um monopólio.
Não mude seu runtime com base em uma previsão de 2014. Mude-o quando você tiver dados mensurados mostrando um gargalo.
Fonte: https://dev.to/jtorchia/the-birth-and-death-of-javascript-2014-what-still-holds-and-what-doesnt-2hae