15 de julio de 2008

La venganza de los nerds (7 de 11)

Donde los lenguajes cuentan


Entonces supongamos que Lisp representa un tipo de límite hacia el cual los lenguajes predominantes se están acercando asintóticamente-- ¿quiere eso decir que realmente deberías de usarlo para escribir software? ¿Cuánto pierdes al usar un lenguaje menos potente? ¿No es más sabio, a veces, no estar al mero borde de la innovación? ¿Y no es la popularidad hasta cierto grado justificación de sí misma? ¿No estará el jefe con-peinado-puntiagudo en lo cierto, por ejemplo, en querer usar un lenguaje para el cual puede fácilmente contratar programadores?

Existen, por supuesto, proyectos donde la elección del lenguaje de programación no importa mucho. Como regla, mientras más exigente sea la aplicación, más fuerza obtendrás de usar un lenguaje potente. Pero muchos proyectos no son para nada exigentes. La mayor parte de la programación consiste probablemente de escribir pequeños programas adesivos, y para programas adesivos puedes usar cualquier lenguaje con el que ya estés familiarizado y que tenga buenas bibliotecas para lo que sea que necesites hacer. Si sólo necesitas pasar datos de una aplicación de Windows a otra, claro, usa Visual Basic.

Puedes escribir pequeños programas adesivos en Lisp también (Yo lo uso como una calculadora de escritorio), pero el mayor triunfo para lenguajes como Lisp está al otro extremo del espectro, donde necesitas escribir programas sofisticados para resolver problemas muy duros frente a una competencia feroz. Un buen ejemplo es el programa buscador de tarifas aereas que ITA Software le vende a Orbitz. Estos tipos entraron al mercado previamente dominado por dos afianzados y grandes competidores, Travelocity y Expedia, y parece que los acaban de humillar tecnológicamente.

El núcleo de la aplicación de ITA es un programa de Lisp común de 200,000 líneas que busca muchos órdenes de magnitud más posibilidades que sus competidores, quienes aparentemente siguen usando técnicas de programación de la era de los mainframes. (Aun cuando ITA también está en un sentido usando un lenguaje de programación de la era de los mainframes.) Nunca he visto ni una línea del código de ITA, pero según uno de sus principales hackers usan un montón de macros, y no estoy sorprendido de oirlo.

Fuerzas Centrípetas


No estoy diciéndo que no hay un costo en usar tecnologías poco comunes. El jefe con-cabello-puntiagudo no está completamente errado al preocuparse por esto. Pero debido a que no entiende los riesgos, tiende a magnificarlos.

Puedo pensar en tres problemas que podrían surgir de usar lenguajes menos comunes. Tus programas podrían no funcionar bien con programas escritos en otros lenguajes. Podrías tener menos bibliotecas a tu disposición. Y podrías tener problemas contratando a programadores.

1 comentario:

Anónimo dijo...

hola, tú vendes pedales? me interesan algunos, cómo puedo contactarte? mi mail es alvaradocesar@hotmail.com