Eu acho que o problema do js nem é os vários frameworks e sim o sistema de dependências - Quando entrei na postagem pensei que você ia falar sobre isso mas acabou não falando.

Quem ai ja abriu a pasta do node_modules? cara aquilo é um submundo sem volta, cheio de dependência sem sentido, pacote fake, quebrado e com vírus. Acho que a comunidade devia olhar mais para a padronização de pacotes e formas de não criar dependências do tipo: isPositive, isNumber ou até a história do leftPad.

.Net e Java têm grandes empresas ditando os padrões e também já trazem muitas coisas imbutidas nas standart libraries.

Pra mim o pior problema do Js é o node modules. Python tbm sofre bastante com isso e tbm é ainda pior pois tem biblioteca que algumas coisas são CamelCase outras snake_case dai dps ja tem pascalCase vira uma farofa. PHP tbm cheio de função interna com nome praticamente duplicado e sem padronização na escrita.

O próprio criador do Node admite que o node_modules foi um erro. Veja esta palestra dele, especificamente aos 13 minutos, quando ele mostra o slide dizendo "It's my fault and I'm very sorry".

Tanto que ele próprio resolveu criar o Deno, com um esquema mais centralizado - mais detalhes aqui.

nunca tinha parado pra pensar sobre esse problema do node_modules. existe alguma "solução" ou ao menos proposta pra melhorar isso? acham que o composer do PHP pode ter o mesmo problema?
Uma ideia é ter um local centralizado, já evita que se baixe várias vezes a mesma coisa. Mais ou menos como o Maven/Gradle já faziam, e bem similar ao que o [Deno está fazendo](https://pt.stackoverflow.com/q/457504/112052). Claro que não é livre de problemas. Gerenciamento de dependências parece ser algo difícil de resolver, no fim é algo que temos que conviver.

Também acho que esse é o pior problema.

Me lembro de um evento que fiz e falando sobre microsserviços alguém usou como uma justificativa que o build demora muito. Chegaram a falar que levava 3 horas. E eu fiquei assustado com isso, Estão criando o Windows? Justificaram que era Node.

Me lembro de um ERP que trabalhei que era enorme (certamente é uma das maiores bases de código do Brasil), e na época, ainda que muito menor, fazia o monólito em 2 minutos, em um computador com 12Mhz e 1MB de memória.

Isso mostra o que falo muito, quando é obrigado fazer isso a ferramenta é automaticamente errada, e vão procurar soluções para isso em vez de consertar o problema original. Usar microsserviços é justificável aí, mas o problema real permanece.

E concordo com o kht, que o Deno parece ser um passo na direção correta, ainda que eu não tenha domínio dessa área. Curiosamente acontece uma forma de "síndrome de Estocolmo", as pessoas não conseguem ir para o Deno que é claramente muito melhor.

É preciso uma certa centralização para algo crescer de forma organizada. Comunidades possuem vantagens, mas também problemas. Nada é só bom ou ruim. As coisas nunca podem ser reduzidas ao maniqueísmo.

A desorganização é "ajudada" pelo fato de ter muita coisa.

Faz sentido para você?

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).