In un primo momento ho pensato che la soluzione migliore fosse quella proposta da MegaAlchimista, ovvero approfondire un linguaggio di un framework noto; in realtà hai nominato dei Linguaggi che apprezzo e stimo in modo esponenziale per cui ti *sollecito* al loro studio e sperimentazione.
Ecco le principali caratteristiche, che approfondirò con piacere non appena avrai operato la scelta: occorre sempre ricordare che siamo in un forum e non abbiamo nè il tempo nè lo spazio per parlare e discutere in dettaglio di argomenti che richiedono interi trimestri universitari...


Haskell è un linguaggio di programmazione general purpose con paradigma funzionale ma che supporta anche i più tradizionali modelli procedurali; è focalizzato sulla creazione di software statisticamente tipizzati, anche se è possibile scrivere codice tipizzato dinamicamente.
E' un linguaggio puro, lazy, well-typed, non orientato agli oggetti ma expressions-oriented, che consente e necessita di un livello di *astrazione* non raggiungibile con i tradizionali linguaggi di programmazione; differisce da quest'ultimi per numerosi aspetti fondamentali che vanno dalle 'variabili', dall'interattività dell'indentazione, dall'utilizzo di certe keywords come ad esempio 'return', dall'assenza di cicli 'for' e 'while', ovvero modelli con significato simile nei vari linguaggi imperativi tradizionali.
E' stato sviluppato da parte di un gruppo di ricercatori e pubblicato per la prima volta nel 1990, e da allora ha subito 5 revisioni (l'ultima del 1998).
E' uno strumento per la verifica formale del software, in ambiti in cui non è ammesso un fallimento (tipicamente sistemi hard-real time), per cui 'può' (purtroppo) non essere approfondito per coloro che si occupano di software development in ambito mainstream.

Diverso è il discorso per Ada, un linguaggio di programmazione imperativo e object-oriented, sviluppato per motivi particolari da un consorzio statunitense nei lontani anni '70 per il Dipartimento della Difesa; tralasciando gli aspetti storici che hanno portato alla realizzazione di tale linguaggio, si tratta di un linguaggio sicuramente potente, robusto, sicuro, ideale per lo sviluppo di applicazioni conformi agli standard richiesti in ambiti tempocritici militari, industriali, TLC e sistemi finanziari, oltre che nell'avionica; è considerato uno dei migliori linguaggi di programmazione mai progettati, come dimostrato dall'enorme diffusione nei settori precedentemente menzionati, di cui esempi sono enumerati http://www.adahome.com/Ammo/Success/]in questo sito[/URL].


In sostanza: considerando che le ore a disposizione presumo non siano molte, che provieni dal mondo C/Java e simili, che Haskell ha una curva di apprendimento molto ripida, forse ti conviene studiare Ada per poi lasciare lo studio di Haskell, ML, Miranda e simili in un secondo momento, magari dopo studio della teoria dei linguaggi formali.