English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Livres à propos de Caml

Livres en anglais

[1]Yaron Minsky, Anil Madhavepeddy et Jason Hickey. Real World OCaml. O'Reilly, 2013.
[2]John Whitington. OCaml from the very beginning. Coherent Press 2013.
[3]Emmanuel Chailloux, Pascal Manoury et Bruno Pagano. Developing Applications With Objective Caml. Traduction anglaise de “Développement d'applications avec Objective Caml”.
Un ouvrage très complet (742 pages) sur OCaml, qui couvre non seulement le noyau du langage, mais aussi les modules, les objets et les classes, la programmation système et l'interopérabilité avec C.
[4]Guy Cousineau et Michel Mauny. The Functional Approach to Programming. Cambridge University Press, Cambridge, 1998, ISBN 0-521-57183-9 (relié) ou 0-521-57681-4 (broché).
Cet ouvrage utilise Caml comme un outil pour introduire les principaux concepts de la programmation. Il est divisé en trois parties. La première partie est une introduction à Caml, qui présente le langage lui-même, mais traite également d'évaluation par réécriture, de stratégies d'évaluation et de preuves de programmes par induction. La deuxième partie est dédiée à la description de programmes exemples, reliés à des sujets divers et pouvant ainsi intéresser différents types de lecteurs et d'étudiants. Enfin, la troisième partie est dédiée à l'implémentation. Elle décrit l'interprétation puis la compilation, avec une brève description de la gestion de la mémoire et de la synthèse de types.
[5]Jon D. Harrop. OCaml for Scientists. Flying Frog Consultancy Ltd, 2005.
Ce livre introduit la programmation en OCaml sous l'angle de ses utilisations pour le calcul scientifique. De nombreux exemples couvrent tout le spectre depuis le calcul numérique de base jusqu'à la visualisation 3D temps-réel avec OpenGL. Le livre contient plus de 800 morceaux de code source et des douzaines de diagrammes illustrant la puissance de la programmation fonctionnelle. Il explique comment construire en OCaml des programmes à la fois très rapides et remarquablement simples.

Livres en français

Programmation en Caml

[6]Emmanuel Chailloux, Pascal Manoury et Bruno Pagano. Développement d'applications avec Objective Caml. Éditions O'Reilly, Paris, 2000, ISBN 2-84177-121-0.
Un ouvrage très complet (742 pages) sur OCaml, qui couvre non seulement le noyau du langage, mais aussi les modules, les objets et les classes, la programmation système et l'interopérabilité avec C.
[7]Xavier Leroy et Pierre Weis. Manuel de référence du langage Caml. InterEditions, Paris, 1993, ISBN 2-7296-0492-8 (épuisé) .
Écrit par deux des implémenteurs du compilateur Caml Light, ce livre décrit de manière exhaustive toutes les constructions du langage de programmation et fournit une documentation complète du système Caml Light.

Enseignement de la programmation avec Caml

[8]Sylvain Conchon et Jean-Christophe Filliâtre. Apprendre à programmer avec OCaml. Algorithmes et structures de données. Éditions Eyrolles, Sept 2014. ISBN 978-2-212-13678-4 .
L'apprentissage de la programmation est difficile. Bien programmer nécessite des connaissances algorithmiques, de l'imagination, de l'anticipation, la maîtrise d'un langage de programmation, et surtout beaucoup d'expérience car les difficultés se cachent souvent dans les détails. Cet ouvrage synthétise nos expériences à la fois de programmeurs et d'enseignants en programmation. N'oubliez pas que le style de programmation est essentiel. Dans un langage donné, le même algorithme peut être écrit de multiples façons, et certaines peuvent être à la fois élégantes et efficaces. C'est cela que le programmeur doit rechercher à tout prix. C'est la raison pour laquelle nous avons choisi d'utiliser un langage de programmation particulier plutôt que du pseudo-code. Notre choix s'est ainsi porté sur le langage OCaml. Cet ouvrage est découpé en trois parties. La première est une initiation au langage OCaml destinée aux débutants. Il peut s'agir autant de débutants en programmation, que de programmeurs plus expérimentés qui ne connaissent pas OCaml. À travers de petits programmes, le lecteur découvre les concepts fondamentaux de la programmation et du langage OCaml. Les deuxième et troisième parties sont dédiées à la présentation de concepts algorithmiques fondamentaux pour permettre au lecteur d'écrire ses propres programmes, de manière efficace et structurée. Les concepts algorithmiques sont présentés directement dans la syntaxe du langage OCaml et tous les programmes de cet ouvrage peuvent être immédiatement réutilisés.
[9]Pierre Weis et Xavier Leroy. Le langage Caml. Seconde édition : Dunod, Paris, 1999, ISBN 2-10-004383-8. Première édition : InterEditions, Paris, 1993. Épuisé .
Ce livre permet d'aborder la programmation en Caml de façon simple et concrète. Véritable cours de programmation, il introduit progressivement les mécanismes du langage et les montre à l'oeuvre face aux problèmes fondamentaux de la programmation. Outre de nombreux exemples introductifs, ce livre détaille la conception et la réalisation de six programmes complets et réalistes illustrant des domaines réputés difficiles: compilation, synthèse de types, automates, etc.
[10]Guy Cousineau et Michel Mauny. Approche fonctionnelle de la programmation. Ediscience (Collection Informatique), Paris, 1995, ISBN 2-84074-114-8.
Cet ouvrage utilise Caml comme un outil pour introduire les principaux concepts de la programmation. Il est divisé en trois parties. La première partie est une introduction à Caml, qui présente le langage lui-même, mais traite également d'évaluation par réécriture, de stratégies d'évaluation et de preuves de programmes par induction. La deuxième partie est dédiée à la description de programmes exemples, reliés à des sujets divers et pouvant ainsi intéresser différents types de lecteurs et d'étudiants. Enfin, la troisième partie est dédiée à l'implémentation. Elle décrit l'interprétation puis la compilation, avec une brève description de la gestion de la mémoire et de la synthèse de types.
[11]Bruno Petazzoni. Seize problèmes d'informatique. Éditions Springer, Paris, 2001, ISBN 3-540-67387-3.
Ce livre propose seize problèmes d'informatique, accompagnés de réponses détaillées à toutes les questions et de solutions complètes aux problèmes algorithmiques, données sous forme de programmes Caml. Il traite principalement d'automates, de mots finis ou infinis, de théorie des langages formels, et d'algorithmes classiques tels que ceux de mise en boîtes (« bin-packing »). Il s'adresse à des étudiants d'option informatique en classes préparatoires MPSI/MP, mais peut également être utile à tous les enseignants et étudiants en informatique, jusqu'au niveau du mastère.
[12]Michel Quercia. Nouveaux exercices d'algorithmique. Éditions Vuibert, Paris, 2000, ISBN 2-7117-8990 X.
Ce livre présente 103 exercices et 5 problèmes d'algorithmique, pour des étudiants de premier cycle. Il tente d'aborder à la fois des questions pratiques et théoriques. Les programmes sont écrits en Caml, dans un style purement fonctionnel. Les problèmes abordés incluent la méthodologie de programmation, les listes, l'évaluation de formules, la logique booléenne, la complexité algorithmique, les arbres, langages, et automates.
[13]Denis Monasse. Option informatique MPSI. Éditions Vuibert (Enseignement supérieur & Informatique), Paris, 1996, ISBN 2-7117-8831-8.
Il s'agit d'un cours d'Informatique pour étudiants en première année des « Classes préparatoires aux grandes Écoles ». Le cours débute par une introduction aux algorithmes et une description du langage Caml. Plusieurs algorithmes fondamentaux sont décrits et illustrés à l'aide de programmes Caml. Le livre adopte une approche mathématique : les descriptions mathématiques des objets sont reliées aux structures de données du langage de programmation. Cet ouvrage est destiné à des étudiants avec des connaissances en mathématiques, et à tous ceux qui veulent apprendre les bases de l'informatique théorique.
[14]Denis Monasse. Option informatique MP/MP*. Éditions Vuibert (Enseignement supérieur & Informatique), Paris 1997, ISBN 2-7117-8839-3.
Ce livre prolonge le précédent pour des élèves de deuxième année en « Classes préparatoires aux grandes Écoles ». Il aborde les arbres, les expressions algébriques, les automates et les langages, ainsi que les flux Caml. Cet ouvrage contient plus de 200 programmes en Caml.
[15]Luc Albert. Cours et exercices d'informatique. Thomson Publishing International, Paris, 1997, ISBN 2-84180-106-3.
Ce livre a été écrit par des enseignants en Université et en classes préparatoires aux grandes écoles. Il est destiné à des étudiants d'option informatique en classes préparatoires ainsi qu'aux étudiants engagés dans un cursus d'informatique jusqu'au niveau mastère. Il comprend un tutoriel du langage Caml, un cours d'algorithmique, de structures de données, de théorie des automates et de logique formelle, ainsi que 135 exercices avec leurs solutions.
[16]Thérèse Accart Hardin et Véronique Donzeau-Gouge Viguié. Concepts et outils de programmation. InterEditions, ISBN 2 7296 0419 7.
Ce livre présente une nouvelle approche pour l'enseignement des concepts de la programmation aux débutants, basée sur la sémantique des languages. Un modèle sémantique simplifié est utilisé pour décrire précisément les fonctionalités présentes dans la plupart des langages de programmation. Ce modèle est suffisemment puissant pour expliquer le typage, le polymorphisme, les effets de bord, la modularité, les exceptions. Cependant, il est assez simple pour être manipulé à la main, de telle sorte que les étudiants peuvent réellement l'employer pour calculer. Le livre commence par une approche fonctionnelle, basée sur Caml, puis continue par la présentation d'un langage impératif : Ada. Il fournit également de nombreux exercices avec leurs solutions.
[17]Jacques Rouablé. Programmation en Caml. Eyrolles, Paris 1997, ISBN 2-212-08944-9.
Ce livre s'adresse aux débutants qui y trouveront les notions de base de la programmation. La première partie de l'ouvrage est un cours qui initie le lecteur au langage Caml. Les notions importantes sont présentées de manière pratique, et l'implantation de certaines d'entre elles est analysée et esquissée. La deuxième partie, « l'atelier Caml », est une application pratique de ces notions à d'autres domaines reliés à l'informatique, la logique, les automates et les grammaires.
[18]Catherine Dubois et Valérie Ménissier Morain. Apprentissage de la programmation avec OCaml. Hermès Sciences, Paris 2004, ISBN 2-7462-0819-9.
L'apprentissage de la programmation permet de maîtriser les trois points forts d'un ordinateur, à savoir : une mémoire très grande et ordonnée, une capacité à effectuer inlassablement des tâches répétitives et surtout une grande rapidité de calcul. Pour pouvoir écrire des programmes corrects et répondant au besoin énoncé, il est indispensable de connaître la sémantique précise du langage. Cet ouvrage est destiné à des débutants en informatique, plus précisément en programmation. Il est également un support pédagogique pour tout programmeur désireux d'aborder le style fonctionnel, disons le style ML. Les notions retenues dans cet ouvrage sont disponibles dans tout dialecte de ML, en particulier que ce soit Caml-Light, OCaml et Standard ML. La plupart des concepts mis en oeuvre dans cet ouvrage, illustrés en OCaml, peuvent se transposer aisément à d'autres langages de programmation.
[19]Philippe Narbel. Programmation fonctionnelle, générique et objet: une introduction avec le langage OCaml. Vuibert, Paris 2005, ISBN 2-7117-4843-X.
Aujourd'hui, les langages sont très nombreux, et les styles de programmation qu'ils offrent se multiplient (programmation générique, objet, impérative, fonctionnelle). Pourtant, les différents styles de programmation sont souvent méconnus. L'idée de ce livre est donc de les introduire, de les illustrer, de les comparer, de les associer, et cela essentiellement à la lumière d'un langage de la famille des ML : OCaml. A l'aide de beaucoup d'exemples, sont abordés entre autres : une introduction aux mécanismes et aux concepts de base associés à la programmation fonctionnelle ; une synthèse des techniques favorisées par la programmation fonctionnelle ; une comparaison entre la programmation fonctionnelle et impérative ; une introduction à la programmation modulaire typée et sa généralisation, la programmation modulaire générique (mise en oeuvre par des « fonctions de modules ») ; un florilège de techniques de programmation générique ; une introduction aux notions de base de la programmation objet dans un cadre strictement typé ; les combinaisons possibles entre programmation fonctionnelle, générique et objet.
[20]Pascal Manoury. Programmation de droite à gauche et vice-versa. Éditions Paracamplus, Paris, 2011, ISBN 978-2-916466-05-7.
Cet ouvrage est le compagnon de choix des étudiants de l'enseignement « Programmation et données génériques » (code LI220) dispensé à l'université Pierre et Marie Curie (UPMC) tous les ans depuis septembre 2008, mais il accompagnera aussi tous ceux qui, ayant déjà fait un premier pas dans le domaine de la programmation, veulent y progresser encore.

Livres en chinois

[21]Gang Chen. OCaml语言编程基础教程 (an introduction to OCaml language programming). 人民邮电出版社 (Posts & Telecom Press), 2018, ISBN 9787115471215.

Livres en allemand

[22]Juergen Wolff von Gudenberg. Algorithmen, Datenstrukturen, Funktionale Programmierung. Eine praktische Einführung mit Caml Light. Addison-Wesley, Bonn, 1996.
Ce livre donne une introduction à la programmation où les algorithmes, de même que les structures de données, sont considérés fonctionnellement. Il est destiné à servir d'accompagnement pour des cours élémentaires en informatique, mais également pour l'auto-apprentissage. Dans la première partie, les algorithmes sont décrits de manière concise et précise en utilisant Caml Light. La deuxième partie donne une introduction tutorielle au language Caml Light, et le dernier chapitre est une description complète du noyau du language.

Livres en italien

[23]Carla Limongelli et Marta Cialdea. Introduzione alla programmazione funzionale. Societa' Editrice Esculapio, 2002, ISBN 88-7488-031-6.