La Paradoja de Python (The Python Paradox)
September 30, 2005 by Fernando Duran
(Traducción del artÃculo The Python Paradox de Paul Graham)
Agosto 2004
En una reciente charla dije algo que molestó a mucha gente: que puedes conseguir programadores más listos para trabajar en un proyecto Python que los que podrÃas conseguir para trabajar en un proyecto en Java.
No quise decir con esto que los programadores de Java son tontos. Quise decir que los programadores de Python son listos. Aprender un nuevo lenguaje tiene mucho trabajo. Y la gente no aprende Python porque les conseguirá un trabajo; lo aprenden porque verdaderamente les gusta programar y no están satisfechos con los lenguajes que ya conocen.
Lo que les hace exactamente la clase de programador que las compañÃas deberÃan querer contratar. De ahà que, a falta de un mejor nombre lo que llamaré la paradoja de Python: si una compañÃa elige escribir su software en un lenguaje relativamente esotérico serán capaces de contratar a mejores programadores, porque atraerán solamente aquellos que se preocuparon lo suficiente de aprenderlo. Y para los programadores la paradoja es incluso más pronunciada: el lenguaje que aprender, si quieres un buen trabajo, es un lenguaje que la gente no aprende simplemente para conseguir un trabajo.
Sólo unas pocas empresas han sido lo suficientemente listas para darse cuenta de esto hasta ahora. Pero hay una especie de selección en marcha aquà también: ellas son exactamente las compañÃas para las que los programadores les gustarÃa más trabajar. Google por ejemplo. Cuando anuncian puestos de programación Java también quieren experiencia con Python.
Un amigo mÃo que conoce casi todos los lenguajes que se usan ampliamente usa Python para la mayorÃa de sus proyectos. El dice que la razón principal es que le gusta cómo se ve el código fuente. Eso puede parecer un motivo frÃvolo para elegir un lenguaje en vez de otro. Pero no es tan frÃvolo como suena: cuando programas pasas más tiempo leyendo código que escribiéndolo. Mueves pedazos de código por ahà de la misma forma que un escultor hace pedazos de arcilla. Asà que un lenguaje que hace el código fuente feo vuelve loco a un programador exigente, como una arcilla llena de grumos lo harÃa con un escultor.
A la mención de código fuente feo la gente pensará por supuesto en Perl. Pero la fealdad superficial de Perl no es el tipo al que me refiero. La fealdad verdadera no es una sintaxis que se ve difÃcil, sino tener que construir programa a partir de los conceptos equivocados. Perl puede parecer como un personaje de dibujos animados maldiciendo, pero hay casos en los que sobrepasa a Python conceptualmente.
Hasta ahora, de todas formas. Ambos lenguajes son objetivos en movimiento. Pero ellos comparten, junto con Ruby (e Icon, y Joy, y J, y Lisp, y Smalltalk) el hecho de que son creados y usados por gente a la que de verdad le importa la programación. Y ellos tienden a ser los que programan bien.

