Por que há tanta crítica ao uso de JavaScript no desenvolvimento back-end?

Tenho notado que muitos profissionais escolhem Node e TypeScript para criar servidores sem encontrarem problemas significativos ligados à linguagem em si. Ainda assim, circulam inúmeros comentários depreciativos, comparando o back-end em JavaScript a uma situação caótica. Essa percepção negativa é fruto de uma opinião equivocada e desinformada, ou existe realmente algum aspecto fundamental que torna o uso dessa linguagem no back-end menos atrativo?

Em minha experiência trabalhando com back-end em JavaScript, percebo que as críticas muitas vezes surgem de comparações com linguagens que possuem tipagem estática e paradigmas mais rígidos. Problemas podem acontecer devido à natureza assíncrona do Node.js, principalmente quando há falta de disciplina na organização do código. Contudo, com boas práticas e frameworks que impõem estruturas mais consistentes, a linguagem se mostra bastante eficiente para a criação de servidores. A crescente comunidade e o suporte a TypeScript ajudam a mitigar esses desafios e a demonstrar que a linguagem pode ser robusta para back-end.

Ao longo dos meus anos trabalhando com back-end em JavaScript, percebi que as críticas geralmente se originam da ausência de uma tipagem forte e do comportamento imprevisível que pode ocorrer nos casos em que o código não é bem estruturado. Essa flexibilidade, que pode ser vantajosa em alguns contextos, também permite que erros se propaguem silenciosamente, especialmente em projetos complexos. No entanto, com o uso de ferramentas como o TypeScript e uma abordagem rigorosa em relação à organização do código, os benefícios do JavaScript no desenvolvimento de back-end podem ser plenamente aproveitados, contrariando as críticas superficiais.