Vas a obtener una amplia gama de respuestas con este tipo de pregunta, pero voy a dar mi punto de vista. No voy a responder tu pregunta sobre la "próxima gran cosa" en lenguajes de programación, porque eso es simplemente una encuesta de opinión. En cambio, voy a describirte las características de algunos lenguajes populares (y maduros y bien soportados/documentados), para que puedas elegir uno para tus necesidades. Todos estos lenguajes han estado disponibles por al menos 10 años, por lo que demuestra que han resistido la prueba del tiempo. Vamos a dividir las necesidades de programación de un quant en diferentes segmentos: investigación y producción.
Cuando se realiza investigación (por ejemplo, probando una estrategia) muchas personas (incluyéndome a mí) prefieren usar un lenguaje interpretado de alto nivel para reducir el número de líneas de código entre una idea y los resultados de la prueba. Esto se debe a que, aunque estos lenguajes suelen ser mucho más lentos que sus contrapartes compiladas, el tiempo del programador es mucho más valioso que el tiempo de ejecución en esta etapa del juego. Sin embargo, vale la pena tener en cuenta que se está investigando mucho para hacer que estos lenguajes sean más rápidos, ¡porque son tan fáciles de usar! Estos lenguajes te permiten hacer cambios pequeños, corregir errores y visualizar resultados en muchas menos líneas de código que lenguajes como C/C++/Java. Casi siempre son compatibles con (y vienen con) una amplia variedad de bibliotecas específicas de dominio que amplían la funcionalidad del lenguaje.
Algunos de los lenguajes de investigación más populares son Matlab, Python (con numpy) y R. Alguien que nunca haya programado en su vida puede aprender los conceptos básicos de estos lenguajes y escribir algo de código simple en menos de un día. Una alternativa gratuita a Matlab es Octave, si no quieres gastar en el paquete comercial. Sin embargo, si eliges Octave, debes tener en cuenta que es casi el lenguaje de cálculo científico más lento disponible. Un lenguaje en el que debes mantener la vista en el futuro es un lenguaje llamado Julia. Este es un lenguaje interpretado (más o menos) que está diseñado de tal manera que logra un rendimiento similar al de C en una amplia variedad de tareas de cálculo numérico. (Hay muchos documentos interesantes por ahí si te interesa cómo lo hacen). Es un lenguaje muy joven que está cambiando rápidamente (y rompiendo la compatibilidad con versiones anteriores), por lo que puede ser mejor esperar a que madure un poco más antes de invertir tiempo/recursos en aprenderlo.
Para el código de producción, eliges un lenguaje basado en las demandas de tu aplicación. Si intentas hacer HFT y ejecutarlo desde un lenguaje interpretado, vas a tener un mal momento. Los lenguajes interpretados simplemente no son lo suficientemente rápidos (¡todavía!) para competir con los lenguajes compilados. Si buscas rendimiento puro, no vas a vencer a C o C++ (Fortran excluido de esta discusión porque realmente no soy fanático, y nunca animaría a nadie a usarlo). Estos lenguajes ofrecen al programador un control muy detallado sobre cada aspecto de la ejecución del programa, pero si no quieres el control, de todos modos tienes que lidiar con él. Si no estás escribiendo en ensamblador, C es tan "cercano al metal" como puedes llegar.
El primer paso atrás desde la familia C/C++ te llevará a Java y C#. La gran característica que notarás aquí es la "Recolección de Basura". Si no sabes qué es esto, no te preocupes por los detalles, pero te ahorra tener que administrar manualmente el consumo de memoria de tu programa. Dado que la idea de que no hay almuerzo gratis debería ser familiar para los lectores de este sitio, podrías suponer que esto conlleva un costo de rendimiento, que puede ser paralizante si dependes de un sistema en tiempo real. El recolector de basura se siente un poco como un hipo en medio de una ejecución por lo demás fluida. En la mayoría de las aplicaciones, no lo vas a notar. Hay una razón por la que la aviónica de los aviones de combate no se escribe en Java, y esta es la razón. Si sientes que tu sistema necesita el mismo nivel de control en tiempo real que un avión, no elijas lenguajes con Recolección de Basura.
A partir de aquí, empiezas a alejarte de los lenguajes que la gente parece utilizar actualmente para programación cuantitativa. Voy a hacer una declaración a favor de uno último que es muy importante, si no es para la ejecución de modelos. Scripts de Bash/Shell. Si estás en un sistema *nix, absolutamente necesitas estar familiarizado con estos para automatizar tareas de mantenimiento del sistema.