Aprenda a programar em dez anos

O texto abaixo foi traduzido pelo meu amigo Augusto Radtke e é de autoria de Peter Norvig. É dirigido para todos que fazem ciência da computação, ou estudam em alguma área das ciências exatas ou tem interesse ou até mesmo em necessidade de aprender a programar.

Para quem já fez Inteligência Artificial na faculdade deve conhecer o Norvig do seu livro verde, o Artificial Intelligence, a Modern Approach, ou AIMA para os íntimos. Ele era chefe de desenvolvimento dos robôs que foram pra marte da NASA, agora trabalha no Google. Ou seja, ele sabe do que está falando! O texto é longo (uns 10 minutos de leitura).

Texto revisado em 23 de junho de 2015 por Silas Piacenti (Twitter: @silaspiacenti)

Aprenda a Programar em Dez Anos

Peter Norvig

Tradução por Augusto Radtke

Porque todo mundo tem tanta pressa?

Entre em qualquer livraria, você vai ver Aprenda Java em 7 dias assim como diversas variações oferecendo lições de Visual Basic, Windows, Internet e por ai vai, em dias ou horas. Eu fiz a seguinte pesquisa na Amazon.com:

pubdate: after 1992 and title: days and  (title: learn or title: teach yourself)

e encontrei 248 entradas. As primeiras 78 eram livros sobre computadores (número 79 era Learn
Bengali in 30 days
). Troquei “dias” por “horas” e encontrei resultados incrivelmente similares: 253 livros, 77 de computadores, seguidos de Teach Yourself Grammar and Style in 24 Hours no número 78. Do total de 200, 96% eram livros de computadores.

A conclusão é que ou as pessoas estão com muita pressa de aprender sobre computadores, ou computadores são extremamente fáceis de aprender do que qualquer outra coisa. Não há livros de como aprender Beethoven, ou Física Quântica ou até adestramento de cães em alguns dias.

Vamos analisar o que um título como Learn Pascal in Three Days
pode significar:

  • Aprenda: Em três dias você não terá tempo de escrever programas significantes, e aprender com seu sucesso ou fracasso. Você não terá tempo para trabalhar com um programador experiente e entender o que é conviver neste ambiente. Em resumo, você não terá tempo para aprender muito. Logo eles só podem estar falando a respeito de entendimento superficial, como disse Alexander Pope, aprender pouco é uma coisa perigosa.
  • Pascal: Em três dias você deve ser capaz de aprender a sintaxe do Pascal (isso se você já conhece uma linguagem similar), mas não vai aprender muito sobre como utilizar essa sintaxe. Em resumo, se você era, vamos dizer, um programador Basic, você pode aprender a escrever programas no estilo Basic usando a sintaxe do Pascal mas não aprender em que o Pascal é bom (ou ruim). Então, qual o ponto? Alan Perlis disse certa vez: “Uma linguagem que não afeta a maneira que você pensa sobre programação, não vela a pena ser aprendida”. Um ponto é se você precisar aprender um pouco de Pascal (ou algo como Visual Basic ou Javascript) porque você precisa interagir com alguma ferramenta existente para uma tarefa específica. Mas nesse caso você não esta aprendendo a programar, você está aprendendo a como resolver essa tarefa.
  • em três dias: Infelizmente, não é suficiente, como veremos a seguir.

Aprenda a Programar em Dez Anos.

Pesquisadores (Hayes, Bloom) tem demonstrado que leva em torno de dez anos para desenvolver perícia em qualquer de uma variedade de áreas, incluindo jogar xadrez, compor músicas, pintar, tocar piano, nadar, jogar tênis e pesquisar neuropsicologia ou topologia. Aparentemente não há atalhos: até Mozart, que foi um prodígio musical aos 4 anos levou mais 13 antes de compor música de primeira classe. De outra forma, os Beatles parecem ter disparado nas paradas em primeiro lugar com a aparição no show do Ed Sullivan em 1964. Mas eles estavam tocando em pequenos clubes em Liverpool e Hamburgo desde 1957, e mesmo que eles conseguiram uma aparição em massa, o primeiro grande sucesso mesmo, Sgt. Peppers, foi lançado em 1967. Samuel Johnson pensa que pode levar mais do que dez anos: “Excelência em qualquer departamento pode ser alcançada apenas com o trabalho de uma vida toda; não é possível comprá-la por menos.” E Chaucer reclamou: “vida tão curta, leva tantu pra aprender.” Sim, é “tantu”, e não “tanto”, um dia você entende.

Então aqui vai minha receita para sucesso na programação:

  • Aprenda inglês. Leia o original deste texto. Essa tradução só está aqui para exercitar o meu inglês, não o seu. (Nota do tradutor)
  • Se interesse por programação, e faça porque é legal. Tenha certeza que isso continue a ser legal para você dedicar dez anos nisso.
  • Converse com outros programadores; leia outros programas. Isso é mais importante do que qualquer livro ou curso de treinamento.
  • Programe. O melhor tipo de aprendizado é aprender fazendo.
    Colocando de uma forma mais técnica, “o nível máximo de performance individual em um domínio não é alcançado automaticamente em função de uma experiência estendida, mas sim aumentado mesmo por indivíduos extremamente experientes por um esforço deliberativo de melhorar.” (p. 366) e “o aprendizado mais efetivo requer uma tarefa bem definida com uma dificuldade apropriada para o indivíduo em particular, dado que exista um retorno sobre a experiência e oportunidades de repetição e correções de erros.” (p. 20-21) do livro
    Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, que é uma referência interessante deste ponto de vista.
  • Se você quiser, gaste quatro anos em uma universidade (ou mais em uma pós-graduação). Isso lhe dará acesso a alguns empregos que requerem alguma formação e um grande entendimento do campo de trabalho, mas se você não gosta muito de ir para escola, você pode (com alguma dedicação) conseguir alguma experiência similar sobre esse tipo de trabalho. Em qualquer caso, apenas ler livros não será suficiente.
    “Educação em ciências da computação não faz de ninguém um gênio em programação tanto quanto estudar pincéis e pigmentos não fazem um bom pintor.” diz Eric Raymond, autor de The New Hacker’s Dictionary. Um dos melhores programadores que eu já contratei tinha apenas o segundo grau, e ele produziu vários softwares incríveis, tem seu próprio grupo de discussão,
    e fez dinheiro suficiente em ações para comprar seu próprio clube noturno.
  • Trabalhe em projetos com outros programadores. Seja o melhor programador em alguns projetos, seja o pior em outros. Quando você é o melhor você testa suas habilidades para liderar um projeto, e para inspirar outros com a sua visão. Quando você é o pior aprende o que os mestres ensinam e o que não gostam de fazer (porque eles fazem você fazer por eles).
  • Trabalhe em projetos após outros programadores. Esteja envolvido em entender um programa
    escrito por outro. Veja o que é preciso para entender e consertar quando o programador original não esta por perto. Pense em como desenvolver seus programas para que seja fácil para quem for mantê-los após você.
  • Aprenda pelo menos meia dúzia de linguagens de programação. Inclua na lista uma linguagem orientada a objetos (como Java ou C++), uma que seja de abstração funcional (como Lisp ou ML), uma que suporte abstração sintática (como Lisp), uma que suporte especificação declarativa (como Prolog ou C++ com templates), uma que suporte co-rotinas (como Icon ou Scheme), e uma que suporte paralelismo (como Sisal).
  • Lembre-se que há um “computador” em “ciência da computação”. Saiba quanto tempo leva para o seu computador computar uma instrução, carregar uma palavra na memória (com e sem cache), ler palavras consecutivas do disco rígido, procurar por uma nova posição no disco.(As respostas estão aqui.)
  • Se envolva no esforço de padronização de uma linguagem. Pode ser o comitê ANSI C++, ou na padronização de programação na sua empresa, se utilizaram identação com 2 ou 4 espaços. Em qualquer caso, você aprende o que outras pessoas gostam em uma linguagem, o quanto eles gostam e talvez um pouco do porque eles gostam.
  • Tenha o bom senso de cair fora desse processo de padronização tão rápido quanto possível.

Com tudo isso em mente, é questionável o quão longe você pode ir apenas lendo livros. Antes que do meu primeiro filho nascer eu li todos os livros de Como Fazer e ainda me sentia como um novato. Trinta meses depois, quando nasceu meu segundo filho, voltei aos livros para relembrar? Não, ao invés disso resolvi utilizar minha experiência pessoal do primeiro filho, que se tornou muito mais útil do que milhares de páginas escritas por especialistas.

Fred Brooks, em seu trabalho No Silver Bullets identificou um plano em três partes para encontrar grandes projetistas de software:

  1. Sistematicamente identifique os melhores projetistas o quanto antes.
  2. Atribua um orientador de carreira responsável pelo desenvolvimento cuidadoso de um plano de carreira.
  3. Promova oportunidades para desenvolvedores em aprendizado interagir e estimular uns aos outros.
  1. Nisto assumo que algumas pessoas já possuem as qualidades necessárias para ser um grande desenvolvedor de software; o grande trabalho é apenas colocá-los no caminho correto. AlanPerlis coloca de forma mais sucinta: “Qualquer um pode ser ensinado a esculpir: Michelangelo poderia ser ensinado a não esculpir. É o mesmo com grandes programadores”.
  2. Então vá em frente e compre aquele livro de Java; provavelmente você terá algum uso dele. Mas isso não vai mudar a sua vida, ou o seu conhecimento como um programador em 24 horas, dias, ou meses.

7.    Referências

  1. Bloom, Benjamin (ed.) Developing Talent in Young People, Ballantine, 1985.
  2. Brooks, Fred, No Silver Bullets, IEEE Computer, vol. 20, no. 4, 1987, p. 10-19.
  3. Hayes, John R., Complete Problem Solver Lawrence Erlbaum, 1989.
  4. Lave, Jean, Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life, Cambridge University Press, 1988.

Respostas

O tempo aproximado de execução de várias operações num PC típico de 1Ghz no verão de 2001:

executar uma instrução simples 1 nseg = (1/1,000,000,000) seg
extrair uma palavra da memória L1 2 nseg
extrair uma palavra da memória RAM 10 nsec
extrair uma palavra consecutivamente do disco rígido 200 nseg
extrair uma palavra de uma nova posição o disco (busca) 8,000,000nseg = 8mseg

Apêndice: Escolha de Linguagem

Muitas pessoas tem me perguntado sobre qual linguagem devem aprender primeiro.
Não há resposta, mas considere estes pontos:

  • Use os seus amigos. Quando me perguntam “que sistema operacional devo usar, Windows, Unix ou Mac?” minha resposta geralmente é: “use o que seus amigos usarem”. A vantagem é que, você poder aprender com os seus amigos, vence qualquer diferença entre sistemas operacionais ou linguagens. Considere também seus futuros amigos: a comunidade de programadores que você fará parte se continuar. A sua escolha possui uma grande comunidade de usuários ou apenas uma comunidade morta? Existem livros, sites e fóruns para encontrar respostas? Você gosta das pessoas desses fóruns?
  • Mantenha-se simples. Linguagens como C++ ou Java são desenvolvidas para utilização profissional por um grande time de desenvolvedores experientes que estão preocupados com a eficiência de execução de seus códigos. Como resultado, essas linguagens possuem partes complicadas desenvolvidas para essas circunstâncias. Você esta focado em aprender a programar, não precisa dessa preocupação. Você precisa de uma linguagem que foi desenvolvida para ser fácil de aprender e lembrar.
  • Interaja. Como normalmente você aprenderia piano: de modo interativo, no qual você escuta uma nota logo que pressiona uma tecla ou de um modo automatizado em que você escuta cada nota quando a música termina de tocar? Claramente, aprender interativamente é muito mais fácil, e assim é com a programação. Insista em uma linguagem com um modo interativo e use-o.

Baseado nesses critérios, minhas recomendações para uma primeira linguagem seria Python ou Scheme. Mas as suas circunstâncias podem variar, e existem outras boas opções. Se a sua idade ainda tiver apenas um dígito, é melhor escolher Alice ou Squeak (aprendizes mais velhos podem gostar também). O importante é você escolher e começar.

Apêndice: Livros e outros recursos

Muitas pessoas me perguntam em quais livros e páginas elas devem aprender. Eu repito que “apenas ler livros não é suficiente” mas eu posso recomendar o seguinte:

Notas

  1. Capey informa que a página de Complete Problem Solver na Amazon agora possui “Teach Yourself Bengali in 21 days” e “Teach Yourself Grammar and Style” na lista de livros que “Consumidores que compram esse item também costuma comprar estes”.
    Eu imagino que um grande parte das pessoas que visualizam esse livro vem dessa página.

216 thoughts on “Aprenda a programar em dez anos

  1. Realmente são conselhos excelentes, já tinha lido o original e achei muito boa sua tradução parabéns.

    Realmente usar o que os amigos usam é fundamental, sozinho não se chega muito longe, a interação é a mãe do conhecimento independente em que área estamos trabalhando. Porém não se limite a eles, com o tempo você deve passar a ser o seguido e não apenas o seguidor.

    Grande Abraço
    Anselmo Battisti

  2. massa esse artigo

    acho que é por que faz quase 10 anos que terminei o curso de processamento de dados, hehehe.

    vou divulgar esse texto também, vai ajudar muita gente.

    mas eu indicaria o Pascal para começar a aprender, e claro, estudar antes técnica de programação e algoritmo estruturado.

    1. Eu preciso de ajuda claro que pagando.
      Eu preciso dum pequeno programa para interligar um documento do word com uma base dados acess.
      Tenho 3 documentos do word base já preechidos e quando ensiro na base dados acess o nome o apelido a morada quanto vai ganhar de ordenado e etç… no fim de enserir os dados ecolhia uma combobox e dizia qual dos documentos do word esta pessoa se inser. e depois imprimia o contracto do word com os dados preenchidos no acess acrescentaria os dados ao documetos do word.
      Se tiver uma ideia melhor digame.
      Agradeço uma resposta. giltec2003@hotmail.com

  3. excelente a materia.. muito interessante =)
    bem..estou na metade desse caminho haiuhauia vamos ver q daqui mais 5 anos viro um beatles hauhau
    valeu pela contribuição para o publico pt-br

  4. Parabéns pela matéria.
    Realmente muito interessante e valiosa tanto para quem está começando quanto para aqueles que já possuem um tempo de “janela”.

  5. Um livro que gostei há mais de 10 anos atrás falava de lógica de programação, algoritmos e estruturas de dados, sem contaminar o leitor com nenhuma linguagem de programação ou produto específico. Assim o leitor, se quisesse, podiar escolher uma linguagem do seu gosto, ou até mesmo fazer no papel hehe.

    Depois aprender paradigmas também foi muito importante, linguagem de máquina, programação estruturada, programação modular, programação orientada à objetos. E por fim, metodologias de desenvolvimento e de gestão de projetos ágeis.

  6. Buenas!
    Eu já havia lido esse texto, mas agora parece “updateado”. O impressionante é que nao serve apenas para programação, tenho-o usado como referência em outras áreas. Quanto a programação, estou caminhando lentamente na compreensão deste mecanismo. Felizmente hoje consigo compreender rapidamente a sintaxe de todas as que tenho observado. Não significa que sou inteligente ou coisa parecida, aprendi que nessa área a paciência e persistência são quase tudo. Como o texto diz, envolver-se com grandes problemas é uma alavanca didática para a captação cognitiva do processo.
    Estou bebão, vou nessa, grande abraço!

  7. Muito bacana e verídico o texto. Já estou na estrada há 12 anos, ou seja, “aprendi a programar” já…

    Escuto tanta gente falando que quer aprender a programar o mais rápido possível para entrar no mercado, e acham que é fácil…

    Eu tento explicar que só com o tempo você consegue aprender as malícias de se escrever um programar, fazer um site, sistema ou qualquer coisa que tenha que escrever uma linha de código, mas as pessoas acham que estou brincando, desistimulando ou coisa parecida. Esse texto é bom, pois comprova o que eu falo…

    Só eu sei o quanto eu penei, apanhei, voltei a estaca zero pra “aprender a programar” e, coloco entre aspas, porque faltam mais uns 10 anos ainda eu acho pra ser perfeito e acho que ninguém ainda saiba programar com excelência…

    []’s

  8. Bem sou novato nessa área estou no segundo ano de faculdade mas estou gostando muito e acho que não vou demorar dez anos para aprender a programar, mas quem sabe !!! ótimo artigo, parabéns… obrigado.. e eu gostaria de indicar as pessoas que estiverem começando agora a ver ler algum livro de Lógica de Programação e depois partir para Linguagem C, que vai servir de base para qualquer outro linguagem depois que você possa no futuro trabalhar.

    Até Mais….

  9. Olá Parabéns por traduzir o texto, é realmente importante que as pessoas tomem consciência do estudo contínuo e de se fazer o que se gosta de fazer.
    Só um porém na parte onde fala:

    Alan Perlis disse certa vez: “Uma linguagem não afeta a maneira que você pensa sobre programação”.

    No original está:

    “A language that doesn’t affect the way you think about programming, is not worth knowing”

    Sugiro a tradução como:

    “Uma Linguagem que não afeta o modo como você programa, não vela a pena ser aprendida”

  10. Excelente artigo. Pretendo lê-lo em inglês assim que possível. Muito bom trabalho pois um artigo como este nos encoraja a não parar de aprender. Um exemplo sou eu, não tive oportunidade até hoje de desenvolver em Java em uma empresa, mas se a empresa não me dá a oportunidade, sou eu quem vou aprender e desenvolver em Java, por mim mesmo.

  11. Sinceramente sem comentarios. Recebi a indicacao deste por uma comunidade antiga da faculade de computacao, no qual nunca deletei da minha lista de grupos. Estou ampliando conhecimentos em biotecnologia nos Estados Unidos e agora sinto mais confiante que este artigo me ajudara a continuar caminhando, com os conhecimentos em linguagem, a aplicar em
    bioinformatica.

  12. Da pra começar a programar, aprendendo java… comecei com com o simples e fui evoluindo. Naum precisa sair querendo fazer coisas complexas.

  13. Pois é, se voce não acha legal no começo e se ao trabalhar com TI, continuar detestando, como muita gente faz… Caia fora! Não atrapalhe e deixa a vaga para que quer fazer um bom trabalho.

    E única linguagem que o iniciante precisa aprender é o bom e velho C. O resto é resto. Isso não tem nada a ver com minha experiencia de 20 anos de programação, pois nem estou recomendando o COBOl (não dá pra fazer um jogo com COBOL).

    :)

  14. Gostei de seu artigo. Por favor, adiciona mais uma ideia na sua receita…

    Saiba que programacao ‘e 99% frustracao e 1% satisfacao

    :)

    Larry B.

    bitbank.wordpress.com

  15. Na verdade começar por Java seria até interessante, sim é dificil, porém, com esforço a pessoa consegue, aprender Lógica tanto estrutural como orientada a objetos é o começo de tudo até mesmo antes da linguagem escolhida, fazer testes de raciocinio como quebra cabeças e jogos estratégicos é importante para desenvolver a lógica, depois vc pensa na linguagem, com a base bem implementada o proximo passo sim é ir atras da linguagem e códificar, compilar (interpretar em alguns casos) e rodar =)

  16. Pelo que parece estou indo no caminho,
    ja faz alguns anos que eu estou fazendo inglês,
    sou dono de um site / fórum repleto de tutoriais de:

    Design:
    • Photoshop
    • Flash

    Linguagens:
    • PHP
    • HTML
    • Java Script
    • ASP
    • MySQL

    Programação:
    • Visual Basic
    • C++

    Sempre estou sempre buscando mais para mim,
    como aperfeiçoar a criação de sites.

    ————>

    O seu blog está show,
    continue assim, concerteza este atigo irá ajudar muitas pessoas,
    de como é difícil programar, mas legal.

    Dá uma passadinha no meu blog?
    Agradeço ;-)

  17. Muito bom, estou na faculdade e comecei a programar para valer mesmo neste ano. Me ajudou muito.

  18. As idéias do autor não deixam de ter validade mas ele se utiliza de um expediente desagradável, faz apenas comparações entre 8 e 80, com a evidente intenção de demonstrar uma teoria em detrimento de outra.
    E a teoria coloca todas as pessoas e mentes no mesmo patamar da ignorância, deixando de esclarecer que aos 10 anos de idade qualquer ser humano já pode tem a experiência necessária para o aprendizado de uma outra atividade e dependendo dos interesses da pessoa no passado é possível aprender a programar ou a criar jogos em poucos dias.
    E vou explicar porque penso assim, mas não aqui, pois o espaço não é adequado, um texto mais completo, está na URL indicada

  19. Faltam 2 anos para mim e eu ainda me sinto um novato, mas ultimamente tenho visto muitos “garotos” que começam aprender algo em um fim de semana com um livro e já se auto-proclamam “especialistas” do assunto, desenvolvimento é complicado… como um todo.

  20. O Peter colocou este link no site dele (http://norvig.com/21-days.html)
    Enviei um e-mail pra ele, pensei que não fosse responder, mas respondeu hj informando que o link foi adicionado.

    Thanks! I have added the link to my page.

    Best wishes,
    -Peter

    On 4/16/07, Haroldo Ribeiro Gomes wrote:
    >
    > Hi Peter!
    > There is a translation of your article “Teach Yourself Programming in
    > 10 Years” in Portuguese-Brazil in

    Aprenda a programar em dez anos


    > Credits to Augusto Radtke (radtke@radtke.com.br)
    > I think that is a good idea publishes it in your website.
    > An unique observation about the translation, posted on comment number 23 is:
    > Alan Perlis disse certa vez: “Uma linguagem não afeta a maneira que
    > você pensa sobre programação”.
    > The correct translation is: “Uma linguagem que não afeta
    > maneira que você pensa sobre programação, não vela a pena ser aprendida”.
    > Congrats for the excellent explanation about this theme, and sorry my poor English.
    > Regards,
    > Haroldo Ribeiro Gomes

  21. Me da uma dor no coração ler este tipo de materia. Tive sontato com programação tarde demais. Gostaria muito de ser um programador só pelo gostinho de deter o conhecimento mas tudo conspira contra; o tempo, o lugar, os conhecidos…
    Haaa!!!!!!!!!!!! como gostaria. Mas sozinho fico andando em circulos. Tudo que leio somente me ensina uma receita de bolo. Quero pensar por mim mesmo. Quero o começo de tudo.

    1. Como suas frases serviram para minha pessoa.O meu primeiro contato com programação foi no Senai com linguagem C, que pouco serviu para eu avançar nesta área. Sendo que o correto seria começar com algoritmo. Mas a vida é assim. Eu hoje casado com 38 anos, três filhos e fazendo minha 1º faculdade em 2009 em analise de sistemas, eu falo com certeza que não irei atuar como programador. Por diversas circunstãncia inclusive essas que mencionou. E o que você disse é fato: aprender só, é muito difícil principalmente quando não se está na área e não há niguém conhecido bem profissional para lhe dar um “empurrão”. Abraços

  22. Nada melhor de um texto como esse para estimular novos profissionais a se aperfeiçoarem para o mundo da informática.

  23. Realmente foi muito interessante,esta materia ,pois comecei a fazer a facu/sistemas de informacão /analises de sistemas e estou com um pouco de dificuldades para entender tanta logica
    mais percebi que tudo é com o tempo e dedicação que conseguimos alcançar o objetivo…
    valeu…..( só não quero demorar tanto para aprender…)

  24. Parabéns pelo artigo, realmente fiquei aliviado em saber que não o único acredita que ser um autentico programador leva tempo…(pelo menos 10 anos ).

    1. Show de Bola…….

      My friend Frederico Lamberti Pissara , Fausto prenda e estude, constantemente, calculo, álgebra linear, geometria, … tudo o que puder sobre matemática… códigos-fontes seguem desses conceitos EM QUALQUER ÁREA!

      O novato pode discordar com veemência dessa afirmação, mas considere: Uma linguagem de programação nada mais é do que matemática enrustida… “se (condição) então faça-isso” ou “enquanto (condição) faça-aquilo” são apenas expressões simbolizadas de formas diferentes como
      “∫f(x)dx” e “∆²v=0″…

  25. Interessante como mais um guia sobre programação, julgo. Entretando, nunca havia ouvido falar de “Python” e “Scheme” como linguágens de programação.

  26. Ótima tradução.

    Apenas uma correção:

    Trinta meses depois, quando nasceu meu segundo filho, voltei aos livros para relembra?

    Faltou um R:

    Trinta meses depois, quando nasceu meu segundo filho, voltei aos livros para relembraR?

  27. muito bom artigo mesmo, já estou a 4 anos na area e confesso que não sei programar profundamente embora saiba diversas linguagens como: java, php. html, python, visual basic, c … entre outras
    =)
    e isso é uma verdade mesmo, programar demora, nao que se aprenda em 10 anos.. mais demora…

  28. Na minha opinião, pra você iniciante, são dicas muito boas, mas dependendo do seu esforço e etc… não precisa de 10 longos anos pra você se sentir confortável. Você faz o seu tempo!!! Só depende de você.

  29. Meu Deus, adorei esse seu artigo, nota 10000 pra ele, texto muito bem traduzido estou dando uma olhada no original, e no autor do original.

    Estou naquela de eu nunca quiz aprender a programar, e hoje sei que vou precisar, mas como você disse tenho 10+ anos …

    Como tenho 20 hoje, talvez ai com uns 50 eu jah saiba =)

    Mas é isso ai vou deixar meu msn aqui pra quem quiser trocar uma ideia sobre programação, trabalho com software livre, sou analista de sistemas, estava afim de aprender a programas mas não sabia em qual linguagem, estava procurando algo relação a C, mas esse texto talvez me clareou a cabeça…

    seatola@hotmail.com

    Um abraço a todos que leram e que lerão esse artigo.

    “Conhecimento é eterno”

  30. Acredito que o conhecimento em lógica de programação – ALGORITMO – seja indispensável para alguém iniciar no mundo da programação de computadores. Sem ela, o pretendente à programação, será um cego no escuro; com ela, ele terá todos os recursos necessários para compreender qualquer linguagem, bastando para isso, deter-se em detalhes da linguagem escolhida, tal como a sintaxe da mesma, por exemplo. Fazem alguns anos que venho estudando autodidáticamente programação. Hoje, consigo compreender com facilidade a sintaxe de várias linguagens, isso graças à compreenssão adquirida com a lógica de programação. Para você que está iniciando, recomendo que não veja nenhuma linguagem, até haver adquirido um entendimento satisfatório sobre lógica de programação. Compre um livro de lógica, estude-o sem pressa e execute os exercícios propostos. Ah! Com relação a ser um bom programador, siga os conselhos do artigo acima.

    Jamais desista, pois os frutos serão colhidos. Aquilo que plantarmos sem dúvida brotará, mesmo que demore dez longos anos…

    Bons estudos!!!

    Felipe Gomes – Recife – PE.

    1. Cuidado com o algoritmo ou acaba como o cara que ficou preso no chuveiro.
      O shampoo tinha a seguinte instrução: Passe shampoo, esfregue, e enxague.
      Repita…
      Falando sério, tenho um livro: C++ from scratch, que ensina o C++ fazendo você criar um aplicativo.

  31. Parabéns pelo texto….só gostaria de completar, ou melhor dar apenas minha impressão.
    Já programo à mais de vinte anos, portanto, posso dizer com certeza que já sei programar a mais de dez….engano meu!!! Quanto mais o tempo passa e pareço saber cada vez mais, tenho a certeza que sei cada vez menos. experiência ajuda, mas não resolve. Quando comecei nem internet havia, muito menos programação sequencial…mas, vivendo, e sempre…sempre aprendendo….

  32. muito boa esta mensagen que foi dada para todos aqueles que desejam ingressar ma carreira de programadores !

    em dez anos é muito bom……até porque
    um programador nao se faz da noite para o dia ,exigisse muito esforço e dedicação pura sempre.

    fuiz

  33. Artigo de qualidade (com alguns erros de tradução).
    Devo confessar que é uma excelente artigo. Parabéns, vou recomendar aos amigos.

  34. Falou tudo, ninguém nasce sabendo, toda parte interessada em aprender algo, tem que dedicar, com diz o ditado ” tem que ralar “, tem que aprender inglês, linguagem de programação e outras coisas a mais. O contato com programadores do mundo todo, trocando idéias, principalmente na linguagem java, é prioritária. Nada se cria, tudo se copia e aperfeiçoa. Adorei este artigo.

  35. Pior, depois de Dez anos chega outra linguagem, outra abordagem, e começa tudo de novo.
    Fui de um mundo em que veneravam Algol, Cobol e Fortran, se você não sabe do que estou falando, esqueça, é pura nostalgia…

  36. adorei o artigo, sou novata na area comecei esse ano a faculdade de informatica, estou comecando com pascal. bom saber que todo mundo quando comecou teve tantas dificuldades nao me sinto mais um E.T. mas msm assim adoro cada programa e um desafio, quando consigo fazer correr um programa que foi muto dificil e melhor que ter orgasmos multiplos, que comer chocolate sem peso na consciencia

  37. Bastante interessante o artigo… É bom para nos ajudar a manter os pés no chão, e que sempre aprendemos alguma coisa importante com os outros… Uma coisa que me deixa um pouco triste é que o mercado não espera tanto… Mas isso é um processo.. E que bom que sempre evoluimos..

  38. Me parece que a turma que eu estou começando a fazer parte agora usa principalmente Python. Então como coincidiu com o seu conselho vou começar de Python e depois C++…
    Obrigado!!

  39. Olhe!, não quero discordar de ninguém aqui, mais acho que tem umas pessoas que certas habilidades para o aprendizado de determinados assuntos, enquanto outras não. Então para essas que não tem pode levar alguns anos, já para as outras que tem não, entenderam? É o que eu acho.

  40. Eu sugiro um aperfeiçoamento em:

    “Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers”

    Para ficar mais fiel ao espírito do original:

    “Qualquer pessoa pode aprender a esculpir: para Michelangelo seria necessário ensiná-lo como não esculpir. E o mesmo se aplica aos grandes programadores”

    É uma modesta contribuição, mas certamente acredito que pode melhorar o sentido da mensagem.

    Uma abraço e parabéns pela iniciativa!

  41. Jura que leva todo esse tempo para aprender a programar?? Tô pasma! Um pouco da metade desse tempo dá pra fazer meu Mestrado e Doutorado!…
    E eu que perdi a grande chance com Aurélio Hecket meu quase-vizinho!… vou chorar!

  42. Qual a linguagem que melhor atende quem quer entender um pouco de programação, bem como descrever (ler) um programa em outras linguagens??

  43. Bom pessoal, eu ainda não sou nada nessa área mais quero ser… Além de me enteressar pelo assunto gosto muito de matemática. Sei que o caminho é longo, e que esse campo está ficando cada vez mais vasto. Hoje estou na 3ª série do E.M. e gostaria que alguem pudesse me indicar o melhor curso para quem quer programar…
    Eng. de Controle e Automação está muito fora?
    e-mail, msn: betinho_c0sta@hotmail.com
    Grato pela atenção

  44. Sou programador a 7 anos e nesse período tenho estudado para melhorar as formas como desenvolvo meus programas. Desenvolvo utilizando padrões, frameworks, entre outros utilitários. Enfim, tudo que nos auxilia a produzir um sistema confiável, de fácil manutenção, bom desempenho e funcional. Por tudo isso, é que me sinto cada vez mais leigo nessa área pq sempre que termino um projeto tenho a sensação de que muita coisa nele poderia ser melhorada.

  45. Achei bastante interessante seu artigo. Porém, acho que faltou você comentar sobre o Maker. Já desenvolvi em Cobol, Clipper, Mumps, Delphi, C++, VB e quase sempre tive que “jogar” fora minhas obras de arte. Perdi muitos anos da minha vida “aprendendo” (tudo bem, foi bem legal e eu gostei), mas se tivesse conhecido o Maker antes, teria produzido mais “coisas” ao longo da minha vida. O Maker não é um produto, é uma nova forma de programar.

    Parabéns pelo seu artigo.

  46. Então gente, mas APRENDER, na minha opnião é um termo muito relativo, é alguma coisa que mesmo sendo muito visível, é um tanto quanto complexa de ser medida, ainda mais em um assunto vasto como programação, onde pode se considerar o estilo, a forma de pensamento, a organização de idéias do programador e também a CODIFICAÇÃO. Já que na minha humilde opnião, programação possui apenas uma parte relacionada a uma linguagem (como python, c++, pascal) na verdade pra mim o coração da programação vem de formular respostas a perguntas, planejar tais respostas, e organiza-las.
    Ps: ler livros mesmo que não te deem experiência para programar, te poupam um BOM TEMPO ao invés da tentativa e erro [o que é veri gudi]

  47. Eu gostei muito desse seu post.
    Achei bem claro, conciso e com muita informação importante.
    Tinha na cabeça que programação seria uma coisa fácil se eu dedicasse 1h/ dia de noite antes de dormir, mas vi que não.
    Um curso de graduação é muito pra mim, não tenho tempo/grana pra isso, mas vou tentar começar pela Python. pretendo chegar à C++ porque o programa de modelagem que uso aceita essa linguagem (Maya e Rhino).
    Abraços!
    obrigado!

  48. Felipe, parabéns pela tradução!

    É uma pena que quando iniciamos a programar, geralmente estamos mais envolvidos com pessoas com pouca experiência também, e, portanto, não enxergamos algumas verdades como esta.

    Abraço!

  49. Gostei muito do post, parabéns pela iniciativa de disponibilizar a tradução de um conteúdo relevante.

    Trabalhar em equipe e trocar conhecimento com amigos é o caminho.

    Estar em constante atualização em qualquer área é indispensável.

    Abraços

  50. Qual é o perfil de um programador?
    O que ele deve saber fazer e porque?
    Quais erros ele deve evitar?
    Qual é o salário?

    Tem que ficar 10 anos fazendo curso-praticando?

    O que este cara fez antes de ser programador? (ou seja antes de 10 anos de prática)? Vendia este texto?

    Não defendo o cara ser programador com 21 horas, nem 21 dias.

    dez anos?

    Ambos são extremistas?

  51. Por outro lado, com uma meia-duzia de programadores como estes, …, efetuando o correto uso da tecnologia, …, iriamos precisar de um sociologo para rever a sociedade e a forma como vivemos, ou seja, seria um hercules, que levaria a todos os demais, com os seus dons de programador.

  52. Acho que eu ‘conheço’ um cara assim. vou mandar um email para ele.
    Peço perdão pelos altos e baixos. Talvez o barco jogue um pouco mais.

  53. Na hora de escrever o email, achei que não seria nada seguro para quem o recebesse. Mudei de idéia.

    Resolvi dar um tiro no próprio pé.

    Lá vai: Não tenho a mínima condição de enviar uma carta pedindo o cargo de programador no google! Pena [para mim] que não tem como apagar post neste site! Ótimo para mim, …, assim eu aprendo nem que seja na marra.

    Mr Norvig, é diretor de pesquisa do google!, eu na verdade sou um técnico mediano.

    Lamento.

  54. Pingback: fazer jogo
  55. Though Smalltalk is not that popular these days, there is a new renaissance in Smalltalk development, thanks to Squeak.I went through many sites of the Smalltalk and agree with all the supporters of Smalltalk. The more I learn about Smalltalk and Squeak the more I’m impressed. In the process of my learning I have collected some good sites (more than 200) related to Smalltalk and Squeak (lessons, tutorials and programming). If you are interested take a look at the below link.
    200 sites to know about smalltalk programming http://bit.ly/g3iow

  56. Achei muito bacana o artigo. Fico impressionado quando vejo estes livros de aprenda algo em 10 dias. O duro é que com o marketing que fazem em cima disso, o conhecimento que levamos anos para adquirir acaba sendo questionado.

    Pior que isso é quando vamos a um cliente oferecer nossos serviços e ai surgem os comentários de que “meu primo faz em 10 dias” , “meu filho sabe tudo e faz para mim por 100 reais”

    Nossa profissão precisava de uma regulamentação que impedisse que pias metidos trabalhassem profissionalmente. Alguém ja viu médico que fez um curso de 10 dias sair operando ? :) ta bom, no Brasil até tem alguns hehehe

  57. Dez anos? É um exagero.

    Com quatro anos pode-se aprender a programar profissionalmente.

    Mas claro, tem que se dedicar muito, ler bons livros e não esquecer jamais de praticar o que está aprendendo.

    Só se aprende de verdade na prática.

    1. G.P. s Vaším tvrzením: vÅ¡emohoucnost je logicky vyloučená, vÅ¡evÄ›doucnost je v rozporu se svobodnou vůlí, nejvyšší dobro je v rozporu s existencí zla ve svÄ›tÄ›. …nemohu plnÄ› souhlasit, souhlasím pouze s tím, že tak jak pojímá vÅ¡emohoucnost u Boha Josef, jde o teologický omyl. VÅ¡evÄ›doucnost nemusí být v rozporu se svobodnou vůli, pokud umíme svobodnou vůli zakotvit do popisu zkuÅ¡enosti. Nejvyšší dobro není tak ani v rozporu s existencí zla ve svÄ›tÄ›, jako je nejvyšší dobro v rozporu s gramatikou.

  58. Em primeiro lugar acho essa afirmação que vem embutida no Título do texto muito desmotivadora para os que estão adentrando no mundo da programação. Acredito que realmente em 21 dias é teoricamente impossível construir uma base solida para ser um programador, mas acredito por outro lado que com esforço, dedicação em 02 anos é possível conseguir uma boa bagagem na área e arisco dizer que nesses mesmos 02 anos já se torna possível sim programar profissionalmente. Outra coisa que discordo é a necessidade de dominar outro idioma, sei que com certeza facilitará muito a aprendizagem, mas não é uma necessidade básica. E se realmente o autor desse texto teve a intenção de dar alguns conselhos ( ” acho pouco provável ” ) escolheu um caminho um pouco confuso entre a vontade de ajudar e afastar os novatos.

    Abraços.
    Qualquer comentário estou a disposição no e-mail.
    prof_jeffe@hotmail.com

  59. Descordo prof Jeffe.
    Não é desmotivante, é a realidade.
    O autor deste texto, Perter Novig (http://norvig.com/) conhece muito bem programação e sabe a diferença que é ter 1, 2 ou 3 anos de prática de programação ou dez. Os erros que se cometem no início, a falta de abilidade, e o mais importante: Aprender a PROGRAMAR e não aprender uma linguagem específica. Quem sabe realmente programar, pega basicamente qualquer linguagem, seu guia de referencia e desenvolve. Um desenvolvedor de uma linguagem X, fica preso a ela ou ao seu ambiente de desenvolvimento. E aprender as questões Além de linguagem, como modelos de memória, threads, bytes, shorts, bits, sincronizadores, bibliotecas dinamicas, algoritmos de busca, pesquisa, comparacao, ordenacao, estruturas de dados e tudo mais. Isto sim demora 10 anos.

    É basicamente dizer que é desmotivador para um piloto de avião iniciante dizer que ele só voará um Boing 474 com 15 anos de experiencia. Começa-se com o básico, mas somente será um REALMENTE BOM piloto/programador com 10, 15 anos.

  60. Aliás, é obvio que é necessário outro idioma, isto é, saber ingles.
    Todas as documentações, helps e etc de praticamente todas as linguagens são neste idioma.
    Inclusive a Linguagem Lua, que é brasileira, os livros foram primeiramente publicados em ingles!

  61. Sr. Felipe Albrecht
    olá!

    Eu desejo entrar no mundo dos video-games, e quero ter justamente experiência em programação.
    não sei de nada!

    Por isso, peço por favor, que me indique
    o que devo aprender!

    Estou muito confuso, são linguagens demais!
    não sei por onde começar…

    nem sei se devo começar por eles
    já que os jogos são desenvolvido por engines.

    o que me sugere para começar a minha jornada?
    estudar algoritmos,lógica etc.?
    já começar com uma linguagem?

    Enfim, o que me sugere?

    aguardo respostas.

    obrigado.

    PS: eu posso começar também como um programador “normal” mesmo, mas o meu sonho é fazer jogos!

  62. Caramba gostei muito mesmo deste texto, o cara é um cientista e realmente sabe do que fala. Esta de parabéns.

  63. O post já fez aniversário de 3 anos, e ainda é um assunto atual.

    Estou iniciando meus estudos para voltar a area de desenvolvimento, trabalhava com clipper até o final dos anos 90, e agora volto para trabalhar com programação para web.

    Parabéns

    1. Muito bom o post….

      Desde que se tenha paciencia (10 anos) se aprende a programar….

      Ainda falta 9 pra mim.

      É um asssunto que sempre vai ficar retornando….

      hhahaha

      um loop

  64. Queridos,
    Sinto uma certa revolta enrustida nos comentarios, que de forma justa atacam a superficialidade dos poucos paragrafos dos livros que querem em pouco tempo ensinar algo, como programar por exemplo, acredito que os mesmos tem um teor interessante que é o de empolgar a pessoa que está procurando aquilo, e em um primeiro momento acaba descobrindo se a sua aptdão é ou não a que procurava naquelas paginas.

    Acredito que se aprende sim a programar em um ano ou menos.

    Porém não acredito ser possível se tornar um programador experiente, competente, e respeitado em menos de dez.

  65. Programar qualquer um programa. Em 6 meses – 1 ano se aprende. A dificuldade está em construir sistemas complexos, escrevendo código com qualidade (menos bugs) e de fácil manutenção/extensão (ex: alterar uma funcionalidade a pedido do cliente ou implementar uma nova).

  66. Foi um dos melhores que já li vou mandar pra todo mundo no meu e-mail isso me motivou muito valew a quem postou lhe desejo tudo de bom e um sucesso muito grande pra você t++

  67. I became just browsing occasionally as well as you just read this post. I have to admit that we are inside hand of luck today if not getting such an great article to determine wouldn’t are possible for me, at the extremely least. Extremely appreciate your content.

  68. Acho que eficiência não pode ser chamada de pressa de forma alguma,coisa muito comum na sociedade de hoje onde as pessoas são tão acomodadas com tudo.

  69. nao que eu esteja falando de alguem em especifico, ou desse caso mas querer aprender rapido não necessariamente é algo ruim.

  70. The information you provided here are extremely precious. It ended up this type of pleasurable surprise to own that waiting for me while i wakened today. They are constantly to the level and easy to know. Thanks a bunch to the valuable ideas you’ve got shared right here.

  71. nosso como esse texto esta atual ! Ele faz quase 6 anos de idade,o imcrivel e’ esse areas de comentarios,tem comentarios de diferenter anos,tem gente que deve estar impressionada com o tanto de conhecimento acumulou desde que escreveu o seu comentario,o bom que eles mostram diferentes pesperctivas sobre o mundo da programaçao,que eu nem comecei ainda,mas vou começar ! Eu quero e’ topar(ver) com esse meu comentario daqui a 10 anos,e pensar quanta coisa,esperiencia eu acumuleu… Durante esses 10 anos’ escrevi isso em um nokia c3-00 tenho um pc com 160 gb de HD, ram de 2 gb, uma CPU de 2 nucleos 2,8 ghz,tenho 14 anos. esse ultimo paragrafo nao contribuir com o texto,mas isso vai dar boas risadas e reflexos sobre como eu era NOOB(novato) a anos atras.

    1. Já faz dois anos que postei uma asneira aqui, venho postando novamente mas não asneira kk. Evolui muito em dois anos especialmente em java, mas é a base para outras linguagens; bom daqui alguns anos postarei novamente hehe abraço e boa sorte a todos…obs: Estude intensivamente para um resultado mais breve.

      1. Estou aqui novamente…bom 5 anos após a primeira postagem e 2 anos e meio após a ultima, falta 5 anos ainda pra eu cumprir os dez anos e posso lhe dizer que 10 anos é um tempo muito bom para aprender a programar, mas existe muitos impecilios no decorrer mesmo assim não pare! Existe altos e baixo na nossa vida que por varios motivos isso atrapalha de alguma maneira no seu aprendizado, como ja disse não desista mesmo que dê um tempo curto ou longo. Já li em varios lugares que não lembro onde, mas basta uma pesquisada que você acha, dizia que para um bom programador ele precisa de ferias, momentos de discontração e lazer, com isso havia maior produtividade enfim…chega de tanto escrever rsss. Passei para deixar uma marca registrada de mais um anos estudando e programando. Obs: estou apenas estudando JAVA meu foco está em boas praticas de programaçao, como um arquiteto de software colocando tudo perfeitamente em seu lugar para que tudo funcione de maneira sincronizada e rapida sem ao menos ocupar memoria desnecessaria. Registrado fui!

    2. Se passou quase 4 anos. Tenho 18 anos. Não aprendi a programar.
       
      Bem, sei brincar um pouco, mas nada sério, não tenho hábitos de estudar todos os dias, creio que estou perto. Estou trabalhando em outros aspectos essenciais, como dormir bem, se atrasar menos, gastar menos tempo navegando na internet, meditando todos os dias, optimizar meu tempo em geral, aprender a aprender novamente… Estou apenas abrindo espaço para ser um otimo profisional na área, primeiramente sendo uma boa pessoa e estudante.
       
      Sempre fui muito ansioso, isso me atrapalhou muito nessa jornada além de outros problemas, meus pais só me apoiaram em ir na escola, essa escola pública, com alunos ruins, que devo de distanciar ao máximo possível, vieram de famílias como a minha, não dão importância ao auto-aperfeiçoamento. Tive que aprender e construir tudo sozinho, por conta própria, o que me deixa mais orgulhoso, mesmo das minhas menores e ordinárias realizações (que eu sei que muitos não conseguem).
       
      Consegui ficar proficiente em inglês, venho aprendendo muito sobre ciências cognitivas (descobri que, amo Inteligência artificial, e este é o futuro, possivelmente nós levará a uma singularidade tecnológica, com todo os avanços dos últimos tempos tudo parece mais próximo e possível), desenvolvimento pessoal e experiência de minha mente e subconsciente por introspecção, muitos testes a anotações: É difícil criar bons hábitos, principalmente de autodidatismo, é uma habilidade crucial para o sucesso em quase qualquer carreira.
       
      Quando falamos sobre aprender programação, estamos aprendendo uma habilidade que exige concentração, foco e um habito diário.
       
      Não é tão fácil e natural quanto aprender uma língua humana por exemplo. Me sinto orgulhoso por ter conseguido aprender Inglês, estou focando em outras línguas também, provavelmente vou continuar com o alemão, talvez irei fazer universidade lá.
       
      Em um mundo que cada vez mais estamos cheios de distração, como Cal Newport diz em seu livro: “Deep Work: Rules for Focused Success in a Distracted World”, aprender a focar 100% em uma tarefa por generosos períodos de tempo sem distrações e se sentir bem com isso é a chave ao sucesso na economia de hoje, baseada na cognição humana.
       
      Nossa mente se acostumou a ficar distraída o dia todo, muitos de nós só fazem coisas pois temos pressão sobre nós através das instituições de ensino e prazos de entrega. Nos rendemos apenas quando o Mostro do Pânico aparece, como o blog WaitButWhy disse em de seus famosos artigos sobre a procrastinação.

      Estou usando meu proprio computador, meu próprio smartphone Redmi 2 PRO do meu proprio dinheiro do meu estagiozinho kkkk! Mais 6 anos, espero que eu já seja independente e já saiba programar bem :D

      ——————————————————————————-

      It have been 4 years since I wrote that comment. I’m 18 years old. I didn’t learn how to code.

      Well, I know how to play around, but nothing so serious, I don’t have habits of studying it everyday, I believe that I’m near of doing it. I’m working on other essential aspects like sleeping well, getting less late in places, wasting less time surfing the web, meditating everyday, optimizing in general my time, learning how to learn again… I’m just laying down the basis for being a great professional in the field, firstly by becoming a good person and student.

      I was always too anxious, it was a trouble in this journey besides other minor problems, my parents only supported me to go to the school, this crappy public school with bad pupils – that I have to keep as much distance as possible from them, all pupils from families just like mine, who doesn’t give importance to self-actualisation. I had to learn everything by my own, what makes me kind of proud even of the most mudane realisations (which I know, that few are able to achieve).

      I managed to get proeficient in English, I have been learning a lot about cognitive cience (I discovered that I love Artificial Inteligence, this gonna make the future, and probabely lead us to the Technological Singularity, considering all the cutting edge technologies, everything seems more plausible and near), personal development and experience with my mind and my subconciouss throughout introspection, a lot of examination and notes: It’s hard to build good habits, especially auto-didactism, it’s a crucial hability for the success in almost any carrer.

      When we talk about coding, we are talking about an ability that demands concentration, focus and a daily habit.

      For instance, It’s not as easy as learning a human language. I feel proud of myself because I succeded in learning English, I’m focusing in other languages too, It’s likely that I’ll stay with german, peharps I’ll attend to a university there.

      In a world which we being bombared with distractins, as Cal Newport pointed out in his book: “Deep Work: Rules for Focused Success in a Distracted World”, the ability to focus 100% in a task por prolonged periods of time without distractions and feeling okay with that is the key to the success in today’s economy which is based on human’s cognition.

      Our minds are used to be distracted all day, many of us do stuff only because we are forced by learning institutions and deadlines. We only get shit done when the Panic monster comes as the blog WaitButWhy said in one of his famous articles about procrastionation.

      I’m using my own computer, my own smartphon Redmi 2 Prime (brazilian edition), bought with my own money from my little internship hahah! More 6 years, I hope to become independent and know how to code well :D

      (This English version isn’t necessary a faithful translation of my original comment, I think that sometimes my English writing skills are better than my Portuguese ones, which would be really good if I didn’t spend almost all of my spread time using English, even thought I still live in Brazil… I’d already stop to use portuguese totally if I were in another country).

  72. É incrível como eu leio isso e me sinto um noob (na verdade sou), eu estava até agora fazendo justamente o contrário do que o post fala, estava confiando nesses livros de “Faça Você Mesmo”, mas valeu a dica, gostei muito do blog.

  73. Hey excellent blog! Does running a blog like this require a great deal of
    work? I have very little understanding of programming but I was hoping to start
    my own blog in the near future. Anyhow, should you have any ideas or techniques for new blog owners please share.

    I know this is off subject but I simply wanted to ask.
    Appreciate it!

  74. Hello there, just became alert to your blog
    through Google, and found that it’s really informative. I’m gonna watch out for brussels.
    I will appreciate if you continue this in future.
    A lot of people will be benefited from your writing.
    Cheers!

  75. Thank you a bunch for sharing this with all folks you actually know what
    you’re speaking about! Bookmarked. Please additionally discuss with my web site =). We may have a hyperlink exchange agreement among us

  76. Olha, sinceramente. Eu vi uma excelente oportunidade numa empresa e ia começar a estudar Python ou Ruby pra trabalhar. OPORTUNIDADE de crescimento GIGANTESCO! Então comecei a pesquisar “python ou ruby” e analisando qual seria a melhor linguagem para estudar primeiro.
    Este artigo mudou completamente minha visão. Estou determinado a aprender as duas. E deixar de ser preguiçoso e estudar mais meu inglês. rs
    Excelente post! Fica com Deus.

  77. Somebody necessarily lend a hand to make significantly posts I might state. This is the very first time I frequented your website page and thus far? I surprised with the analysis you made to make this actual publish incredible. Magnificent job! bfgckfafffeb

    1. deve ser bem parecido com aprender uma lingua ( ou outra coisa em geral). O caminho a percorrer é muito interessante mesmo e quando olhar o resultado final e ver que foi obra de seus esforços deve ser uma alegria e tanto.

  78. PHP, Python ou Ruby devo aprender primeiro? Na verdade seria para trabalhar com back-end em sites. Já sei usar corretamente HTML e CSS mas não sei como começar nas configurações de client-server.

    Abraço!

  79. ótimo texto, eu as vezes vejo algumas pessoas e as chamo de “Cavalos Paraguaios”, começam com tanta voracidade, mas logo desistem, “A estrela que muito brilha se apaga logo”.
    Por outro lado, pode ser frustante esperar tanto tempo pra ter um resultado, eu gosto de oferecer uma amostra grátis, estou contribuindo nesse projeto onde você faz seu primeiro programa em 3 minutos: http://www.desafio3minutos.com.br . Você com certeza vai conseguir fazer um cadastro em 3 minutos, mas programação é muito mais profundo, tem que ser paixão, todo dia, algo que te faça sentir desafiado e vencedor, agora se você tentou fazer algo e desistiu no primeiro tropeço… isso não é pra você, não gaste 10 anos ou 3 minutos nisso :)… como diz o Steve “Isto é para os loucos, os desajustados…”

  80. If you are interested in programming, finding a good tutorial to learn from is really important. https://hackr.io is a great place to find best online programming tutorials voted by programming community.
    Find a good tutorial and then practice, practice and practice:)

  81. WOWW… praticamente está chegando a 10 anos!!! (Como o tempo voa)

    Sou nova na área de programação, começarei o curso agora em Abril e me inscrevi no curso de JAVA, mas caí nessa página por estar em busca de qual linguagem começar primeiro e confesso que ainda estou muito mas muito indecisa mesmo!
    Vejo diversas ofertas de trabalho pra JAVA, as vezes vejo mais pra JAVA do que para Desenvolvedor Web (pelo menos aqui onde moro na Espanha).
    E o que tenho lido em algumas páginas são: Comece por uma linguagem mais fácil e outras dizem para começar por uma mais difícil e assim as demais serão “mais fáceis”.
    Eu gostaria de trabalhar criando páginas, mas também criando jogos para celulares e vi que para isso o JAVA é o mais indicado. Espero me decidir logo! =(
    Que angustia!

  82. I see your page needs some fresh & unique content.
    Writing manually is time consuming, but there is solution for
    this hard task. Just search for: Miftolo’s tools rewriter

  83. Этой ночью наблюдал контент сети интернет, неожиданно к своему удивлению увидел восхитительный ресурс. А вот и он: ник . Для нас данный веб-сайт произвел незабываемое впечатление. До свидания!

  84. Volto daqui a 10 anos, mas deixo algumas promessas:

    1. Ter apreendido a programar
    2. Apreender inglês e me tornar fluente
    3. Ter ajudado pessoas a percorrer esse caminho

Leave a reply to Fabiano Cancel reply