Le questioni di praticità sono altamente soggettive, quindi dirò semplicemente che l'apprendimento di paradigmi linguistici diversi servirà solo a renderti un programmatore migliore. Cosa c'è di più pratico di quello?
Funzionale, Haskell - So che hai detto che non volevi, ma dovresti davvero riconsiderare. Hai ottenuto un'esposizione funzionale con Clojure e persino Python, ma non l'hai sperimentata al massimo senza Haskell. Se sei davvero contro Haskell, allora i buoni compromessi sono ML o OCaml.
Dichiarativo, Datalog - Molte persone raccomanderebbero Prolog in questo slot, ma penso che Datalog sia un esempio più chiaro di un linguaggio dichiarativo.
Array, J - Ho appena scoperto J, ma trovo che sia un linguaggio straordinario. Trasformerà la tua mente in un pretzel. Ringrazierai J per questo.
Stack, Factor / Forth - Il fattore è molto potente e ho intenzione di scavare al più presto. Forth è il nonno delle lingue Stack e, come bonus aggiuntivo, è semplice implementare te stesso. C'è qualcosa da dire sull'apprendimento attraverso l'implementazione.
Flusso di dati, Oz - Penso che l'influenza di Oz sia in crescita e continuerà a crescere solo in futuro.
Basato su prototipi, JavaScript / Io / Self - Il sé è il nonno e ha una grande influenza su ogni linguaggio basato sui prototipi. Questo non è lo stesso di OOP di classe e non dovrebbe essere trattato come tale. Molte persone imparano un linguaggio prototipo e creano un sistema di classe ad hoc, ma se il tuo obiettivo è espandere la tua mente, penso che sia un errore. Usa la lingua al massimo delle sue capacità. Leggi Organizzare programmi senza lezioni per idee.
Sistema esperto, CLIP - Lo consiglio sempre. Se conosci Prolog, avrai probabilmente il sopravvento per essere veloce, ma è una lingua molto diversa.
Frink - Frink è un linguaggio generico, ma è famoso per il suo sistema di conversioni di unità. Trovo che questa lingua sia molto stimolante nella sua spinta incessante per essere la migliore in ciò che fa. Inoltre ... è davvero divertente!
Tipi funzionali + opzionali, Qi - Dici di avere esperienza con alcuni sistemi di tipi, ma hai esperienza con sistemi di tipo "skinnable *? Nessuno ha ... ma dovrebbero. Qi è come Lisp in molti modi, ma è tipo di sistema ti lascerà a bocca aperta.
Attori + Tolleranza agli errori, Erlang - Il modello di processo di Erlang ottiene molto rumore, ma i suoi meccanismi di tolleranza agli errori e scambio di codice a caldo stanno cambiando il gioco. Non imparerai molto su FP che non impareresti con Clojure, ma le sue funzionalità FT ti faranno domandare perché più lingue non riescano a farlo bene.
Godere!