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