Actualmente soy principalmente un programador de D y estoy buscando agregar otro lenguaje a mi caja de herramientas, preferiblemente uno que admita los trucos de metaprogramación que simplemente no se pueden hacer en un lenguaje compilado estáticamente como D.
He leído un poco sobre Lisp y me encantaría encontrar un lenguaje que permita algunas de las cosas interesantes que hace Lisp, pero sin la extraña sintaxis, etc. de Lisp. No quiero comenzar una guerra de idiomas, y estoy seguro de que tanto Ruby como Python tienen sus compensaciones, así que enumeraré lo que es importante para mí personalmente. Por favor, dígame si Ruby, Python o algún otro lenguaje sería mejor para mí.
Importante:
- Buena metaprogramación. Capacidad para crear clases, métodos, funciones, etc. en tiempo de ejecución. Preferiblemente, distinción mínima entre código y datos, estilo Lisp.
- Sintaxis agradable, limpia, sana y semántica intuitiva y coherente. Básicamente, un lenguaje moderno bien pensado y divertido de usar.
- Múltiples paradigmas. Ningún paradigma es adecuado para cada proyecto, ni siquiera para cada pequeño subproblema dentro de un proyecto.
- Un lenguaje interesante que realmente afecta la forma en que uno piensa sobre la programación.
Algo importante:
- Actuación. Sería bueno si el rendimiento fuera decente, pero cuando el rendimiento sea una prioridad real, usaré D en su lugar.
- Bien documentada.
No importante:
- Tamaño de la comunidad, disponibilidad de bibliotecas, etc. Ninguna de estas son características del idioma en sí y todas pueden cambiar muy rápidamente.
- Disponibilidad de trabajo. No soy un programador profesional a tiempo completo. Soy un estudiante de posgrado y la programación es tangencialmente relevante para mi investigación.
- Cualquier característica que esté diseñada principalmente con proyectos muy grandes en los que haya trabajado un millón de monos de código en mente.