JavaScript, uma linguagem 'forasteira' em que o mundo todo utiliza, e esse cenário não tende a se reverter tão facilmente, pelo menos nos próximos anos. Sua dúvida é saber o porquê javascript vem sendo tão difundido e propagado no meio há quase 10 anos? Então a resposta que eu lhe darei pode ser meio frustrante.
Já experimentou ou teve curiosidade em olhar para códigos - bem escritos - em linguagens mais 'antigas'/consolidadas, como java, família C, ou até em Assembly? Acontece que programação não é, e talvez nunca seja fácil. A linhagem de evolução das linguagens em todo o mundo sempre seguiu princípios que a comunidade global sempre adotou e impôs como prática 'obrigatória', JS fugiu disso. Uma linguagem criada em menos de 2 meses, não teríamos como esperar tipagens fortes, compilações diretamente no hardware, segurança e afins.
JavaScript é realmente, muito mais fácil que todas as linguagens mais utilizadas no mercado hoje, tanto para aprender, manipular e desenvolver. Ela te deixa preguiçoso, não segue princípios básicos, te 'limita' a más práticas e te 'liberta' de maneira exacerbada -
Preguiça. Más Práticas. inconsistência. Liberdade exagerada.
JavaScript se tornou a porta para muitos desenvolvedores engrenarem na área, seja gostando ou não ($$$) por fugir das abstrações, da ORIENTAÇÃO A OBJETOS(ou outros tipos de orientação), de entender como a linguagem se relaciona com o SO, como não só pensar e desenvolver soluções como em desenvolver uma solução eficiente e eficaz. Felizmente, a comunidade se tornou muito grande, JS melhorou e MUITO nos últimos anos, chega a ser absurdo comparar a linguagem hoje com o que era a talvez 8 ou 10 anos atrás, mas algo é regra, e não excessão: Quem inicia com Javascript/'aprende' como a 1ª linguagem, DIFICILMENTE irá usar outra. Não, você que iniciou por javascript há 1/2/3 anos ou quer seja não vai querer mudar de linguagem, não existe você sair disso para ir programar orientado a objetos em java, onde com 100 linhas em JS viram 10 classes, com gerenciamento de pacotes, cada classe com 100 linhas, entidades, modelos, padrões e padrões e PADRÕES. JS fugiu disto - e observando da maneira correta isso é INCRÍVEL.
Ao meu ver, o principal problema do JS não está na linguagem, pois todas tem seus problemas, e sim no que ela te proporciona, a simplicidade. Não é de se estranhar existirem tantos supersets/ferramentas de JS pra compilar ele do lado do servidor(dino, bun, NODE) convenhamos que pra o node função com a engine do google é uma gambiarra excepcional , ou frameworks front-end, os programadores da última decada procuraram soluções mais simples do que estavam acostumados, e isso é incrível, mas acontece, que enfiaram JS guela abaixo e agora é a linguagem mais utilizada do mundo, e sempre, na base da GAMBIARRA.
Poderia listar problemas do JS que existem realmente, mas assim como todas as outras linguagens pois nenhuma é perfeita.
- Liberdade de ';' - causa confusão nos statements
- Liberdade de criar CALLBACK(isso é incrível, mas como a preguiça os matou, criam 25 callbacks sendo que poderiam criar 5 funções e reutilizá-las, percebe como o JS deixou os programadores mais 'preguiçosos' e talvez os que iniciam, com um defícit no racícinio lógico - e jajá vou falar de TS)
- tipagem fraca e dinâmica
- Ambiguidade em alguns recursos como o this
- controle de escopo péssimo
- permissão demais que foge do controle e sempre apela as gambiarras
Programar em JS não vai te tornar um desenvolvedor apto a todas as mudanças técnológicas que o mundo vem enfrentando, não te abrange para todas as áreas possíveis e afins, mas é uma linguagem expecional.
Você pode ficar confuso com tanta crítica mas ao mesmo tempo elogios a linguagem, entendo que a linguagem é muito boa, mas usada do modo correto. E o problema? O mundo/google/microsoft empurrou JS para tudo. Ferramentas erradas nos lugares errados, esse é seu PROBLEMA.
TypeScript consertou isso de certa forma, (basicamente JS tipado e orientado a objetos). Grandes projetos, sempre será utilizado TypeScript, sem excessão. Mas para alguem que iniciou no Js aprender Ts pode não ser tão simples. O google tentou engrenar com o dart/fluter que é incrível mas também tem lá seus problemas.
No geral, JS é uma linguagem muito boa se usado da forma correta, trabalho com JS e TS há anos, mas nunca recomendaria como primeira linguagem para alguém. Podem me criticar, mas quer iniciar? Java ou C#. Sem mais. Tu vai virar programador. A partir deste ponto, podes migrar, JS é excepcional pela quantidade de coisas que faz, e querendo ou não, você vai usar. Eu realmente gosto de JS, mas odeio a forma que tentam lhe empurrar e vender JS(fácil, simples, vai ganhar dinheiro,etc). Bom, fazer gambiarras no JS é legal, é mais fácil, mas até que ponto.
Talvez tenha sido mais um desabafo, mas é minha visão geral sobre o JS. Talvez entrar no mercado com ela seja relativamente mais fácil e aprender JS é mais fácil em comparação com outras linguagens, analise as possibilidades e veja o que te deixa mais perto do seu propósito, que você tenha sucesso e espero que isso te de um norte, mesmo que mínimo.
Mas lembre-se: Se você iniciar por JS e caso algum dia precise usar outra linguagem, você terá que aprender a programar de verdade, e praticamente do negativo, já que terá de perder manias e costumes que a liberdade do js te dá.
Ademais? Comece com java ou C# para APRENDER A PROGRAMAT;
Com python se quer 'simplicidade' no início mas uma vasta área profissional - python is beatiful
Com js se quer trabalhar na web, tanto front, como server-side. ABs