O PARADOXO DO PYTHON
OriginalAgosto de 2004
Em uma palestra recente, eu disse algo que incomodou muitas pessoas: que você poderia conseguir programadores mais inteligentes para trabalhar em um projeto Python do que em um projeto Java.
Eu não quis dizer com isso que os programadores Java são burros. Eu quis dizer que os programadores Python são inteligentes. É muito trabalho aprender uma nova linguagem de programação. E as pessoas não aprendem Python porque isso lhes dará um emprego; elas aprendem porque gostam genuinamente de programar e não estão satisfeitas com as linguagens que já conhecem.
O que as torna exatamente o tipo de programadores que as empresas deveriam querer contratar. Daí o que, por falta de um nome melhor, chamarei de paradoxo do 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 ser aprendida, se você quiser 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á uma espécie de seleção acontecendo aqui também: elas são exatamente as empresas para as quais os programadores mais gostariam de trabalhar. O Google, por exemplo. Quando eles anunciam vagas de programação Java, eles também querem experiência em Python.
Um amigo meu que conhece quase todas as linguagens amplamente utilizadas usa Python para a maioria de seus projetos. Ele diz que a principal razão é que ele gosta da aparência do código-fonte. Isso pode parecer um motivo fútil para escolher uma linguagem em detrimento de outra. Mas não é tão fútil quanto parece: quando você programa, você gasta mais tempo lendo código do que escrevendo. Você empurra blocos de código-fonte da mesma forma que um escultor faz com blocos de argila. Então uma linguagem que torna o código-fonte feio é enlouquecedora para um programador exigente, assim como a argila cheia de nós seria para um escultor.
Ao mencionar código-fonte feio, as pessoas obviamente pensarão no Perl. Mas a feiura superficial do Perl não é o tipo a que me refiro. A verdadeira feiura não é a sintaxe áspera, mas ter que construir programas a partir dos conceitos errados. O Perl pode parecer um personagem de desenho animado xingando, mas há casos em que ele supera conceitualmente o Python.
Até agora, de qualquer forma. Ambas as linguagens, é claro, são alvos em movimento. Mas elas compartilham, junto com o Ruby (e o Icon, e o Joy, e o J, e o Lisp, e o Smalltalk), o fato de serem criadas e usadas por pessoas que realmente se importam com a programação. E essas tendem a ser as que o fazem bem.