Seções iMasters
Carreira + Linguagens

Qual linguagem de programação devo aprender primeiro?

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

?

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, 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).

 

Comente também

53 Comentários

Junio Silva

O C# também é bom para começar com os conceitos básicos e ir até a orientação a objetos

    Rodrigo

    Entrei no seu blog e vi o por que mencionou c# :D
    muito bom o material, parabéns. :)

    Oscar Alho

    Se você é rapido para arrastar e soltar componentes use C#

    Mateus De Oliveira Gondim

    vale lembrar,aqueles que leram o meu comentário e se quiserem excelentes conteúdos sobre a linguagem C++,entrem em contato comigo que estarei lhe enviando apostilas e livros conhecidos como por exemplo o Como programar em C++,livro da empresa Americana da Deite.Conseguir esses livro grátis sem pagar nada por isso,pretendo ajudar a aqueles que quiserem aprenderem a programarem especialmente em C++.

    Para entrar em contato comigo envie um e-mail para:

    mex.stell.com@gmail.com

Rodrigo

Comecei com php, atuo com php até hoje, e não me arrependo,acredito que aprender linguagem de programação, não é então, algo que você va por opinião dos outros, e sim a sua, pois você déve experimentar as que você acha que déve estar aprendendo, ex(python,php, ruby) e estar analisando qual está lhe “pendendo” mais, tanto no aprendizado, documentação,comunidade, busca de tutoriais,etc :D
Parabéns pelo texto
Att

    Ricardo Lima

    Simplesmente a melhor resposta…

    Leocarpo Mário

    Concordo.

    Oscar Alho

    é a melhor linguagem pra se programador orientado a gambiarra

    Rodrigo

    Oscar, além de trollar os post do pessoal, acho que você também não sabe ler né? em nenhum momento eu citei o que é melhor ou pior ;)

    degenerds

    O Oscar também em nenhum momento citou que você citou o que é melhor ou pior…

    Alan Albuquerque

    E o Oscar só faz criticar, faço uma pergunta a ele qual linguagem ele começou e acha que é melhor? Eu estou começando com PHP e pretendo morrer escrevendo códigos PHP em meus projetos.

    Oscar Alho

    aprendi a programar com PHP, mais orientação a objeto de VERDADE só fui aprender com .NET e Java. nem tipagem de objetos existe no php

Paulo Luvisoto

Como primeira linguagem, recomento Python, sem dúvida. Não acho que seja a melhor linguagem, mas com certeza é a melhor para principiantes…

    Oscar Alho

    também recomendo.. depois que aprender vai ter procurar emprego na China, talvez alguma empresa la use Python

      Bizuga

      Bem, se for assim, podemos ir atrás da Google na china, porque creio eu que você saiba que uma das maiores empresas (senão a maior) da internet utiliza aplicações em Python ^^

    Paulo Luvisoto

    Se a linguagem vai ter uso ou não eu não sei, mas repito que, com certeza é ótima para quem quer APRENDER programação.

Bruno Giannella de Melo

Primeiramente ótimo texto..

Na minha opnião vai depender muito da pessoa, ela vai começar a pesquisar por programação e a linguagem que se indentificar mais, encontrar mais tutoriais e documentação é a que vai ser mais facil para começar. Eu começei com PHP e aconselho qualquer um a começar com PHP por ser uma linguagem com um material imenso na internet. Abraços.

Matheus

Eu acho que pra começar deve ser pascal pois é uma liguagem simples , que oferece uma base boa para as outras liguagens.

Jônatas Levy

Comecei com Pascal, depois C/C++ e por fim parei em SQL e Java, agora depois de um ano parado e estudando apenas design gráfico estou voltando a Java e pretendo descobrir novas linguagens. Acho que o caminho que eu tomei foi bem legal

José Roberto

Só faltou citar o aprendizado de um paradigma importantíssimo nos dias de hoje: a Programação Orientada a Objetos.

Elder

Pra começo recomendo linguagens do tipo: Pascal e C/C++;
No caso do Pascal, ela é muito útil , pois nao é muito flexivel o que leva o programador a aprender com erros…

Everton

Recomendo pascal/delphi/freepascal/lazarus mesmo sendo uma linguagem que esta morrendo, como dizem por ae, tem uma comunidade gigantesca, é facil de programar com o IDE e usando lazarus vc pode compilar para windows/linux/macos. Uso o delphi como linguagem principal desde o turbo pascal 7 lá em 1995 quando era um adolescente, putz to velho hehe!

Anderson Melo

Bom artigo! É como vc mencionou, linguagem depende do que vc pretende desenvolver e analisar o que vai atender os seus requisitos creio que ninguem deve aprender linguagem d e programação apenas por puro modismo que é o que acontece muito hoje e outra, todo dia aparece uma porrada de linguagem nova mas grande parte é desconhecida e sem documentação suficiente e isso conta bastante na hora de desenvolver. É muito importante analisar isso também.

IsraelOuteiro

Eu recomendo o C# da pra desenvolver diversos tipos de aplicações
-para web junto com o Asp.net
-para games(Xbox360 && PC )? com a framework XNA .. da propria microsoft
-iPad&iPhone.. Mono framework e Mono Develop

porque nao aprender logo uma linguagem que faz de tudo?

    poi

    Porquê não existe linguagem que faz tudo. Exitem programadores que fazem muita coisa. Cada tipo de aplicação que você citou possui um leque de conceitos complicadíssimos, desde da matemática (jogos), sistemas operacionais (iPad&iPhone) e redes (WEB). Muitas poucas pessoas chegam a dominar os três, e para dominar um deles com certeza é preciso saber várias linguagens.

Fabiano M.

Comecei com Pascal, conceitos Java, tudo na facul e no mundo web PHP.

Cheenz

Linguatimeros.blogspot.com

Fernando Andrade

Eu estou começando a aprender a programar Pascal, um amigo meu que programa a muito tempo me aconselhou essa linguagem, não achei muito difícil depois que aprendi a lógica de programação.

Luiz Costa

Eu sou muito pragmático sobre linguagem, gosto pessoal e curva de aprendizado. Não tenho anos de experiência, mas com a pouca que eu tenho eu posso dizer que a linguagem de programação para o programador e igual ao absorvente para mulher.

Quando a mulher começa a ter os problemas dela ela precisa testar os vários absorventes disponíveis no mercado para saber qual e o mais barato e confortável para ela. O futuro pião moderno também tem que fazer a mesma coisa com a linguagem. Tem que experimentar e ver qual e mais confortável, simples e que vai pagar os gadgets legais dele.

Mas fica a dica eu já fiz gambiarra usando como por exemplo uma vez que usei a linguagens Lua para fazer um remendo de uma processo matemático que o c não conseguiu realizar e depois o código c chamava aquele remendo como função. Essa obra de arte me custou um tempo consideravel, mas me deu uma lição de flexibilidade.

Dennes Menezes

Aprender sozinho com certeza é algo que pode prejudicar muito o meio do caminho, pois ter vícios e conceitos que não atendem o padrão acabam meio que prolongando o real aprendizado.

Rodrigo

Comecei com C, achei bem legal pra começar é ótimo para programar relógios, contas com raciocínios lógicos e quebra-cabeças, aprendi legal com C… mas depende das pessoas, até pq algumas simplesmente não nasceram para programar não adianta forçar…. programar tem que ser por GOSTAR e não por dinheiro ou emprego, mesmo agente que gosta as vezes fica ferrado com o rumo das coisas.

Manolo

Taí um assunto tão polêmico quanto mamilos.
A meu ver seria muito bom iniciar no portugol ou algo assim, só até aprender a usar direitinho as estruturas condicionais e de repetição.
Partindo para linguagens comerciais, tudo depende de como a pessoa vai aprender. Em cursos de computação recomendo C. Ponteiros são traumáticos? São. Mas uma linguagem com uma abstração menor traz um aprendizado maior sobre o funcionamento da memória, da compilação e da interação entre o programa e o SO. Além de que a maioria das linguagens mais conhecidas usa muito da sintaxe do C.
Já para aprender sozinho, é só escolher pela aceitação do mercado e pela aplicação da linguagem e “meter as cara”.

Manolo

Outra coisa complicada é saber o melhor momento de ensinar orientação a objetos. Quando eu comecei a estudar simplesmente achei um monte de firula para chegar no mesmo objetivo. Simplesmente ignorei os conceitos. Só no fim do curso, depois de todas as disciplinas de Requisitos, Qualidade de sw…
A orientação a objetos é uma proposta para trazer reuso, organização, mantenibilidade, testabilidade, etc… Conceitos vindos da Engenharia de Software.
Para mim, a pessoa deve aprender a programar de forma estruturada, estudar os conceitos de Engenharia de Software (ciclo de vida, projeto…) e durante isso ir aprendendo OO. O aprendizado de OO vai ser mais justificado e consequentemente melhor aplicado nos projetos.

Francisco Leal

Antonio Cangiano, tem alguma bibliografia sobre o assunto para pesquisas?

Francisco Leal

Antonio Cangiano, tem alguma bibliografia sobre o assunto para pesquisas?

Gilson furtado

Eu estou aprendendo o c e acho que é muito legal.

Antonio porteiro

Sem duvida, PHP.
è muito simples de começar e tem a melhor ajuda no internet.(www.php.net).
Baixe o programa Xampp no internet e olhe os arquivos de exemplos.
Depois faça uma pagina propria de teste.
Aí explica tudo.
Já trabalhei com tudo, Java, C#, C++,C VB etc.
E quem fala que para começar é bom Pascal ou C, desculpe mas essa aí kkk sabe de nada.

    Virgílio A. Soares

    Tá bom que é mais fácil PHP do que pascal… Sabe tudo…

Alex

Fala sério. Eu moro no DF, e o governo daqui está oferecendo cursos de C# e Java interamente gratuitos e com todas as despesas pagas (alimentação e transporte). Eu estava com dúvida entre os dois, C# ou Java, mas depois dessa matéria explicativa, eu fiquei com uma certeza: o certo é aprender os dois, mais alguns outros e fazer um curso de inglês (Apesar da matéria não mensionar o inglês, o inglês faz parte da programação).
Concluindo, essa profissão é mais séria do que eu imaginava. O caminho parace ser muito longo e árduo. Agora minha duvida é: Será que vale a pena? Que me respondam os Bill Gates e os Mark Zuckbercs dessa área.

Rafael Trajano De Andrade

Olá, fiz 18 anos no mes de agosto de 2012, a primeira vez que programei tinha 15 anos, primeiramente aprendi a logica, utilizando a linguagem PORTUGOL que é compilada pelo VisualG, apos as aulas de logica, tive o prestigio de aprender JAVA que foi desde os principios mais basicos até aos mais sólidos, apos aprender java, comecei a aprender VB e por ultimo aprendi alguns conceitos de COBOL. Após ter tido essa experiência com essas linguagens, me senti a vontade para estudar C#, o qual estudo pelo livro “use a cabeça c#”. Na minha humilde opinião o X da questão não está em qual linguagem devo aprender primeiro, mas em qual linguagem encontro um caminho que me leve aonde quero chegar! Se tem mais interesse em aplicações web, aprenda primeiramente a logica de programação que é imprescindivel e comece a estudar PHP Ruby, enfim… Caso goste de aplicações para desktop (meu caso), aprenda logica de programação e escolha uma linguagem do tipo JAVA, C#, VB, entre outras. Tudo vai do seu interesse e aonde você quer chegar. Basta você fazer sua escolha!

sabrina

Bom eu estou começando com o java..e confesso que até agora estou gostndo :))

Thiago

O que vocês acham sobre utilizar VB e VBScript para uma aplicação web?
Tenho uma certa noção sobre VB e quero consolidar esse conhecimento em um caso prático.
A aplicação que planejo terá em torno de 10 computadores comunicando-se através da internet, com troca de mensagens de voz, texto, imagem e videos.

    Alcides Fernando Tiago

    Eu sugero o VB, é uma línguagem ed programação muito facil e apido de se aprender!.

Mateus De Oliveira Gondim

Gente!!! Depende muito de que irá,fazer com esta linguagem de programação……
Eu já tenho conhecimento em lógica de programação,sem ter tomado ou estudado o curso de lógica de programação, aprendi lógica quando estudava a linguagem de programação C;
embora,após uns tempo eu fiquei pulando de uma linguagem para outra,estava infeliz co-
m a linguagem C.

Passei por diversas linguagens de programação:
até que cheguei a poderosa e temida C++,com ela pretendo a aprender o que realmente
não aprendi com as outras,que é programar de verdade.É claro que para isso baixei inúmeros conteúdos e livros impressos sobre C++.

Recomendo a aqueles,que pretendem a aprenderem a programarem,após aprenderem lógica de programação vão,para a linguagem C++ porque com,ela além de aprenderem programação estruturada,aprenderão sobre programação orientada a objetos,essa é uma grande tendência em nossos dias.

*obs: C++,resolvi escolhera ,pelo fato de poder se comunicar com o hardware como se fosse uma linguagem montadora(Assembly),e pelo fato dela ser tão poderosa que,usando apenas ela,você construir tudo o que essas outras fazem e se duvidarem,ela faz melhor como por exemplo nos permite criar a nossa própria linguagem de programação,um exemplo de uma linguagem feita com C++ é o Java,mas o Java não supera ainda a C++.

Para aqueles que gostaram do meu comentário se quiserem entrarem em contato comigo,envie um email para : mex.stell.com@gmail.com

Mateus De Oliveira Gondim

Olá Antônio Cangiano. Estava a procura de informações sobre qual linguagem devia começar a programar.
Na verdade comecei com a HTML, depois fui para a linguagem de programação C,a partir da linguagem de programação C aprendi lógica de programação;
Mas estava infeliz com a C,então dei uma pausa e fiquei pulando de uma linguagem de programação para outra,tentando ver qual seria a mais fácil,infelizmente as linguagens que tentei,elas não tinham o padrão ANSI/ISSO e com isso os materiais que encontrava de tal versão não servia para a versão mais moderna,foi aí que comecei a pesquisar na internet e também encontrei o blog: http://imasters.com.br/perfil/antonio-cangiano que é o seu.
Li e concluir que,sei que existem diversas linguagens de programação mas apenas algumas delas sobreviveram com o passar do tempo,resolvi tentar a linguagem de programação C++,não preciso aprender mais lógica porque aprendi com a linguagem C e nem pretendo estudar a linguagem Pascal,ela é muito antiga e quero algo que fosse procedural e ao mesmo tempo pudesse alternar para orientação a objetos, e que fizesse tudo que eu quisesse desde jogos como “GTA” ,navegadores como “Mozila”, e Sistemas Operacionais como o “Linux”. A C++ é uma excelente opção,sei que ela é difícil de se engolir mas,não impossível de se aprender! Claro que para isso baixei inúmeros conteúdos sobre a Linguagem C++;como por exemplo a coleção de livros da Deitel como aprender Java e C++.

Agradeço a você.Imagino se não existisse pessoas assim que postassem artigos como esse,para ajudarem aqueles que estão ainda em dúvida.
Meu objetivo de escrever essa mensagem é de lhe agradecer,agora é só comigo lutarei para aprender a programar de verdade,usarei um método que poucos tentaram,aprenderei C++ como minha linguagem influente,mesmo sabendo pouco sobre programação mas isso não será impossível tudo isso devo agradecer ao C,foi ele que me deu a lógica de programação que não precisei fazer com Pseucódigos.

SorrisoMaroto

e c eu Kise Aprende Um Tipo De Linguagen Pra Desenvolver Hack De Jogos E Ant-Hacks De Jogos Kual Eu Devo Aprender 1º Cobaias On?????????

Lenfexs

Olá para todos, para aqueles que sonham aprenderem a programarem esse sonho acabou de se resolvido,aqueles que desejam programarem em Java se,quiserem apostilas sobre ela envie um e-mail para : mex.stell.com@gmail.com

taigoro

mestre sempre me disseram que o ideal seria html como base de todos, entao qual a diferença de começar por ele ou phyton
valeu

    Porronco’s Thread

    HTML não é linguagem de programação e sim de marcação;

Gustavo Furtado

Como foi muito bem dito no post, eu também acredito que pra quem nunca programou, é melhor aprender os conceitos básicos de programação antes de se preocupar com a linguagem, por isso acho que um bom caminho para responder a essa pergunta (Qual linguagem de programação devo aprender primeiro?) é encontrar uma linguagem que o ajude a aprender os conceitos básicos. Python é uma linguagem muito boa pra isso, pois não tem muitas burocracias para se programar, mas para quem é muito leigo no assunto (inclusive sem muito conhecimento de inglês) indico usar um “portugol” pra aprender lógica, pra isso indico o VisuAlg. Tenho usado ele pra explicar os conceitos básicos de programação no meu blog.

Abraço,

Gustavo – http://www.dicasdeprogramacao.com.br/linguagem-de-programacao-para-iniciantes/

OZONE

Foi bom ter acessado a vossa página porque descobri várias coisas que de facto não sabia.

Uillams Lemos

Excelente texto! Parabéns! buscava uma compreensão melhor sobre “por onde começar?’. E de fato, devemos começar por onde seja mais ‘adaptável’ à nossa realidade.

wellyan

comprei um curso online muito bom onde ensinava como programar jogos de pc eu nem sabia nada de programação mas o curso é bem explicado e em vídeo e ele pula a parte teórica e vai direto pra pratica e todo mundo sabe que assim é mais fácil de aprender quem quiser o link acesse meu email well_santos1994@hotmail.com

Qual a sua opinião?