He llegado a un punto de inflexión y me gustaría algo de orientación.
Llevo programando bastante tiempo, sobre todo en C, C++ y lenguajes parecidos (Java, PHP...) Mi experiencia es sobre todo en programación de videojuegos, OpenGL, algo de GLSL y CUDA, etc. Todo C-like y como mucho lenguajes de script. También he tocado bastante ensamblador x86 (en su día le daba a la ingeniería inversa.)
En la uni hemos tocado mucho (demasiado) Java y he acabado hartito. Al parecer ahora vamos a ver Lisp. Programación funcional "pura" no he tocado a fondo excepto especificaciones de TADs. ¿Por dónde empiezo? Mi problema es sobre todo que no le veo ahora mismo una utilidad práctica directa y programar quicksorts y factoriales en 8 lenguajes me aburre un poco. ¿Cómo le puedo sacar jugo?
Por otro lado: he probado Python y no me acaba de convencer. Nada que ofrecer que no me de cualquier otro lenguaje de script. Además me resultó un infierno de librerías en Windows7 para usar con OpenGL y bastante pesado (digan lo que digan.)
Últimamente estoy tocando JavaScript por Node.js y me ha molado. Me gusta trabajar con closures y prototipos y Node está pensado bastante bien, pero sigue siendo más o menos lo mismo y me gustaría dar una vuelta de tuerca. Scala no lo conocía y por el hilo de "empezando a programar" me he interesado y lo poco que he visto está cojonudo. ¿Algún libro recomendado? Tengo acceso a bibliotecas por la VPN de la universiad así que incluso bibliografía que no sea PDF me interesa.
Lo que me gustaría sobre todo es ampliar mis horizontes. ¿Alguna recomendación?