LA PARADOJA PYTHON


Agosto 2004

En una reciente charla dije algo que molestó a mucha gente: que se podían conseguir programadores más inteligentes para trabajar en un proyecto de Python de lo que se podría para trabajar en uno de Java.

No quise decir con esto que los programadores de Java son tontos. Quise decir que los programadores de Python son inteligentes. Es mucho trabajo aprender un nuevo lenguaje de programación. Y la gente no aprende Python porque les vaya a conseguir un trabajo; sino que lo aprenden porque realmente les gusta programar y no están satisfechos con los lenguajes que ya conocen.

Lo que los hace exactamente el tipo de programadores que las empresas deberían querer contratar. Por lo que, a falta de mejor nombre, lo llamo la paradoja Python: si una compañía decide escribir su software en un lenguaje relativamente esotérico, serán capaces de contratar a mejores programadores, ya que atraerán sólo a aquellos que se preocuparon lo suficiente para aprenderlo. Y para los programadores la paradoja es aún más pronunciada: el lenguaje a aprender, si quieres conseguir un buen trabajo, es un lenguaje que la gente no aprende solo para conseguir un trabajo.

Hasta ahora, sólo unas pocas compañías han sido lo suficientemente inteligentes para darse cuenta de esto. Pero aquí también esta pasando una especie de selección: son exactamente las compañías donde a los programadores más les gustaría trabajar. Google, por ejemplo. Cuando anuncian puestos de trabajo programando Java, también quieren experiencia en Python.

Un amigo mío que conoce casi todos los lenguajes más utilizados utiliza Python para la mayoría de sus proyectos. Dice que la razón principal es que le gusta la forma como luce el código fuente. Esto puede parecer una razón frívola para elegir un lenguaje sobre otro. Pero no es tan frívolo como parece: cuando se programa, pasas más tiempo leyendo código que escribiéndolo. Amoldas las gotas de código fuente de la misma manera en que un escultor amolda las gotas de barro. Por lo tanto un lenguaje que afea el código fuente es desesperante para un programador exigente, tanto como la arcilla llena de bultos lo es para un escultor.

Al mencionar código fuente feo, la gente, por supuesto, pensara en Perl. Pero la fealdad superficial de Perl no es del tipo al que me refiero. La fealdad real, no es sintaxis de aspecto áspero, sino tener que construir programas de los conceptos equivocados. Perl puede parecer un personaje de dibujos animados diciendo groserías, pero hay casos en los que supera a Python conceptualmente.

Como sea, sólo hasta el momento. Ambos lenguajes son, por supuesto, objetivos móviles. Pero que comparten, junto con Ruby (e Icon, Joy, J, Lisp y Smalltalk) el hecho de ser creados por, y utilizados por, personas que realmente se preocupan por la programación. Y son ellos quienes tienden a hacerlo bien.





Traducido de The Phyton Paradox por Paul Graham. Traducción: Armando Alvarez.