spyer

tudo o que é publicado aqui vai para www.naozero.com.br

Se aprende a programar programando

Meu último post foi sobre o desejo antigo de aprender a programar - ou, pelo menos, entender um pouquinho do assunto.

Em função dele, recebi um comentário - abaixo - que, além de informativo e bem escrito, vem recheado de vivência.

Obrigado a quem quer que seja, porque não assinou o comentário. Fiquei muito contente com a sua atenção.

<em>Juliano, Parece que você quer um livro de divulgação científica para ciência da computação. Eu nunca pensei nisso, mas faz bastante sentido. Falta algo como um “Cosmos” para ciência da computação. É possível entender a evolução pelos livros do Gould e Dawkins, mas o Donald Knuth nunca fez uma versão de “The Art of Computer Programming” para leigos. Bem, eu de qualquer forma, se o seu objetivo é a filosofia, talvez aprender a programar seja realmente trabalho demais, mas você vai precisar fazer isso algumas vezes de verdade (precisa usar, ou você perde). Para entender de verdade, e ter vivência, é uma daquelas coisas que leva muitos e muitos anos. Este post clássico dá um caminho para aprender “em apenas 10 anos”: http://norvig.com/21-days.html O Eric Raymond (Open Source Software) tem vários livros/artigos interessantes sobre o assunto. Uma das melhores leituras, para ficar navegando e absorver, por osmose, a cultura, é o Jargon File: http://catb.org/jargon/html/ Mas talvez as próprias explicações exijam um pouco de conhecimento prévio de programação e história da computação. Eu não sei dizer, realmente. Outro interessante, sobre a filosofia de um subconjunto da programação é o The Art of Unix Programming (citação do livro do Donald Knuth, que eu mencionei acima), que fala sobre a filosofia e princípios do Unix: http://catb.org/esr/writings/taoup/html/ O interessante é que ele mostra o tipo de coisa com que programadores experientes se preocupam. Mas acho que para aprender a programar talvez o melhor seja esta alternativa: http://pensarpython.incubadora.fapesp.br/portal/livro (mas parece fora neste momento), ou a versão original, em inglês: http://www.greenteapress.com/thinkpython/thinkCSpy/html/ A idéia é ensinar a pensar como um cientista da computação ao invés de ensinar o caminho a seguir. Eu não sei se eu escolheria Ruby on Rails para aprender a programar. O motivo é que RoR é um framework para fazer aplicativos Web: um dos melhores que existem, baseado em uma ótima linguagem. Mas isso é apenas uma parte da programação. De qualquer forma, o problema de programação é que boa parte dela é a forma de pensar, a intuição e isso vem da experiência, e não diretamente das técnicas aprendidas. Você aprende a programar programando como você aprende Zen meditando. Boa sorte!</em>

Comments