Introduction à la programmation fonctionnelle avec Haskell

Abonnements, magazines... Notre catalogue complet au bas de cette page.

Dédaignée, pour ne pas dire méprisée en France, la programmation fonctionnelle n'en est pas moins un outil puissant dans l'arsenal du programmeur.

Examinons quelques uns des ses atouts à travers un langage à la pointe du progrès : Haskell

Haskell est le plus élégant, le plus beau, de tous les langages. L'affirmation est osée, et bien sûr, subjective. Et puis comment un langage informatique peut il être élégant ou beau ? Nous allons tenter de répondre à cette interrogation. Mais intéressons nous d'abord à une autre question: qu'est-ce qu'un langage informatique ? Rappelons-nous l'aube des temps informatiques. Pour programmer, il fallait perforer manuellement des cartes. Ou bien entrer un à un des octets de code machine dans une mémoire, calculer manuellement les adresses de sauts, etc. Bref programmer n'était pas vraiment
programmer, mais plutôt s'empêtrer dans les mécanismes internes de l'ordinateur. Invivable... Alors on a inventé Fortran pour ne plus perforer manuellement les cartes. Pour l'anecdote, aujourd'hui encore, des particularités de la syntaxe de Fortran ont pour raison d'être la constitution physique de ces cartes :) Pour ne plus calculer manuellement les adresses de saut on a inventé l'assembleur. Assembleur et Fortran ont un but commun: s'abstraire des mécanismes internes de la machine. Programmer en assembleur reste incontestablement laborieux. Alors on a inventé le langage C (et
d'autres). Avec C le niveau d'abstraction est plus important et le programmeur travaille plus confortablement. Dans une certaine limite toutefois.
C reste très proche de la machine. Programmer en C c'est encore beaucoup subir la dictature des mécanismes internes. Alors on essaie d'élever le niveau d'abstraction. Par exemple, on dote des langages tels que Java ou C# d'un ramasse-miettes pour abstraire le programmeur de la fastidieuse gestion de la mémoire. Les machines deviennent "virtuelles". Virtuelle ou pas, les langages dont nous avons parlé, ainsi que tous ceux de la famille des langages dits impératifs (y compris objets), pilotent peu ou prou une machine, et pour ce faire découpent un programme en séquences et modifient des états.

S'ABONNER
Egalement au sommaire de :
Programmez! #104