Esta é uma pergunta que muitos iniciantes em programação fazem, querem saber por qual linguagem eles devem iniciar a programar.
Bem, é uma questão muito difícil de se resolver assim de cara, não existem linguagens que sejam para iniciar a programar, não existem linguagens que sejam para perfis definidos de programadores, existem sim linguagens de programação para muitos fins e com focos e métodos de desenvolvimento diferenciados.
Vejamos, por exemplo
Assembly
AssemblyO Assembly foi provavelmente a primeira linguagem de programação da história, surgida na década de 50, época em que os computadores ainda usavam válvulas. A idéia do Assembly é usar um comando em substituição a cada instrução de máquina, ou seja, tornar legível as instruções que a máquina (o processador) entende, por isto é considerada uma linguagem de máquina. É bastante interessante e muito ágil, porém pouco usual nos tempos de hoje
C
CC é uma linguagem criada a muitos anos, em 1972, é uma das primeiras linguagens em que o programador não precisaria conversar diretamente com sua máquina, com seu hardware, é imperativa e procedural e é de nível baixo, dando acesso à endereços de memória por exemplo, entre tantas outras coisas interessantes. Sua precursora é o C++, que tem uma programação orientada a objetos.
Java
JavaJava já é uma linguagem bem mais nova, criada no início dos anos 90, é de alto nível a orientada a objetos. É uma linguagem criada para facilitar ainda mais a forma como se programa, é muito mais fácil de entender um programa escrito com ela do que com C por exemplo. É uma linguagem muito portável, ou seja, que roda em muitos ambientes computacionais diferentes, trabalha com código pré-processado através de uma virtual machine. Atualmente, é ainda muito utilizada.
Perl
PerlÉ uma linguagem fortemente funcional, criada em 87, é também de alto nível, é multi-plataforma, e seu foco inicial era de ser uma ferramenta completa para scripts CGI.
Python
PythonÉ uma linguagem criada por Guido van Rossum em 1991, é de alto nível, interpretada (pois também trabalha através de bytecodes pré-gerados), seu foco é ser uma linguagem fácil, com uma curva de aprendizado bem pequena, onde o problema e o programador sejam as estrelas e não a linguagem, tem uma característica bem marcante que é: não utiliza chaves nem colchetes para definir blocos de código, mas sim a indentação (espaços ou TABs), o que meio que assusta alguns no início, mas depois ajuda muito. É completamente orientada a objetos mas multi-paradigma (funcional, orientada a objetos, imperativa). É também multi-plataforma e largamente vem sendo utilizada por grandes empresas e grandes soluções no mercado a fora, tanto em sites como em programas batch.
Outras…
Outras…GO, Haskell, Ruby, PHP, Scala, Pascal, Javascript, Cobol, PL1, .NET, etc..etc..etc… são tantas linguagens que realmente fica complicado para quem não tem conhecimento saber qual escolher.
Mas o que devo levar em consideração para apontar àquela que vai ser a primeira
Bom, na minha opinião, primeiro você deve saber programar, aprender lógica e algorítmo com Português Estruturado, saber o que podemos utilizar em uma linguagem, laços, estruturas de decisão, de controle, tipos e formatos de dados possíveis, saber bem isto, matemática é a base para tudo.
Depois disto, aí sim é que poderemos olhar para o “mercado de linguagens de programação”. Aí, o que conta é sua experiência que você irá construir com as linguagens, teste algumas, a dica aqui é pegar algum algorítmo, por exemplo, algum algoritmo de ordenação e implementar o mesmo em várias linguagens diferentes das quais você já tenha lido e tenha uma primeira impressão boa dela, ou tenha recebido alguma indicação de algum amigo, ou esteja apenas interessado nela… tente, execute, debugue, compile, e veja qual delas foi a mais “legal” para você, qual delas lhe deu mais produtividade, qual delas foi mais fácil, qual delas resolveu de forma mais efetiva o seu problema e qual delas se aplica àquele ambiente no qual você deseja trabalhar. Esta é a linguagem que você deve utilizar como sua primeira linguagem.
Eu devo utilizar esta linguagem por muito tempo ?
Meu amigo, nada dura para sempre não é ? Pois, sua primeira linguagem não é um contrato vitalício, não é uma arma na cabeça, você pode e deve utilizá-la enquanto você se sentir bem, enquanto ela estiver rendendo trabalho para você, enquanto ela tiver mercado, depois disto, aprenda outras linguagens. Para falar bem a verdade, você, hoje em dia, não tem como ser programador de uma única linguagem, você provavelmente necessitará aprender mais de uma linguagem para poder trabalhar, seja alocado em uma empresa, seja como freelancer (Aí sim é que o bicho pega! Leia sobre ‘fullstack developer’ também). Eu sou da opinião que: sintaxe a gente olha na documentação, o que importa é saber programar bem, saber como resolver os problemas, e conhecer até onde a linguagem escolhida pode ir, de resto a documentação da linguagem nos dá os detalhes. Já se foi o tempo em que o programador tinha a syntaxe de todos os comandos da sua linguagem na cabeça, já era. Claro, conforme você trabalha mais e mais com uma linguagem principal, a syntaxe e os macetes da linguagem vão ficando gravados na sua memória então, quanto mais você programar e utilizar a mesma linguagem, mais produtivo e efetivo você será.
Quantas linguagens eu devo aprender ?
Isto somente o tempo dirá… você pode programar porque gosta ou pode programar porque precisa, ou pode fazer os dois também. Deixe-se levar pelo mercado ou force-o a seguir o caminho que você gostaria. Eu já programei, em minha vida de dev, em umas 10,12 linguagens diferentes pelo menos, hoje em dia meu foco é Python, mas não somente Python, preciso saber também PHP, Javascript, ShellScript, HTML/CSS (mesmo não sendo exatamente linguagens), Ruby, e por aí vai… eu realmente gosto do que faço, escolhi Python e tento forçar o mercado a aceitar o que gosto, faço os projetos do jeito que gosto e que são aceitos pelo cliente, já passei da fase de deixar o mercado me ditar em que linguagem eu irei trabalhar.
E por fim…
Na real, você viu que não se tem uma ou outra linguagem que seja utilizada para você iniciar, você viu aqui que existem formas de se chegar a ela, cada pessoa, cada programador é diferente, cada mercado tem sua cartela de possibilidades. Teste as opções e escolha aquela que lhe deixa mais feliz ! Fora isto, no meio do caminho, troque se for necessário, não se prenda a paradigmas, a mercados e opiniões, invista em você como programador e seja um ótimo programador. O resto, vem como resultado.