Las cuestiones de practicidad son muy subjetivas, por lo que simplemente diré que aprender diferentes paradigmas de lenguaje solo servirá para hacerte un mejor programador. ¿Qué es más práctico que eso?
Funcional, Haskell . Sé que dijiste que no querías hacerlo, pero realmente deberías reconsiderarlo. Has tenido una exposición funcional con Clojure e incluso Python, pero no la has experimentado al máximo sin Haskell. Si realmente estás en contra de Haskell, entonces los buenos compromisos son ML u OCaml.
Declarativo, Datalog : muchas personas recomendarían Prolog en este espacio, pero creo que Datalog es un ejemplo más claro de un lenguaje declarativo.
Array, J : acabo de descubrir J, pero creo que es un lenguaje sorprendente. Torcerá tu mente en un pretzel. Le agradecerás a J por eso.
Stack, Factor / Forth - Factor es muy poderoso y planeo investigarlo lo antes posible Forth es el abuelo de los idiomas de Stack y, como beneficio adicional, es fácil de implementar . Hay algo que decir sobre el aprendizaje a través de la implementación.
Flujo de datos, Oz : creo que la influencia de Oz está en alza y solo continuará creciendo en el futuro.
Basado en prototipos, JavaScript / Io / Self - Self es el abuelo y tiene una gran influencia en todos los lenguajes basados en prototipos. Esto no es lo mismo que la OOP basada en clases y no debe tratarse como tal. Muchas personas llegan a un lenguaje prototipo y crean un sistema de clase ad-hoc, pero si su objetivo es expandir su mente, entonces creo que es un error. Usa el lenguaje al máximo. Lea Organizar programas sin clases para obtener ideas.
Sistema experto, CLIPS : siempre recomiendo esto. Si conoce Prolog, es probable que tenga la ventaja en ponerse al día, pero es un lenguaje muy diferente.
Frink : Frink es un lenguaje de propósito general, pero es famoso por su sistema de conversiones de unidades. Creo que este lenguaje es muy inspirador en su incesante impulso para ser el mejor en lo que hace. Además ... ¡es realmente divertido!
Tipos funcionales + opcionales, Qi : usted dice que tiene experiencia con algunos sistemas de tipos, pero ¿tiene experiencia con sistemas de tipos "skinnable *? Nadie lo ha hecho ... pero deberían hacerlo. Qi es como Lisp en muchos aspectos, pero es tipo de sistema te dejará boquiabierto.
Actores + Tolerancia a fallas, Erlang : el modelo de proceso de Erlang recibe mucha atención, pero sus mecanismos de tolerancia a fallas e intercambio de código activo cambian el juego. No aprenderá mucho sobre FP que no aprendería con Clojure, pero sus características FT lo harán preguntarse por qué parece que no hay más idiomas que lo hagan bien.
¡Disfrutar!