SI LISP ES TAN GRANDIOSO


Mayo 2003

Si Lisp es tan grandioso, ¿por qué no lo usa más gente? Esta pregunta me la hizo un estudiante de entre la audiencia en una charla que di recientemente. No fue la primera vez, por cierto.

En los lenguajes, como en tantas cosas, no hay mucha correlación entre popularidad y calidad. ¿Por qué John Grisham (El Rey de los Pleitos, posición en ventas, 44) vende más que Jane Austen (Orgullo y Prejuicio posición en ventas, 6191)? ¿Afirmaría Grisham que es porque él es mejor escritor?

Esta es la primera frase de Orgullo y Prejuicio:

Es una verdad universalmente reconocida que un hombre soltero poseedor de una gran fortuna, necesita una esposa.

"Es una verdad universalmente reconocida?" Largas palabras para la primera frase de una historia de amor.

Al igual que Jane Austen, Lisp parece difícil. Su sintaxis, o la falta de sintaxis, hace que luzca completamente diferente a los lenguajes a los que la mayoría de la gente está acostumbrada. Antes de aprender Lisp, también le tenía miedo. Recientemente me encontré un bloc de notas de 1983 en el que había escrito:

Supongo que debería aprender Lisp, pero parece tan extraño.

Afortunadamente, tenía 19 años en su momento y no era muy reacio a aprender cosas nuevas. Era tan ignorante que aprender casi cualquier cosa significaba aprender cosas nuevas.

Las personas a las que les asusta Lisp dan otras razones para no usarlo. La excusa común, cuando C era el lenguaje por defecto, era que Lisp era demasiado lento. Ahora que los dialectos de Lisp están entre los lenguajes más rápidos disponibles, esa excusa ha desaparecido. Ahora la excusa común es abiertamente circular [a]: que otros lenguajes son más populares.

(Cuidado con ese razonamiento. Te lleva a Windows.)

La popularidad siempre se perpetúa a sí misma, pero es especialmente cierto en los lenguajes de programación. Se escriben más bibliotecas para los lenguajes más populares, lo que los hace aún más populares. Los programas a menudo tienen que trabajar con programas existentes, y esto es más fácil si están escritos en el mismo lenguaje, por lo que los lenguajes se extienden de un programa a otro como un virus. Y los gerentes prefieren lenguajes populares, porque les da más poder sobre los desarrolladores, que pueden ser reemplazados más fácilmente.

En efecto, si los lenguajes de programación fueran todos más o menos equivalentes, habría muy poca justificación para usar cualquiera que no fuera el más popular. Pero no todos son equivalentes, y por mucho. Y es por eso que lenguajes menos populares, al igual que las novelas de Jane Austen, continúan sobreviviendo a pesar de todo. Cuando todos los demás estén leyendo la última novela de John Grisham, en su lugar siempre habrá algunas personas leyendo a Jane Austen.






Traducido de If Lisp Is So Great por Paul Graham.
Traducción: Armando Alvarez.


 

Notas del Traductor


[a] Una definición circular es una definición que supone una comprensión anterior del término que es definido. Por ejemplo, podemos definir el "roble" como un árbol que crece a partir de una bellota, y después definimos la "bellota" como la nuez producida por el roble. Para alguien que no sepa qué árboles son robles o qué nueces son bellotas, la definición no es de utilidad. [Fuente: Wikipedia. Ver]