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.

