Back-End

7 jul, 2011

Qual linguagem de programação devo aprender primeiro?

Publicidade

Existem centenas de linguagens de programação diferentes por aí. Se você for um novato, pode ignorar o fato que a maioria delas existe. No entanto, mesmo se restringirmos a lista para apenas uma dúzia das linguagens mais importantes, decidir qual linguagem de programação aprender primeiro pode ser uma tarefa desafiadora. Você pode se perguntar: devo aprender primeiro C, C++, Java, C#, ou PHP? Se você fizer essa pergunta para 10 programadores, você provavelmente irá escutar 10 respostas diferentes. Aqui está a minha.

Da mesma maneira que as linguagens humanas, as linguagens de programação são utilizadas para comunicar. Curiosamente, elas também envolvem a comunicação entre pessoas, uma vez que outros programadores irão acabar lendo/modificando/melhorando seu código ou você fará isso em algum momento.

Diferentemente das linguagens naturais, no entanto, as linguagens de programação são compreendidas perfeitamente por computadores, graças à ajuda de intérpretes, de compiladores e de outros tipos similares de software.

Dependendo do tipo de programa que você está tentando escrever, e em que ambiente você está trabalhando, você descobrirá que algumas linguagens de programação se encaixam melhor do que outras para certas tarefas, mesmo se as linguagens de programação mais comuns forem rotuladas como sendo para “uso geral”.

Por exemplo, se você quiser criar um aplicativo para iPhone e iPad, sua melhor aposta seria usar Objective-C. Para smartphones Android e tablets, na maioria dos casos, você precisará aprender tecnologias do lado cliente, como HTML, CSS e JavaScript (dessas 3, somente o JavaScript é uma linguagem de programação real, mas as outras duas são importantes do mesmo jeito). Para o lado servidor do seu aplicativo web, você provavelmente precisará aprender linguagens como PHP, Ruby, ou Python (todas as três têm frameworks que irão ajudar a deixar as
tarefas web mais fáceis e menos demoradas), em vez de um sistema de programação favorito como o C. (Claro, é preciso mencionar o SQL se você
estiver criando uma interface com um banco de dados relacional).

Então você deve começar sua aventura pelo mundo das linguagens de programação com o JavaScript? Mas e o Objective-C? SQL? Meu conselho é evitar começar sua jornada de programação com uma linguagem que é atrelada a um ambiente específico. No início do jogo, seu principal objetivo é aprender como programar – e como pensar como um programador – em vez de aprender uma linguagem específica. Uma vez que você estiver craque nos conceitos fundamentais com a ajuda do objetivo geral da linguagem de programação, você pode facilmente aprender novas linguagens à medida que a necessidade aparecer, dependendo do tipo de software que você gostaria de desenvolver.

Esta é uma profissão em que a maioria das suas habilidades são desenvolvidas e aperfeiçoadas quando você realmente pratica. Se você titubear nos fundamentos da programação, você pode facilmente escolher uma linguagem específica e um framework quando precisar construir aplicativos para iPad ou qualquer outra coisa que você queira criar.

Um programador bem preparado irá acabar aprendendo várias linguagens de programação e ferramentas ao longo de sua carreira. Dito isso, se você está apenas começando, foque em uma linguagem primeiro. Enquanto isso possa parecer um pouco bobo no início, a boa notícia é que, a não ser que você escolha uma linguagem de programação verdadeiramente exótica, muito do que você aprender também poderá ser usado em outras linguagens de programação. Lembre-se de que nesse estágio, acima de tudo, você está aprendendo como comunicar seus pensamentos em afirmações precisas para que outros programadores possam entender (e para o computador poder executar).

Por esse motivo, você não pode errar muito com qualquer uma das linguagens de programação com objetivos gerais (p.e., C, Java, C#, Perl, Ruby, Python, ou Scheme). Dito isso, se você está aprendendo sozinho, eu te aconselharia a escolher uma linguagem que irá tornar seu caminho de aprendizado mais fácil. Em outras palavras, opte por uma linguagem de programação que é vastamente usada, bem documentada, e amigável para iniciantes. Você está procurando por uma linguagem que não seja muito burocrática, não precise que você gerencie a memória diretamente, ou tenha conhecimentos profundos em matemática para começar.

Assim, minha sugestão seria começar com o Python, e a use como uma ferramenta para aprender a arte geral da programação. Aprender Python é divertido, fácil e útil. Você será capaz de usá-lo para uma vasta gama de projetos em diversos ambientes (scripting, web, pesquisa científica etc).

Existe uma variedade de tutoriais grátis na web e principalmente no iMasters, mas se você quiser instruções mais rigorosas/sistemáticas/acadêmicas, eu recomendo  “Python Programming: An Introduction to Computer Science (2nd Edition)” – “Programação em Python: Uma introdução à Ciência da Computação (Segunda Edição”) – (USA| UK | Canada).

Uma vez que você tiver aprendido os fundamentos da programação, tiver um conhecimento decente da linguagem Python, e tiver ganho alguma experiência com projetos práticos no Python, você deverá estar melhor preparado para evoluir e para escolher outras linguagens e frameworks baseados em projetos em que você tem interesse de desenvolver ou contribuir no futuro (projetos Open Source são ótimos para esse objetivo).

Texto original disponível em http://programmingzen.com/2011/03/28/what-programming-language-should-i-learn-first/