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

Simples: a base não é igual. Só que 90% dos programadores acham que é por falta de conhecimento no assunto.

Como você é um iniciante vai ser difícil eu responder exatamente a sua pergunta. Mas grave na sua memória que existe uma diferença gigantesca entre saber usar uma linguagem de programação e entender sobre linguagens de programação. 90% dos programadores só sabem usar as linguagens sem entender quase nada sobre elas. É como um motorista que não entende nada de engenharia mecânica (mas acha que entende). Daí o motivo de surgirem frases absurdas como "basta aprender lógica de programação que você poderá programar em qualquer linguagem".

Bom, dito isso. Pesquise sobre Programming Language Theory (PLT) que é um ramo da Ciência da Computação, é de extrema importância entender a teoria por trás das linguagens de programação para entender porque linguagens são melhores em resolver determinados problemas do que outras (dentre outras coisas muito importantes também).

Para dar um resumo muito grosseiro: linguagens de programação são projetadas seguindo um determinado modelo de máquina abstrata, suportam determinados paradigmas de programação, tem um determinado sistema de tipos, seguem um determinado modelo de memória entre outros detalhes que fazem com que a linguagem funcione de maneira diferente de outras linguagens. E cada um dessses detalhes teóricos fazem ela funcionar melhor para determinados tipos de problema do que outras.

Também existe o runtime da linguagem que pode determinar como um programa escrito na linguagem vai ser executado. Isso pode determinar a performance de execução, portabilidade, consumo de recursos (como memória RAM), gerenciamento de threads, gerenciamento de memória dinâmica e por aí vai.

A sintaxe (for, if, while etc.) é um detalhe quase insignificante da linguagem de programação. Avaliar uma linguagem pela sintaxe é como avaliar um carro pela pintura e ignorar completamente o seu motor, para quem não entende de engenharia mecânica só o que muda de um carro para outro é a pintura mesmo... 90% dos programadores acham que linguagem de programação é só sintaxe, infelizmente esse é o "normal" no Brasil.

Sugiro dar uma lida sobre cada conceito que eu mencionei, aprendendo sobre essas coisas tu já vai estar acima da média no Brasil. E sugiro ler esses dois PDF também sobre sistema de tipos e paradigmas de programação:

Carregando publicação patrocinada...
1

O colega @jooojano comentou que o que faz as linguagens serem direcionadas para certas tarefas é a comunidade. Você acha que isso que ele disse complementa o que vc introduziu sobre 'os fundamentos de cada linguagem realmente devem ser estudados para serem entendidos'? Ou os dois existem independentes no desenvolvimento?

1

Bom ponto, ele avaliou sua pergunta de um ponto de vista diferente. A resposta dele está certa se estamos falando da impressão que as pessoas têm sobre determinada linguagem. Como um exemplo que ele mesmo deu de Python que as pessoas têm a impressão que é boa para data sciente e IA. Isso porque majoritariamente a galera que passaram a trabalhar nessas áreas eram matemáticos e não programadores. Então houve uma preferência em aprender uma linguagem que tivesse uma sintaxe fácil de aprender, Python e R foram as mais usadas pelos matemáticos. R porque sua sintaxe é muito o estilo matemático mesmo, tipo Haskell.

Só que objetivamente falando não existe vantagem nenhuma em Python para esse fim, isso foi apenas um resultado da linguagem ser fácil de aprender. Aliás pelo contrário, Python é ruim para fazer cálculos como esse por causa de sua performance. Por isso que na prática as bibliotecas que fazem os cálculos são implementadas em C (ou outra linguagem semelhante), e Python fica como uma "interface amigável".


Agora na minha resposta eu desconsiderei a impressão da galera e falei sobre o que objetivamente faz uma linguagem ser melhor em determinado tipo de problema do que outra. Por exemplo Go ou Erlang que são muito boas em processamento multitarefa. E C ou Rust que são boas para economia de recursos (memória e processamento), que são as chamadas "linguagens de sistemas"... Não coincidementente C é majoritariamente usada para desenvolvimendo de kernels. Isso não se deu por causa de uma impressão ilusória da comunidade, é que realmente a linguagem é boa para resolver esse tipo de problema.