Una resolución personal inquebrantable
Ya antes he dicho que estoy aprendiendo (de nuevo) Lisp. Este es un lenguaje funcional, y simplemente es el mejor lenguaje de programación. ¿Por qué? Hay varios libros que en algo así como 300 páginas lo explican, pero en resumen, como en uno de ellos se dice, Lisp nos hace mejores programadores. Si algo nos mejora, mejor.
La razón particular por la que estoy estudiándolo, es porque me va a permitir hacer rápidamente grandes aplicaciones (si Ud. ha tenido tiempo de leer mis ciento y pico post anteriores habrá descubierto que tengo la propensión a emprender projectos infinitos que nunca termino), por lo que un lenguaje que me permita trabajar más rápidamente, puede ser beneficioso. Es decir, si yo tardo 8 horas en hacer una aplicación en C++ (lo que equivale según mi velocidad y forma de trabajar a unas 5 horas de trabajo en PHP, y a unas 20-25 horas de trabajo en assembler), calculo que una vez que aprenda Lisp lo suficiente podré hacer la misma aplicación en un par de horas. Paul Graham explica esto de una forma excelente, poniendo como ejemplo el software de manejo de tiendas virtuales que desarrolló, en su compañía Viaweb (el mismo que posteriormente compró Yahoo y que ahora es Yahoo Store). Paul dice que cuando la competencia (las otras compañías que desarrollaban aplicaciones de tiendas virtuales) sacaban una nueva y revolucionaria característica (un feature) él podía emular ese feature en cuestión de horas. La competencia no lograba entender cómo lo hacía, pues a ellos les había costado quizás meses producir ese feature. El arma secreta de Paul era Lisp.
¿Pero para qué voy a dedicar mi tiempo a aprender un lenguaje que a otros les ha costado años en aprender? ¿Y qué demonios tiene eso que ver con programación de juegos? Siempre me sorprendió que el personaje central de Apocalipsis Ahora, el Coronel Walter E. Kurtz, aprendió paracaidismo a los 40 años (cosa asociada únicamente a los cadetes menores de 20), lo cual quizás confirma lo demente que estaba, pero también puede interpretarse como un indicio de una resolución personal inquebrantable. Ingrediente básico de todo programador que tenga meritos para llamarse así, y más aún de un programador de juegos decidido a diseñar y programar juegos que al menos a una persona en todo el mundo le produzca 15 minutos de alegría y diversión como a mi me la produjo Apple Panic por allá por 1982. Claro, los resultados deberían ser algo más satisfactorios que eso, si no, mis inversionistas quizás me manden para la jungla a acompañar al coronel Kurtz en sus sueños. Posibilidad, ahora que lo pienso, no tan desalentadora. Espero, al menos, tener una buena conexión a internet.