Premiers pas avec Haskell

Depuis le début de ma carrière en tant qu'ingénieur calcul, j'ai souvent été confronté a des codes de calcul, des programmes de dépouillements écrits dans différents langages tels que FORTRAN, C#, C++ voir même VISUAL-BASIC.

Ces programmes, souvent bugués, mal documentés et dont les codes sources parfois mal maintenus, m'ont amené à réfléchir sur la programmation informatique dans le domaine scientifique. Je me suis particulièrement intéressé à certains langages de programmation assez peu connus (car non enseignés dans les cursus techniques) et pourtant très intéressant pour le calcul scientifique : Les langages fonctionnels.

Parmi ces langages, on peut citer:

Pour diverses raisons, mon choix s'est porté sur : Haskell.

Haskell est un langage de programmation fonctionnel, multi-plateforme dont le développement a débuté vers 1990. Les principaux points forts de ce langage sont:

et il possède d'autres avantages:

Actuellement je programme quelques outils de dépouillement écrit en Haskell en combinaison avec GTK+ (Bibliothèque graphique) et Cairo (Bibliothèque de dessin) à des fins de test.

Voici quelques captures écrans de certains de ces programmes fonctionnant en ligne de commande et en mode fenêtré:

Vérification
 
Boulonnerie
 
Haskell
 
Gtk

Vérification
 
Boulonnerie
 
Haskell
 
Gtk
Vérification
 
Boulonnerie
 
Haskell
 
Gtk

Maillage
 
Élements
 
finis
 
Haskell
 
CLI

Maillage
 
Élements
 
finis
 
Haskell
 
CLI
Maillage
 
Élements
 
finis
 
Haskell
 
CLI

Haskell
 
CmdArgs
 
GTK
 
Maillage
 
Poutre
Haskell
 
CmdArgs
 
GTK
 
Maillage
 
Poutre

Haskell
 
Gtk
 
Profilé
Dynamique
 
rotors
 
Haskell
 
Gtk

Haskell
 
graphique
 
graphviz
 
RCCM

Et quelques extraits de codes sources montrant la syntaxe particulière et concise de Haskell :

Code
 
source
 
Haskell
Code
 
source
 
Haskell

Jusqu'à présent mon retour sur Haskell est très bon et je poursuis mon apprentissage sur ce langage. Je ne manquerais pas d'ici quelques mois de mettre en ligne certains de ces programmes accompagnés du code source commenté afin de pouvoir servir de base à d'autres personnes.

Si vous souhaitez en savoir plus sur Haskell ou débuter avec ce langage, je vous recommande les liens suivant: