Melhor linguagem para aprender

No post anterior, que publiquei a tradução do “Aprenda programar em 10 anos”, a maioria dos comentários foram sobre qual a melhor linguagem para aprender a programar. Norwin cita principalmente python e scheme.

Python é uma linguagem interessante, pois desde o começo obriga o programador a seguir um estrutura no seu arquivo, possui um sintaxe simples, direta e fácil e de brinde tem uma biblioteca enorme. No começo, pode ser utilizado para programação procedural, mas também permite o uso de classes e notação lambda. Mas questões simples, e importantes, para iniciantes, como criar tipos, variáveis e não ter preocupações explícitas com os tipos, são abstraídas pela linguagem.

Outra linguagem é o scheme, que a grande vantagem para o iniciante, é criar a lógica de uma linguagem funcional.

Outras pessoas citaram o pascal para iniciantes. Mas pascal tem uma sintaxe não muito interessante, imagine um iniciante criar um array bidimensional de inteiros! Aquela notação do “^”, para representar ponteiros. Aliás, o que um iniciante tem que se preucupar com ponteiros, ele é iniciante! Ah, pascal era interessante na época que o Delphi estava no seu auge. Agora que Delphi esta decaindo e perdendo espaço para Java, .Net e outros, pascal deve ser banido da computação!

Sobre C digo a mesma coisa, C é a minha linguagem favorita, uso Java também, Python, Lua, mas C é a linguagem pela qual sou apaixonado. Porém, tenho certeza que C para iniciantes é uma péssima idéia. Além dos problemas de alocação de memórias e ponteiros, um estudante vai queres ler uma simples string e terá que lidar com malloc, buffer… e o cara é iniciante, mal e mal sabe o que é uma variável!

Então, para iniciantes, recomendo uma simples coisa: exercícios com livros de algoritmo e pseudo linguagem. Sim, é chato, muito chato não usar computador. Mas o cara estudando 6 meses o que são variáveis, funções/procedimentos, o que é um inteiro, uma string, poderá tranquilamente escolher a sua linguagem.

Mas, “cara, já aprendi essas estruturas básicas, o que eu faço”. Tenho dois pontos de vista agora, primeiro e penso que o melhor, faça como Norwin disse, escolha a linguagem que seus amigos usam. Se usam C, aprenda C, se usam Java, aprenda Java, se usam Python, aprenda Python, se usam Pascal, por favor, vá aprender outra coisa :-) .
Outra idéia é ver, o que tu queres fazer? E escolha a linguagem “feita para isso”, se queres fazer sistemas comerciais com interfaces gráficas, acesso a banco, Java e Python são boas idéias, mas C seria uma péssima. Porém, se queres trabalhar mais “low-level”, aprenda C. Alias, C sempre é útil aprender!

Todas as opiniões são do autor que não tem a menor vergonha em dizer que é usuário de C, que não suporta Pascal, porém também gosta de Java.