IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

Les meilleurs livres en informatique générale - Programmation fonctionnelle

Dernière mise à jour : 13/05/2011


precedent    sommaire    suivant



couverture du livre 'Real World Haskell'

Note 5.0

Real World Haskell

Code You Can Believe In

de Bryan O'Sullivan, John Goerzen & Don Stewart
Public visé : Débutant

Résumé de l'éditeur

Real World Haskell est une introduction facile à appréhender à un langage de plus en plus populaire : Haskell. Vous y apprendrez comment utiliser Haskell dans une grande variété de situations pratiques, des petits scripts jusqu'aux grandes et complexes applications. Les bases de la programmation fonctionnelle sont présentées, vous aidant à comprendre comment utiliser Haskell dans des applications industrielles, qu'il s'agisse de la gestion d'entrée/sortie complexes, la gestion et le traitement de données, le parallélisme et la concurrence, et bien plus encore. Real World haskell vous aidera à : - comprendre la différence entre programmation procédurale et programmation fonctionnelle - apprendre les fonctionnalités de Haskell et comment les utiliser pour développer des programmes utiles, complets et efficaces - intéragir avec les systèmes de fichiers, les bases de données et les services réseau - écrire du code solide avec tests unitaires, refactoring et gestion des erreurs - profiter de la puissance des systèmes multicoeurs via la programmation concurrente et parallèle Vous trouverez un nombre important d'exercices concrets et utiles, en plus des exemples de programmes pratiques que vous pourrez modifier, compiler et exécuter à votre guise. Indépendamment du fait que vous ayez déjà utilisé un langage fonctionnel auparavant, si vous voulez comprendre pourquoi Haskell est de plus en plus utilisé pour des développements industriels dans des entreprises majeures, Real World Haskell est un excellent début.


Critique du livre par la rédaction (Alp Mestan) (Mai 2009)
Les langages fonctionnels comme Haskell (mais aussi Objective Caml, Erlang, Lisp et d'autres) sont souvent perçus comme des langages d'académiciens, des jouets pour les chercheurs en informatique. En somme, ceux qui n'ont jamais ou peu essayé ne pensent pas qu'il est possible de réaliser des applications industrielles, à grande échelle, avec de tels langages. Pourquoi ? Car ils sortent des sentiers battus ; la façon de penser est assez différente, la façon d'écrire son code l'est aussi. Est-ce pour autant un défaut ?

Real World Haskell démontre que non, et brillamment. En effet, le titre devrait vous mettre la puce à l'oreille. Il ne s'agit pas d'un ouvrage qui ne serait qu'une transposition de la norme de ce langage, présentant successivement règles syntaxiques et petits morceaux de codes très éloignés d'une utilisation concrète du langage. Ici il s'agit de présenter un langage avec des situations concrètes, du code qui est utile, et j'en passe. Cet ouvrage a réussi son pari sur 2 niveaux.

  • Bien que connaissant déjà la programmation fonctionnelle avec Objective Caml, j'ai fortement apprécié la façon qu'a cet ouvrage de la présenter. Il s'agit comme dit plus haut de changer de façon de concevoir ses logiciels. Vous ne pourrez pas modifier de variables, vous n'aurez plus d'objets, toutefois vous aurez à votre disposition des moyens très intelligents et pratiques de déclarer et utiliser des types de données. Les fonctions joueront un nouveau rôle à vos yeux, du fait qu'elles sont de première classe (elles deviennent comme n'importe quelles variables dans un langage classique). Bref, c'est un nouveau monde, et ce livre vous y introduit brillamment.
  • Je ne connaissais que très peu Haskell, et ce livre m'a fait faire un bond de géant. On est introduit petit à petit, en douceur, avec des exemples de code, à ce langage qui possède des caractéristiques étonnantes. Vous aurez probablement un peu de mal avec l'évaluation paresseuse avant qu'elle vous soit expliquée, et lutterez peut-être un peu avec les monades avant les deux chapitres qui leur sont dédiées, toutefois une fois ce livre terminé, vous vous sentirez prêts à créer des applications industrielles (qu'il s'agisse d'application réseau, système, utilitaires, graphiques, ...) avec ce langage. L'ouvrage réussit brillamment à exposer un grand nombre des particularités de Haskell sans pour autant noyer le lecteur.
Pour terminer, je trouve qu'il est important de préciser que Haskell possède une forte communauté, et cela transparaît dans le livre. Les auteurs n'ont pas oublié de mentionner la grande base de bibliothèques (Hackage) qui centralise plus de 1000 bibliothèques pour réaliser des tâches diverses et variées, du réseau jusqu'à la programmation système, de la 3D jusqu'à la construction de compilateurs, etc. Un tel dynamisme se devait d'être présenté, et c'est chose faite. Il y a finalement pas grand chose (même rien, a priori) qui n'est pas présenté dans ce livre mais dont vous auriez besoin pour réaliser une application industrielle en Haskell. Je conclurais donc en disant que si vous êtes intéressés par cette façon différente de programmer, cet ouvrage est probablement LE livre à avoir.

Sommaire

Table of contents

  1. Preface
  2. Getting Started
  3. Types and Functions
  4. Defining Types, Streamlining Functions
  5. Functional Programming
  6. Writing a Library: Working with JSON Data
  7. Using Typeclasses
  8. I/O
  9. Efficient File Processing, Regular Expressions and Filename Matching
  10. I/O Case Study: A Library for Searching the Filesystem
  11. Code Case Study: Parsing a Binary Data Format
  12. Testing and Quality Assurance
  13. Barcode Recognition
  14. Data Structures
  15. Monads
  16. Programming with Monads
  17. Using Parsec
  18. Interfacing with C: The FFI
  19. Monad Transformers
  20. Error Handling
  21. Systems Programming in Haskell
  22. Using Databases
  23. Extended Example: Web Client Programming
  24. GUI Programming with gtk2hs
  25. Concurrent and Multicore Programming
  26. Profiling and Optimization
  27. Advanced Library Design: Building a Bloom Filter
  28. Sockets and Syslog
  29. Software Transactional Memory
  1. Installing GHC and Haskell Libraries
  2. Characters, Strings and Escaping Rules

710 pages, 1ère édition, Décembre 2008 Éditions O'Reilly UK, ISBN10 : 0596514980, ISBN13 : 978-0596514983
Commandez sur oreilly.com : 49.99  $ - Livraison Gratuite !

Commandez sur www.amazon.fr :
43.03? EUR TTC (prix éditeur $49.99 EUR TTC) - Livraison Gratuite !
couverture du livre 'Débuter la progammation en Scheme'

Note 4.0

Débuter la progammation en Scheme

de J-C Routier, E. Wegrzynowski
Public visé : Débutant

Résumé de l'éditeur

Cet ouvrage s'adresse à tous ceux, étudiants de premier cycle ou simple curieux, désireux de s'initier à la programmation, introduite ici de manière progressive à l'aide de la programmation fonctionnelle et du langage Scheme. Pour les initiés, ce livre sera l'occasion de découvrir Scheme. Cet ouvrage, fruit de l'expérience des auteurs dans l'initiation à la programmation au travers de Scheme, sera également un excellent support de cours pour un enseignant.

Avant tout, il s'agit de présenter les notions fondamentales de la programmation, quel que soit le langage utilisé. Les concepts introduits pourront être réappliqués lors de l'apprentissage d'autres langages. Le lecteur trouvera ainsi une présentation progressive des notions d'expression, de variable, de programme, de type, de structure conditionnelle, de structure de données et de récursivité. Les définitions locales, les tris et les arbres sont également présentés. Des aspects impératifs de la programmation sont aussi abordés, permettant la transition avec l'apprentissage de langages tels que Ada, Pascal ou C.

Outre ces aspects, des notions plus formelles sont également considérées : analyse descendante de problèmes, preuve de correction d'algorithme, efficacité et complexité d'algorithmes, terminaison de programmes. Si, dans cet ouvrage, on apprend à écrire un programme, on voit également comment il est possible de l'étudier et pour quelles raisons.

Le cédérom joint contient les programmes présentés dans l'ouvrage ainsi que les corrections des différents exercices. Mais surtout, plusieurs versions (pour Linux, Mac et Windows) du langage Scheme sont incluses, permettant de tester les connaissances au fur et à mesure de leur acquisition. WinScm, un environnement de programmation sous Windows, est également proposé. incluses

Critique du livre par la rédaction (Gnux)
Livre idéal pour s'initier à la programmation via Scheme lorsque l'on ne possède aucune connaissance dans ce domaine. En effet, tout y est soigneusement détaillé et expliqué par le menu. Les exercices permettent dans un premier temps de fixer les nouveaux acquis et dans un second temps d'approfondir les problèmes essentiels en programmation (tris etc...)

Le seul regret tient au fait que les solutions des exercices plus avancés soit proposés via le cédérom. Il aurait été plus judicieux pour les exercices plus avancés d'en posséder une correction commenté (dans le style de l'exercice commenté proposer pour expliciter la récursion

Sommaire

  • Liminaire
  • Expressions
  • Variables
  • Les types
  • Fonctions
  • Premiers programmes
  • Structures conditionnelles
  • Les structures
  • Les listes
  • Décomposition de problèmes
  • Récursivité
  • Exercice commenté
  • Définitions locales
  • Trions
  • Les arbres
  • Des fonctions paramètres de fonctions
  • Itération
  • Les entrées-sortie
  • Affectation
  • Une fonction étrange
  • Compléments
  • Projets
  • Annexe: présentations du cédérom

356 pages, 2ème édition, 2003 Éditions Vuibert, ISBN10 : 2-7117-8692-7
Commandez sur www.amazon.fr :
34,75 EUR TTC (prix éditeur EUR TTC) - Livraison Gratuite !
couverture du livre 'Programmation Récursive (en Scheme)'

Note 4.5

Programmation Récursive (en Scheme)

de Anne Brygoo et al.
Public visé : Débutant / Intermédiaire

Résumé de l'éditeur

Cet ouvrage présente les fondements de la programmation récursive et ses mécanismes d'évaluation. Il pose des bases solides qui permettront d'aborder ensuite les autres facettes de l'informatique.

Le langage utilisé est Scheme, mais les principes énoncés (spécification et implantation, structures de données, validité et efficacité) s'appliquent également aux autres langages. Les cinq premiers chapitres portent sur quelques principes de base en programmation, en particulier la récursion vue sur les entiers et sur les listes. Les chapitres 6 à 10 abordent d'autres aspects essentiels de la programmation comme les structures de données, la récursion sur les arbres, les grammaires, pour aboutir finalement à l'interprète de Scheme en Scheme.

Pour illustrer les notions développées dans la partie de cours, l'ouvrage comporte une cinquantaine de problèmes, tous corrigés. Il est accompagné de compléments en ligne : un environnement de programmation, des questions d'auto-évaluation et des exercices progressifs permettant un travail autonome sur machine

Critique du livre par la rédaction (Gnux)
Livre dont le but avoué est d'initier le lecteur à l'art de la programmation, il remplit parfaitement son contrat.

Il part d'un noyau de langage tiré du Scheme bien défini pour complexifier peu à peu le propos sans jamais perdre de vue l'essentiel: faire découvrir, apprendre et apprécier les différentes structures utilisées ainsi que des notions générales importantes (et applicables à d'autres langages que le Scheme).

J'ai vraiment apprécié la pédagogie de ce livre et la clarté de ses explications. Si vous devez commencer à programmer de façon sérieuse et que vous possédez un bon baccalauréat scientifique, je ne serais trop vous recommander ce livre qui a su tirer les leçons de grands classiques comme How To Design Programs et nous en offrir le meilleur, en français.

Sommaire

  • Introduction
  • Noyau de Scheme
  • Art et usage des spécifications
  • Récursion
  • Structure de liste
  • Fonctionnelle
  • Modèle par substitution
  • Structuration de données
  • Structures arborescentes
  • Du bon usage des grammaires
  • Evaluateur
  • Annexes (Carte de Référence)

340 pages, 1ère édition, 2002 Éditions Dunod, ISBN10 : 2-10-007479-2
Commandez sur www.amazon.fr :
27.55 EUR TTC seulement (au lieu de 29 EUR TTC : prix éditeur) - Livraison Gratuite !
couverture du livre 'Programmer avec Scheme'

Note 5.0

Programmer avec Scheme

de Jacques Chazarain

Résumé de l'éditeur

Le langage de manipulations symboliques Scheme fait partie de la famille Lisp. Il a été choisi depuis 1980 par les enseignants du MIT et le nombre de ses adeptes ne fait qu'augmenter. Il fait maintenant son entrée dans les premiers et les deuxièmes cycles des universités françaises. Ce simple fait en dit long sur les qualités de Scheme comme support à l'enseignement de la programmation et de ses fondements.

Cet ouvrage de référence est conçu pour être utilisable avec profit aussi bien par un lecteur débutant que par un lecteur plus expérimenté. La richesse de son contenu permet de le recommander tout au long d'un cursus en informatique, du DEUG au DEA. C'est non seulement un livre sur la programmation fonctionnelle avec Scheme, mais plus généralement un excellent ouvrage d'accompagnement pour des cours sur l'Intelligence Artificielle, la logique, la sémantique, la compilation,...Les exemples utilisés ne sont pas des exemples d'école. Ils sont pertinents, significatifs et parfois même amusants.

Le livre est structuré en deux parties: La première partie introduit progressivement le lecteur aux joies de la programmation avec Scheme ou Lisp. Y sont expliqués les différents styles de programmation: fonctionnel, symbolique, par continuations, par objets, impératif, par macros, par flots,... Les méthodes récursives y jouent un rôle central, aussi l'auteur s'est-il efforcé d'en dissiper les mystères en les présentant sous une grande variété de points de vue. Chaque chapitre comporte des compléments sur des sujets variés: fractals, jeu donjon et dragon, contraintes et CAO, extension objet de Scheme, simulation et coroutines, visualisation en 3D, calcul formel, vie artificielle,...Ils ont aussi pour but d'exercer le lecteur à l'écriture de programmes de taille plus importante. De nombreux exemples et exercices permettent au lecteur de progresser à son rythme. La seconde partie explique la théorie et l'implantation des concepts de base en programmation: machines et automates finis, analyse lexicale et syntaxique, formatage de texte ou de formules, systèmes experts et Prolog, systèmes déductifs, lambda calcul, sémantique, interprétation, compilation,...La possibilité de programmer puis d'expérimenter une théorie est l'une des meilleures façons de l'assimiler, d'où le slogan de l'auteur: "Implanter pour mieux comprendre".

Critique du livre par la rédaction (Gnux)
Très bon livre pour quiconque souhaite aller plus loin avec le langage Scheme ou possède déjà des bases de programmation mais souhaite approfondir ses connaissances théoriques à travers des implémentations en scheme. On regrettera toutefois de ne pas avoir (au moins sur le Web les solutions des exercices. Assurément le livre de référence en français sur la programmation en Scheme

Sommaire

  • Pratique de la programmation avec Scheme
    • Introduction au langage Scheme
    • Expressions symboliques
    • Programmation fonctionnelle
    • Programmation impérative
    • Environnements, fermetures et prototypes
    • Calcul numérique avec Scheme
    • Données structurées et algorithmes
    • Programmation par continuation
    • Macros et extensions syntaxiques
    • Fichiers, flux et flots
    • Programmation par objets
  • Outils formels pour le programmeur
    • Automates, langages et ordinateurs
    • Analyse lexicale et syntaxique
    • Affichage et formatage
    • Calcul propositionnel
    • Déduction naturelle et calcul des séquents
    • Filtrage et réécriture
    • Des systèmes experts à la programmation logique
    • Logique du premier ordre
    • Introduction au lambda-calcul
    • Sémantique des langages de programmation
    • Introduction à la compilation

573 pages, 1996 Éditions Vuibert, ISBN10 : 2-84180-131-4
Commandez sur www.amazon.fr :
EUR TTC (prix éditeur EUR TTC) - Livraison Gratuite !
couverture du livre 'Erlang'

Note 4.0

Erlang

de M. Rémond
Public visé : Débutant

Résumé de l'éditeur

Développé par Ericsson depuis une dizaine d'années pour gérer les aspects les plus ardus des applications distribuées et robustes, Erlang est disponible en open source depuis 1998. Essentiellement orienté réseau, il est utilisé pour réaliser des jeux massivement multi-joueurs, des applications internet de haute disponibilité (fermes de serveurs HTTP, robots de chat IRC tel Manderlbot...), mais s'applique également, en tant que langage généraliste, à des domaines allant de l'informatique industrielle à la finance, en passant par le jeu vidéo ou la 3D.

Préfacé par Joe Armstrong, créateur d'Erlang, ce premier livre en français sur Erlang explore la puissance de la programmation concurrente. Depuis l'installation du langage sur diverses plate-formes jusqu'à la création d'applications tolérantes aux pannes, en passant par la description du framework de développement, la gestion de bases de données distribuées et la gestion des erreurs, ce livre constitue une référence appliquée sur Erlang.

Trois études de cas illustrent les nombreux aspects d'Erlang : le développement d'un serveur de proxy d'annuaire LDAP pour illustrer le modèle de développement robuste OTP, la création d'un serveur de jeux vidéo pour montrer les capacités du langage, et le développement d'extensions pour le modeleur graphique Wings 3D, qui illustre la démarche de développement de plug-ins.

Critique du livre par la rédaction (Gnux)
Livre très bien construit : il explicite les bases du langage, analyse et explique l'usage qui peut en être fait pour structurer les données et finit par nous offrir de vrais programmes Erlang en relation avec divers domaines. Des plus classiques (serveur TCP/IP) jusqu'au développement de jeux videos

En résumé, ce livre est à acquérir si vous voulez vous initier à ce type de langages de programmation en vue par la suite d'une utilisation plus avancée.

Sommaire

  • Le langage Erlang
    • Présentation et installation d'Erlang
    • Grands principes du langage
    • Construire et structurer un programme Erlang
    • La programmation concurrente
    • Gestion des erreurs
  • Le développement d'applications Erlang
    • Erlang/OTP: le framework de développement d'applications
    • L'environnement de développement
    • Les bases de données
    • Le développement d'interfaces graphiques
    • Serveurs et clients TCP/IP
  • Trois études de cas
    • Créer un proxy d'annuaire LDAP
    • Erlang et le jeu vidéo
    • Développement d'extensions pour le modeleur Wings3D

361 pages, 1ère édition, 2003 Éditions Eyrolles, ISBN10 : 2-21211-079-0
Commandez sur www.editions-eyrolles.com : 39.90  EUR TTC seulement (au lieu de 42  EUR TTC : prix public)

Commandez sur www.amazon.fr :
EUR TTC (prix éditeur 42 EUR TTC) - Livraison Gratuite !

precedent    sommaire    suivant

Voir également :

Tous les livres de DVP

Valid XHTML 1.0 TransitionalValid CSS!

Copyright © 2005-2011 Developpez LLC Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.