Comece a programar: Que linguagem estudar

- Quais são as linguagens disponíveis? Quais devo estudar? Para que cada uma serve? Qual paga melhor? Qual a mais difícil e qual a mais fácil?

Quais linguagens de programação Qual linguagem Paga mais

Que linguagem de programação estudar ?

C, Java, Assembly, C++, C#, Visual Basic, PHP, Python, Perl, Ruby, JavaScript, Delphi/Object Pascal, Lisp, SQL, VB.NET, Pascal, Ada, Lua, MATLAB...e a lista não para por aí. Nesse momento devem estar criando mais alguma linguagem.

Ao ver tantas letras, palavras e símbolos temos as mais diversas reações:
"Por que?"
"Pra quê?"
"Ah, [nome do seu amigo] disse que [escolha uma linguagem] é a melhor"
"Eles não tem o que fazer?"
"Preciso aprender tudo?"
"Meu amigo manja Java e faz tudo, óbvio que só preciso de Java"
...

Primeiro, calma. Ninguém precisa aprender todas.
E se aprendeu, aprendeu por curiosidade, pois não deve ser 'fluente' em nenhuma.
Todas tem seu propósito e utilidade específica.

De cara, vamos logo quebrar um mito:
A linguagem [escolha a linguagem da moda] não é a melhor, nem mais importante. Nem nunca vai ser. Simplesmente porque isso não existe.

Atualmente a linguagem da moda, ou mais famosa, é o Java. Sim, é a mais em alta.
Mas nunca fama foi sinônimo de 'melhor'.
(Ainda bem, pois Justin Bieber é o cantor mais famoso e Restart a banda mais famosa).

Profissionalmente, a faca também tem dois gumes. Se souber Java, dificilmente ficará sem emprego. Porém, em todo quarteirão tem alguém que sabe Java, o que, no geral, deixa baixo o salário dos programadores Java. Se quiser ganhar bem em Java, tem que saber mais que a maioria (na verdade, em qualquer ramo da vida é assim).
Existem poucos programadores COBOL, é uma linguagem quase em desuso, e também existem poucos programadores de C (não é muito pop e um pouco 'cascuda', pra não dizer difícil), mas quem dominar essas linguagens, tem seu lugar ao sol, com um bom salário.

Java vem revolucionando o mercado por conta da portabilidade.
Programar em Windows é diferente de programar em Linux, que é diferente de programar em Mac, do que num Iphone, do que num Ipad, Ipod, aipim...a maneira de escrever é diferente, os códigos são outros. Há muitas variações.
A genialidade do Java reside que você escreve uma vez, e ele roda em qualquer lugar. Pois ele não roda no computador/aparelho/arquitetura. Ele roda numa máquina virtual, a Java Virtual Machine, a JVM. Que bom né? Por que todos não fazem isso?

Tudo tem seu preço. O preço dessa ideia fantástica da JVM é o rendimento. Fica lento. É pesado. Demora mais mesmo.
Um código que roda em Java em alguns segundos, pode levar alguns milisegundos para rodar em C.

Ora, escrevamos em C!
Ok! Mas vai ter que fazer alterações para rodar em Windows, Linux, Mac, Mobile...e agora? Qual programar? Qual a melhor?

Não tem melhor. Simples assim.
Linguagem de programação é igual a religião ou time, é uma coisa pessoal. Não se discute. Não há melhor nem pior, é uma questão de escolha, ambiente, propósito, influência.

Dizer que é PHP é mais importante que C++ é dizer que Engenharia é mais importante que Medicina. Ou que maçã é melhor que banana. Não faz sentido. Não se compara. Como será mostrado nos artigos que virão, cada linguagem tem seu propósito. Cada uma foi criada visando um nicho específico, para tratar determinados tipos de problemas.

Se ouvir alguém na internet ou pessoalmente, dizer ou se exibir, dizendo que essa linguagem ou aquela é melhor, desconsidere. É um amador, um ignorante, alguém sem noção ou um adolescente que começou agora a programar e quer atenção. Se quiser, me mande o que ele disse que te digo uma pergunta pra você perguntar pra ele que o fará se calar. Qualquer que seja a linguagem que ele disser ser melhor.

Mais uma vez, pra ficar claro. Não existe melhor ou mais importante linguagem. Existem linguagens mais apropriadas pros mais diversos tipos de problemas/situações. Somente isso.

Escolha o que você quer. Escolha seu ramo. Já decidiu o que quer? Leia, veja os artigos da série Come a programar, se informe bem e depois mergulhe fundo no que quer, estude bastante.

É complicado generalizar. Não leve muito a sério a seguinte recomendação.
Não por estar errada, mas por ser superficial.
Ela serve somente para guiar você sobre quais linguagens/ferramentas/tecnologias você deve estudar para atingir seus objetivos.

  •  Criar aplicações para Windows: C# e tudo .NET ; Java
  •  Criar aplicações para Linux/Unix: C ; Java
  •  Criar aplicações para empresas e estabelecimentos comerciais: Delphi ; Java
  •  Criar jogos de alto rendimento: C++
  •  Criar jogos para Web: Java e Flash
  •  Trabalhar com Hardware: chips, microprocessadores, microcontroladores: Assembly e C
  •  Criar sites e funcionalidades para tal: PHP, JavaScript, (X)HTML/XML
  •  Banco de dados: SQL, MySQL, PostgreSQL
  •  Redes/Administração de redes: Perl, linguagens de script, Linux!
  •  Uso pessoal (serve pra todo mundo): Python, Perl, Shell Script e outras linguagens de script
  •  Tudo relacionado a tecnologia e programação: Linux! Use Linux! Sempre aprenda sobre Linux!


Mesmo depois de escolhido seu ramo e tendo seu emprego, continue estudando. Sobre sua área e sobre outras.
Nunca, jamais se limite.
Aprender uma linguagem nunca é inútil. Você aprende a pensar diferente.
A cada linguagem aprendida sua mente passa a pensar diferente, você se torna um programador melhor na linguagem X se aprendeu a Y. Terá mais ideias, a mente mais ampla e mais flexível.

Visando essa constante informação e aperfeiçoamento de todos, essa seção do blog estará sempre sobre constante atualização.
Sobre linguagens, ferramentas, tecnologias, paradigmas(estrutura de blocos, procedural, orientação a objetos, computação distribuída, funcional), programação linear, modular, estruturada, OO, sobre o processo de interpretação, compilação, linkagem etc.

Porém, não se assuste com esse excesso de informações. Faz parte da área.
Primeiro, pela importância e pela abrangência dela. Está em todo canto. Se usa em todos os lugares e o crescimento da área é simplesmente absurdo, está crescendo mais que o mundo é capaz de suportar.
Segundo, você deve gostar disso. Se continuar estudando essas tecnologias e programação te incomoda ou te chateia, considere mudar de profissão.

A leitura sobre todos essas linguagens, nas suas mais específicas características, tipos e processos, é altamente recomendada.

13 comentários:

Douglas Borges disse...

estou anotando em meu bloco de notas tudo isso que estou apredendo com você creio que posso lendo e relendo aperfeiçoar mais, espero que daqui uns anos posso vir aqui agradecer por essa oportunidade e caminho que você está demostrando em todo esse caminho pelo site.

Programação Progressiva disse...

Olá Douglas,

Ficamos felizes em ajudar. Nosso objetivo é divulgar informações para todos, de forma gratuita e direta.

Como somos um projeto totalmente gratuito, contamos com seu apoio na divulgação.
Se quiser ajudar desde já nosso projeto, você pode clicar no botão do Google +1 e/ou curtir nossas páginas do
C Progressivo: www.cprogressivo.net
Java Progressivo: www.javaprogressivo.net

Contamos com seu apoio Douglas.
Qualquer dúvida, não hesite em perguntar.

Bons estudos

Anônimo disse...

Muito bom e bem objetivo as orientações expostas aqui, sou programador cobol e acho que em qualquer linguagem que se aprenda da pra migrar pra outras, pois a logica de programar sempre será unica, os processos de codificação e funções é que mudam....gostei de verdade e vou aprender Java. Parabéns

SD CRISTIANO PMMG disse...

Valeu parceiro, sou iniciante na área de programação e estou bem entusiasmado. Realmente estou gostando da coisa...Eu queria saber qual a diferença de Java e JavaScript, se puder responder ficarei grato!

Abraço!

Programação Progressiva disse...

Olá SD CRISTIANO PMMG,

Java e JavaScript são duas linguagens de programação, mas não estão relacionadas entre si. Houve apenas uma coincidência nos nomes, elas não tem relação alguma.

JavaScript é usado em páginas de Internet, junto com HTML.
Ou seja, é usada em aplicações para web no seu navegador de internet.

Sobre Java, basta dar uma lida no nosso artigo sobre a Linguagem de Programação Java .

Qualquer dúvida, é só perguntar.
Bons estudos.

Anônimo disse...

Bom Dia,

Sou professor e engenheiro agrimensor e considero a falta de domínio em uma linguagem de programação uma imensa lacuna no meu currículo que pretendo preencher nos próximos meses. Seus posts estão ajudando muito e pretendo me iniciar em Java e futuramente Lisp ou outra que despertar meu interesse. Parabéns pelo ótimo trabalho!

Att. Israel Costa

Mala disse...

Parabens por todos os textos! estou no 3º semestre e eu praticamente n sei programar nada!! to lendo tudo pra melhorar isso! e vou ! vlw!

Wilson Gomes disse...

Ola Parabéns pela postagem,realmente seu blog está me ajudando muito, sou novo ainda na programação e estou aprendendo muito lendo seus artigos , gosto bastante de estudar e uma pergunta aprender a linguagem c primeiro é mais recomendável ou eu posso começar aprendendo c#?

Programação Progressiva disse...

Olá Wilson,

Pra aprender essas linguagens, como C, C++, Java ou C#, não é necessário saber ou ter estudado outra não.

Leia sobre elas, veja o que é possível fazer com elas, onde são mais usadas.

Daí você compara com seus objetivos ou escolhe pelo que mais lhe agradar. Não tem regra nem uma ordem certa não.

Abraço e bons estudos.

Amanda disse...

Olá, eu estou querendo trabalhar na área da programação. Mais não sei se devo fazer faculdade, ou melhor fazer um curso profissionalizante?
Se sim, qual o nome da faculdade ou curso que posso fazer?

Obrigada e bom dia! :)

Elias Junior disse...

Olá, boa noite!!!
Tenho 65 anos, mas gosto de estudar e aprender coisas novas. Estou fazendo um curso técnico do PRONATEC: Técnico em informática para internet. E achei seu site na internet, estou gostando mto da sua didática, sua lógica de exposição. Meus parabéns pela iniciativa. vou no google e clicar em +1. Estou interessado em aprender Java.

Gabriel Sena disse...

Cara, parabéns por esse blog... parabéns principalmente por ser gratuito haha, eu agradeço muito isso, Eu tenho 20 anos e estou começando exatamente agora sobre programar quero começar no meio do ano que vem faculdade de ciências da computação, ma estou querendo aprender alguma coisa antes pra ir me aprimorando... as linguagens mais comuns são C, C++, Java e C#, certo? Sabe me dizer qual delas eu aprendo pra área de jogos para celular, eu to querendo tentar fazer alguma coisa básica mesmo pra ir treinando, tbm, se possível, gostaria de entrar em contato com você, para discutir esses assuntos de programação estou precisando de uma orientação mais profissional mesmo. Se puder me responder agradeço, abração. E novamente parabéns.

valterlande mendes dos santos disse...

Cara parabéns pelo blog, eu não trabalho na área mais estou aprendendo java em apostilas, sites e blogs como esse.

mais uma vez parabéns