Loading...

O PARADOXO DO PYTHON

Original

Agosto 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.

Não quis dizer com isso que programadores Java são burros. Quis dizer que programadores Python são inteligentes. É muito trabalho aprender uma nova linguagem de programação. E as pessoas não aprendem Python porque isso as levará a um emprego; elas aprendem porque realmente gostam 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 opta por escrever seu software em uma linguagem comparativamente esotérica, ela poderá contratar programadores melhores, porque atrairá apenas aqueles que se importaram o suficiente para aprendê-la. E para programadores, o paradoxo é ainda mais pronunciado: a linguagem a aprender, 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 em Java, 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 uma razão frívola para escolher uma linguagem em vez de outra. Mas não é tão frívola quanto parece: quando você programa, passa 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. Portanto, uma linguagem que torna o código-fonte feio é irritante para um programador exigente, assim como argila cheia de grumos 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 é uma sintaxe de aparência dura, mas ter que construir programas a partir dos conceitos errados. Perl pode parecer um personagem de desenho animado xingando, mas há casos em que ele supera Python conceitualmente.

Até agora, de qualquer forma. Ambas as linguagens são, é claro, alvos em movimento. Mas elas compartilham, junto com Ruby (e Icon, e Joy, e J, e Lisp, e Smalltalk) o fato de que 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.