O PARADOXO DO PYTHON
OriginalAgosto de 2004
Em uma palestra recente, eu disse algo que incomodou muita gente: que você poderia ter programadores mais inteligentes trabalhando em um projeto Python do que em um projeto Java.
Não quis dizer com isso que programadores Java são burros. Quis dizer que programadores Python são inteligentes. Dá muito trabalho aprender uma nova linguagem de programação. E as pessoas não aprendem Python porque isso vai lhes dar um emprego; elas aprendem porque realmente gostam de programar e não estão satisfeitas com as linguagens que já conhecem.
O que os torna exatamente o tipo de programador que as empresas deveriam querer contratar. Daí o que, por falta de um nome melhor, chamarei de paradoxo Python: se uma empresa escolher escrever seu software em uma linguagem comparativamente esotérica, ela poderá contratar melhores programadores, porque atrairá apenas aqueles que se importaram o suficiente para aprendê-la. E para os programadores o paradoxo é ainda mais pronunciado: a linguagem a aprender, se você quer conseguir um bom emprego, é uma linguagem que as pessoas não aprendem apenas para conseguir um emprego.
Apenas algumas empresas foram inteligentes o suficiente para perceber isso até agora. Mas há um tipo de seleção acontecendo aqui também: elas são exatamente as empresas para as quais os programadores mais gostariam de trabalhar. Google, por exemplo. Quando eles anunciam empregos de programação Java, eles também querem experiência em Python.
Um amigo meu que conhece quase todas as linguagens amplamente usadas usa Python para a maioria de seus projetos. Ele diz que o principal motivo é que ele gosta da aparência do código-fonte. Isso pode parecer um motivo frívolo para escolher uma linguagem em vez de outra. Mas não é tão frívolo quanto parece: quando você programa, você gasta mais tempo lendo código do que escrevendo. Você empurra pedaços de código-fonte da mesma forma que um escultor faz pedaços de argila. Então, uma linguagem que torna o código-fonte feio é enlouquecedora para um programador exigente, assim como argila cheia de caroços seria para um escultor.
Ao mencionar código-fonte feio, as pessoas, é claro, pensarão em Perl. Mas a feiura superficial de Perl não é o tipo que quero dizer. A verdadeira feiura não é a sintaxe de aparência áspera, mas ter que construir programas a partir de conceitos errados. Perl pode parecer um personagem de desenho animado xingando, mas há casos em que ele supera o Python conceitualmente.
Até agora, de qualquer forma. Ambas as linguagens são, é claro, alvos móveis . Mas elas compartilham, junto com Ruby (e Icon, e Joy, e J, e Lisp, e Smalltalk) o fato de que elas são criadas por, e usadas por, pessoas que realmente se importam com programação. E essas tendem a ser as que fazem isso bem.