Journal Vos livres d'informatique préférés...

Posté par .
Tags : aucun
0
23
août
2006
Je vais reprendre le sujet d'un journal posté par J sur linuxfr en mai 2004 et que j'avais trouvé très intéressant.

------------

Les livres d'informatique coûtent plus cher que la moyenne, sont rarement réédités en format de poche et ce sont souvent les moins bons que l'on trouve dans les bibliothèques. Mieux vaut donc ne pas tromper lorsqu'on en achète un.

Quels ont été ces dernières années vos livres d'informatique préférés ?
Ceux qui sortent du lot. Ceux dont le propos a plus que comblé vos attentes. Ceux dont le style impeccable vous a permis de cerner un sujet qui ne vous intéressait pas forcément. Ceux dont vous considérez qu'ils seront toujours lisibles dans cinq ans. Ceux dont vous conseillez la lecture.

------------

En attendant vos réponses, je mets 2 livres que j'ai achetés récemment et que j'ai trouvés très instructifs :

  • Programming Ruby: The Pragmatic Programmer's Guide par Dave Thomas, David Thomas, et Chad Fowler, chez O'Reilly

  • Agile Web Development With Rails: A Pragmatic Guide par Dave Thomas, David Heinemeier Hansson, et Andreas Schwarz, chez O'Reilly


Merci.

NB : Si en plus quelqu'un connait un/des bon(s) livre(s) sur les concepts fondamentaux de programmation (algorithmie, UML, ...) pour faire une "remise à niveau" cela m'intéresse.
  • # Le langage Caml

    Posté par (page perso) . Évalué à 7.

    Le langage Caml de Xavier Leroy et Pierre Weiss est un livre magnifique qui permet de maîtriser nombre de notions fondamentales de l'informatique en un seul bouquin. Il permet aussi de prétendre maîtriser Caml, un langage très beau et très puissant.

    http://pauillac.inria.fr/cdrom/www/caml/books-fra.html#camlp(...)

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # RegEx

    Posté par (page perso) . Évalué à 7.

    Maîtrise des expressions régulières, de Jeffrey E. F. Friedl, traduit par laurent Dami, O'Reilly.

    http://www.oreilly.fr/catalogue/2841772365.html

    La gelée de coings est une chose à ne pas avaler de travers.

    • [^] # Re: RegEx

      Posté par . Évalué à 2.

      +1 pour celui-ci: de l'historique à la méthodologie en passant par les techniques utilisées par les algos de regex, tout y passe, c'est très bien écrit, compréhensible et donc agréable à lire.
    • [^] # Re: RegEx

      Posté par (page perso) . Évalué à 2.

      Excellent livre... mais il faut s'attacher pour le lire, c'est plutôt du haut vol :-) Enfin, il ne faut pas confondre roman et livre de programmation non plus ;-) (je vous conseillerai la trilogie des fourmis sinon, mais je m'égare)

      Haypo
  • # Mes livres d'info préférés

    Posté par . Évalué à 5.

    "Tête la premiére Design Patterns" de Eric Freeman et Elisabeth Freeman chez O'reilly

    "Programmation Linux" de Neil Matthew et Richard Stones chez Eyrolles (autoformation)

    "Le Langage Java" de Iréne Charon chez Hermes Sciences

    "Php & Mysql" de Luke Welling et Laura Thomson chez Campus Press

    "CSS et JavaScript" de Eric Sarrion chez O'Reilly
    • [^] # Re: Mes livres d'info préférés

      Posté par . Évalué à 2.

      Je rajouterais aussi :

      "Java tête la première", chez O'Reilly. Il est super pour bien piger la programmation objet et le java, même quand on a "l'impression" de déjà bien avoir compris.
  • # Bouquins sur Ruby

    Posté par (page perso) . Évalué à 1.

    Il faut savoir que "Agile Web Development With Rails: A Pragmatic Guide" vera une seconde édition cet automne normalement.

    Qu'en est il de "Programming Ruby: The Pragmatic Programmer's Guide"?
    Est il à jour? ruby évolue encore relativement vite.
    • [^] # Re: Bouquins sur Ruby

      Posté par (page perso) . Évalué à 1.

      Le PickAxe (du nom du dessin sur la couverture) est à jour. Mais ça n'est pas mon préféré. Par contre, je trouve "Ruby for Rails" très très bon. Mieux que "Agile web dev etc".
  • # Programming Perl \o/

    Posté par (page perso) . Évalué à 2.

  • # TAOCP!!!!

    Posté par . Évalué à 8.

    La série des "The Art of Computer Programming" de Knuth : http://www-cs-faculty.stanford.edu/~uno/taocp.html
    • [^] # Re: TAOCP!!!!

      Posté par (page perso) . Évalué à 4.

      Ca un énorme avantage: dans 30 ans ça sera encore valable.

      Dans les mêmes séries, il y a les bouquins sur les réseaux de neurones, sur les réseaux bayaisiens... bref tout ce qui touche plus à la théorie, aux concepts, qu'aux applications immédiates.
  • # Quelques livres qui m'ont laissés un bon souvenir

    Posté par (page perso) . Évalué à 3.

    Security Engineering, de Ross Anderson, Wiley 2001;
    Expert C Programming - Deep C Secrets, de Peter Van Der Linden, SunSoft Press, 1994. Un peu vieilli mais toujours instructif et très amusant;
    Forensic Discovery, de Dan Farmer et Wietse Venema, Addison-Wesley 2004;
    Silence on the Wire, de Michal Zalewski, No Starch Press, 2005 (J'ai trouvé les premiers chapitres un peu faibles, mais c'est peut-être car ce sont des choses que je connais trop. Le reste est excellent si vous vous intéressez à la sécurité réseau.).

    Sinon je confirme que la traduction de Dami du livre de Friedl (cf. commentaire plus haut) est excellente (je parle de la première édition, je ne sais pas si la seconde est traduite).

    Bien sûr, il y a également un grand nombre de bouquins de référence, très pratique quand on a besoin d'un renseignement précis mais qu'on ne lit pas forcément de A à Z, comme ceux de Richard Stevens ou The Art of Computer Programming de Knuth (même si certaines parties sont passionantes et peuvent se lire linéairement).
  • # le langage C norme ANSI

    Posté par (page perso) . Évalué à 6.

    le langage C norme ANSI de Kernighan et Richie.
  • # Common Lisp

    Posté par . Évalué à 2.

    Traité de programmation en Common Lisp de Robert Strandh
    ANSI CL de P. Graham
    Practical Common Lisp
  • # Re: livre préféré

    Posté par (page perso) . Évalué à 6.

    "Unix Network Programming: The Sockets Networking Api"

    La bible pour la programmation réseau sous Unix. En plus, on apprends plein de trucs sur la programmation Unix qui n'est pas spécifique au réseau.
  • # Euh... un titre ?

    Posté par . Évalué à 2.

    * Introduction aux scripts shell *, Arnold Robins, O'Reily : excellent livre sur la programmation en sh, qui a en plus le mérite de distiller pleins de petites informations passionantes sur Unix.

    * /proc & /sys *, Olivier Daudel, O'Reilly : ardu (en tout cas pour un autodidacte a qui il manque pas mal de bases de la progra système) mais passionant sur les systèmes de fichiers virtuels... /proc et /sys !

    * Operating System, Design and Implementation *, Tanenbaum, Prentice Hall : riche et qui a l'immense mérite de toujours illustrer son propos avec un exemple concret : Minix.

    * The Art of Unix Programming *, Eric Raymond : J'adore. Un des meilleurs livre pour comprendre *l'esprit* Unix et Linux. Excellent complément au "The Cathedral and the Bazaar" du même auteur. C'est dans ce livre que j'ai compris en quoi l'éditeur Emacs est en réalité plus proche de l'esprit Unix que ne l'est l'éditeur Vi (c'est un peu brutal comme ça, mais lisez la partie sur les éditeurs de texte et vous comprendrez). Il ne s'agit de dévaloriser Vi ici, mais plutôt que le conseil "un logiciel qui fait une chose mais le fait bien", doit être entendu avec le corollaire suivant : "faire des application qui soient des filtres pour les autres applications".

    Voilà pour ceux qui m'ont le plus marqués ces trois derniers mois.
    • [^] # Re: Euh... un titre ?

      Posté par . Évalué à 2.

      Et j'oubliais :

      * Thinking in Java * de Bruce Eckel
    • [^] # Re: Euh... un titre ?

      Posté par . Évalué à 6.

      l'éditeur Emacs est en réalité plus proche de l'esprit Unix que ne l'est l'éditeur Vi [...] "un logiciel qui fait une chose mais le fait bien"


      Ben sans vouloir marcher dedans, j'ai du mal à voir le lien entre les arguments et la conclusion...
      Parce que justement, l'un des reproche les plus souvant entendu contre emacs c'est de ne as respecter ce corollaire du "un logiciel qui fait une chose mais le fait bien", se voulant au contraire être un (tres gros) couteau suisse qui fait tout et le café (du lecteur multimedia, au lecteur de news en passant par un environnement de developpement)...
      Et question filtre, un éditeur de texte c'est avant tout un filtre entre l'utilisateur et la machine. Pour le reste, il y a déjà plein d'outils pour faire de vrais filtres sans travestir l'usage normal d'un éditeur de texte.

      A l'inverse, vim(-lite) ne fait "que" éditeur de texte, mais il le fait bien.

      Maintenant, j'ai peut-être mal compris le second degré de ton propos.
      • [^] # Re: Euh... un titre ?

        Posté par . Évalué à 2.

        Il n'y a pas de second degré. Si on considère Emacs comme environnement de travail au même titre que le shell est un environnement de travail, alors Emacs, en un sens, respecte la logique Unix.

        En effet Emacs seul fait une chose et le fait bien. Mais il dispose de toute une série de logiciel intégré ou ajouté qui étendent ses possibilités et peuvent interagir les uns avec les autres. Les modules d'Emacs sont scriptables, tout comme une application shell respectant la logique Unix est scriptable et peut interagir avec les autres applications shell.

        Dans le même sens Kde est plus proche d'Unix que Gnome. En effet les applis Gnome si elles font une chose et le font plutôt bien, les applis gnome ne peuvent pas vraiment servir de filtres ou être "scriptés" avec les autres. Kde avec DCOP et les Kparts permet de créer une appli à partir des applis déjà existante. De plus les applications sont scriptables (Kmail est scriptable). Ainsi Kate sert d'éditeur de texte, mais s'intègre également à l'intérieur de Quanta et Kile.

        Finalement Vi/Emacs c'est un peu comme Gnome/Kde, on a tendance à penser que Vi-Gnome sont plus proche de l'esprit Unix que Emacs-Kde, alors que c'est l'inverse.
        Et cela pour une seule raison on pense à la règle :

        "Créer de petits qui font une choses mais le font bien"

        En oubliant la suite:

        "afin de les combiner facilement avec d'autres outils"

        Les outils Kde se combinent les uns avec les autres. Pas les outils Gnome.
        Vi en bon CUI ne se combine avec rien.
        Emacs non plus. Sauf si on le considère comme envirronement qui propose pleins de petits outils qui là se combinent entre eux.
        • [^] # Re: Euh... un titre ?

          Posté par . Évalué à 2.

          En effet Emacs seul fait une chose et le fait bien. Mais il dispose de toute une série de logiciel intégré ou ajouté qui étendent ses possibilités et peuvent interagir les uns avec les autres. Les modules d'Emacs sont scriptables

          Mouais...
          Personnellement, cela me fait plus penser à une explication capilotractée pour faire rentrer a posteriori emacs dans "l'esprit unix" qu'autre chose.
          Ces "logiciels intégrés" font bel et bien partie d'emacs, et c'est bien le "problème".

          "Créer de petits qui font une choses mais le font bien"

          En oubliant la suite:

          "afin de les combiner facilement avec d'autres outils"

          Oui, mais comme tout corrolaire, si la première partie n'est pas respectée, ce n'est même pas la peine de regarder la seconde.
          Et emacs ne respecte pas la première partie, de mon point de vue.

          Vi en bon CUI ne se combine avec rien.

          Je ne suis pas d'accord.
          Il est tout à fait possible de faire appel à des logiciels externe pour effectuer certaines taches (correction orthographique....), simplement, les ces programmes restent des programmes externes et ne sont pas intégrés, contrairement à emacs.
          Et il est possible d'utiliser vi dans d'autres logiciels (c'est mon éditeur de texte dans mutt ;), il faut juste ne pas lui demander autre chose que ce pour quoi il est fait.

          Emacs non plus. Sauf si on le considère comme envirronement qui propose pleins de petits outils qui là se combinent entre eux.

          Pourquoi pas, mais dans ce cas le troll Vi/Emacs n'a plus lieu d'être : l'un étant un éditeur et l'autre un environnement, dire que l'un est meilleurs que l'autre revient à comparer des choux et des carottes...
          Dans ce cas, il faudrait le sinder en deux : vi/pico/ee d'un coté et emacs/kdevelop/eclipse de l'autre... Ouais, vu comme ca, pourquoi pas ;)
          • [^] # Re: Euh... un titre ?

            Posté par . Évalué à 1.

            Pourquoi pas, mais dans ce cas le troll Vi/Emacs n'a plus lieu d'être : l'un étant un éditeur et l'autre un environnement, dire que l'un est meilleurs que l'autre revient à comparer des choux et des carottes...
            Dans ce cas, il faudrait le sinder en deux : vi/pico/ee d'un coté et emacs/kdevelop/eclipse de l'autre... Ouais, vu comme ca, pourquoi pas ;)



            C'est exactement ce que je voulais dire. Mon but n'était absolument pas de critiquer Vi qui est un éditeur que j'apprécie énormément et utilise régulièrement, je te rassure ;)

            Le troll n'a effectivement pas lieu d'être. Vi et Emacs sont des outils différents qui couvrent des besoins et des préférences différentes. Un utilisateur forcénné d'EMacs qui refuse d'utiliser vi dans certaines situations ou cela lui serait plus pratique (édition rapide d'un fichier en super-utlisateur pour prendre un exemple trivial) fait preuve d'un dogmatisme dommageable. L'inverse est également vrai.
  • # UML:

    Posté par . Évalué à 3.

    "UML2 par la pratique" de Pascal Roques pour une initiation en douceur.

    et

    "Modélisation objet avec UML" de Pierre-Alain Muller et Nathalie Gaertner
    qui reste ma réference.
  • # Facile

    Posté par (page perso) . Évalué à 2.

    Windows XP pour les nuls.
  • # Merci

    Posté par . Évalué à 2.

    Merci beaucoup pour vos réponses.
    Je crois que je vais me laisser tenter par : 'Design patterns : Tête la première' de Freeman et 'Modélisation objet avec UML' de Muller.

    Sinon le livre 'Le langage Caml' de Xavier Leroy et Pierre Weiss a l'air aussi très intéressant mais ce sera pour une autre fois ;-)
    • [^] # Re: Merci

      Posté par . Évalué à 2.

      Pour UML,

      Attention toutefois, le version que j'ai (2e edition) traite de UML 1.3.
      La norme 2.0 etant d'actualité, certains élements ne sont plus à jour (les + significatifs concerne les boucles dans les diagramme de séquence et les referces externes dans les diagrammes d'états )
      Mais tu y retrouveras malgré tout de bonnes pratiques et tous les concepts objets sont abordés (Les design patterns sont exposés en tant que collaboration d'objet et les méthodes objets sont abordées).
    • [^] # Re: Merci

      Posté par . Évalué à 1.

      Par contre juste pour précision, les 2 bouquins que tu cites dans ton journal ne sont pas édités chez O'Reilly mais chez les PragmaticProgrammers ( http://www.pragmaticprogrammer.com/ )
    • [^] # Re: Merci

      Posté par (page perso) . Évalué à 2.

      Je viens de le commander sur Amazon.fr, dans les livres neufs vendus par des particuliers. Après avoir été au GUADEC (GNOME User And Developpers European Conference) et avoir vu une présentation de Kathy Sierra, qui a co-écrit ce livre, on se rend compte que vu la qualité de ses présentations, ses livres doivent être pas mal non plus. Au stand O'Reilly, le livre s'est arraché comme des petits pains: ils étaient en rupture au moment où je l'ai demandé (28¤ là bas).

      Si j'ai commandé sur amazon la version anglaise, c'est parce qu'on la trouve à 25,85¤ (zut, les prix ont baissé, je l'ai commandé il y a une semaine à 29¤), plutôt que les 51,30¤ de la version française !
  • # The Pragmatic Programmer

    Posté par (page perso) . Évalué à 6.

    Clairement, pour moi la réponse est The Pragmatic Programmer: From Journeyman to Master, de Andrew Huntet David Thomas.

    Ce livre répond à l'ensemble des proposition faite dans le chapeau : il est très bien écrit, et sera valable encore pour longtemps, et surtout, surtout il traite d'un sujet primordial : comment être un "bon" programmeur. Et non, rien de moins... On sent que les auteurs ont de nombreuses heures de vol, de temps perdu sur des bétises simples à éviter, de gestion de projet impossible, etc.

    Bref, je le conseil à tous ! Pour l'instant, le meilleur bouquin d'informatique que j'ai pu lire.
  • # mes choix

    Posté par (page perso) . Évalué à 1.

    - Conception et Programmation orientées objet par Bertrand Meyer
    Pour toute la basee sur les concepts objets, et sur la programmation objet. Les exemples sont en eiffel, mais c'est pas un problème, les approches sont valables quelques soit le langage objet.

    - Apache (installation et mise en oeuvre) par Ken Coar et Rich Bowen
    Je suis pas fan des livres sur UN logiciel, mais là, c'est clair et efficace. A lire pour toute personne qui configure un peu sérieusement un apache, toutes les réponses à mes besoins étaient dedans.

    - Guide pratique du RUP par Philippe Kruchten et Per Kroll
    Un livre sur le processus de rational. Clair et très pragmatique, sur un sujet pourtant aride.

    - Graphic java : mastering the JFC
    Pour tout ce qui est swing, une vraie mine d'or, non seulement pour sur comment faire, mais surtout sur la BONNE façon de faire. Il y a tout un tas de choses à savoir sur swing pour programmer efficacement, et ce livre part bien dans ce domaine.
    • [^] # Re: mes choix

      Posté par . Évalué à 1.

      +1 pour le bouquin de Meyer, même si j'aurais aimé parfois un peu plus de concision.
      • [^] # Re: mes choix

        Posté par (page perso) . Évalué à 1.

        non, je le jette à la gueule de ceux qui ont pas compris ce qu'était l'objet, alors c'est bon AUSSI pour cette utilisation :o
  • # En général pour Linux

    Posté par (page perso) . Évalué à 2.

    Sans hésiter, le classique des classiques, à mon sens : Linux in a nutshell, chez O'reilly.
  • # Et les petits éditeurs ?

    Posté par (page perso) . Évalué à 2.

    Une question que je me pose depuis un moment est la crédibilité aurpsè d'un public allant du débutant à l'avancé des livres édités par des petits éditeurs tels que ILV (éditeur permettant d'éditer du contenu sous license libre) ou Lulu.com.

    http://www.lulu.com
    http://www.ilv-edition.com/
    http://www.framabook.org/
    http://www.inlibroveritas.eu/catalogue/utilisez-thunderbird.(...)
  • # Programmation Python

    Posté par (page perso) . Évalué à 3.

    http://www.eyrolles.com/Accueil/Livre/9782212116779/livre-pr(...)
    écrit par Tarek Ziadé qu'on peut croiser sur IRC (#python-fr sur Freenode) :-)

    Le livre est très complet et bien écrit. Il s'adresse aux débutants et programmeurs confirmés... un peu à tout le monde, mais personnellement je l'ai lu en diagonale, elles servent surtout aux gens qui débutent.

    J'ai quand même appris beaucoup de chose sur la programmation agile, les tests unitaires, les modèles de conception (design pattern) appliqués en Python, etc.

    Bref, un bouquin a avoir sur son étagère.
    --
    Truc bête : si ce journal se complète, ça serait bien d'en faire une actualité LinuxFR... Pour rappel, on peut justement gagner des livres grâce à ça ! Je me régale encore du « Fontes et codes » (O'Reilly) qu'on m'a offert ;-) C'est une bible pour tous les gens qui s'intéressent de près ou de loin au stockage et au rendu du texte sur un ordinateur (Windows, Mac et Linux).

    Haypo
    • [^] # Re: Programmation Python

      Posté par . Évalué à 2.

      les bouquins de Knuth (Tex) et de Tannenbaum (minix et réseau) ...

      ainsi que le dragon rouge (AHO et consorts) ..

      Eric!
      -----
    • [^] # Re: Programmation Python

      Posté par . Évalué à 1.

      N'y-t'il que celui là de bien pour python ?

      (pour les "débutants-autodidactes-en-python-qui-apprennent-vite", comme pour le livre de d'Eric Daspet qui touche à tout en PHP)
    • [^] # Re: Programmation Python

      Posté par . Évalué à 2.

      Oh, toi qui a lu ce livre, j'ai une question.

      En effet, je m'intéresse à python et c'est de vue le language qui me séduite le plus. Bon passons.
      j'ai trouvé dive into python (j'ai imprimé le pdf, la version française imprimée ne semble pas exister) que j'ai trouvé pas mal fait mais je ne l'ai pas fini.

      Bon ma question sur le livre que tu sites :
      S'adresse-t-il a ceux qui non pas connaissance en programmation, ou aux programmeurs ?
      Je m'explique avec un exemple : la programmation objet, le livre part-il-il du principe que l'on sait ce que c'est, ou est-ce expliqué "dans le concept".
      En effet, bien qu'ayant des basent en programmation et ayant fait un peu d'algoritmique à la fac, je recherche un livre qui me permettent à la fois d'apprendre le python et en même temps de l'algorithmique (les listes chainées, la programmation objet...) et pas un livre de référence sur un language.

      Ce livre correspond-il à ce que je cherche ?

      Merci d'avance, parce qu'au prix des livres j'aimerai tomber directement sur celui qui me convient.
  • # Système

    Posté par (page perso) . Évalué à 3.

    Programmation système en C sous Linux, Christophe Blaess, éd. Eyrolles (ISBN 2-212-11054-5) ... un pavé qui me sert de référence au quotidien.
  • # ...

    Posté par . Évalué à 1.

    «Unix Network Programming», de Richard Stevens, une référence de grande qualité (ISBN 0-13-141155-1)
  • # the last

    Posté par . Évalué à 1.

    Programmation Systeme en C sous Linux (2eme edition) de Christophe Blaess

    C++ GUI Programming With Qt 4 de Jasmin Blanchette, Mark Summerfield
  • # Les bases

    Posté par . Évalué à 5.

    Bouquin en ligne + vidéos :
    http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lec(...)
    (Abelson et Sussman ! Vous vous rendez compte ? C'est presque Knuth !)

    Je ne l'ai découvert que récemment, mais il est indispensable : tout ce qu'il faut pour comprendre la programmation.
  • # Le nid du coucou.

    Posté par (page perso) . Évalué à 1.

    [Stoll] The Cuckoo's Egg. Clifford Stoll. Doubleday. Copyright © 1989. ISBN 0-385-24946-2.

    Clifford Stoll's absorbing tale of how he tracked Markus Hess and the Chaos Club cracking ring nicely illustrates the difference between ˜hacker' and ˜cracker'. Stoll's portrait of himself, his lady Martha, and his friends at Berkeley and on the Internet paints a marvelously vivid picture of how hackers and the people around them like to live and how they think.

    http://en.wikipedia.org/wiki/The_Cuckoo's_Egg

    * Ils vendront Usenet^W les boites noires quand on aura fini de les remplir.

  • # Classiques

    Posté par . Évalué à 2.

    Tous les Tanenbaum, TAoCP de Knuth qui a déjà été cité, le célèbre "Introduction to Algorithms", et aussi Programming Perl qui est le premier livre d'informatique qui m'ait fait rire avec ses footnotes et son lexique.

    Parmis les classiques qui m'ont déçu, je citerais le Dragon Book pour la création de compilateurs, qui m'ennuie profondément, peut-être parce que je l'ai acheté en français, et que la traduction est laborieuse.

    Sinon, les deux livres que tu cites sont effectivement très bien, mais risque de se périmer très vite comparé aux Tanenbaums et Knuths. (Attention, je n'encourage pas à la lecture de TAoCP ceux qui n'ont pas envie d'aller très loin dans les fondamentaux.)
    • [^] # Re: Classiques

      Posté par . Évalué à 2.

      Parmis les classiques qui m'ont déçu, je citerais le Dragon Book pour la création de compilateurs, qui m'ennuie profondément, peut-être parce que je l'ai acheté en français, et que la traduction est laborieuse.


      Alors déjà, je ne savais pas qu'il existait une traduction française officielle, donc j'éviterai de parler pour cette dernière.

      Par contre, ayant le Dragon Book (en VO, donc) chez moi, je ne suis pas d'accord avec ton appréciation. Il est certes assez austère (ça se voit que le bouquin a été écrit dans les années 80), mais il est complet, très orienté "pratique" (là où beaucoup de bouquins du domaine sont justement trop théoriques), et très clair. Maintenant, la compilation est un domaine qui fait intervenir les automates (front-end du compilateur, grammaires LR/LALR, etc), les graphes (optimisation de compilation, graphes de flots de contrôles, etc.), de la prog bas niveau... C'est un domaine extrêmement complet et complexe.

      D'ailleurs pour ceux qui voudraient savoir à quoi pourrait ressembler un compilateur optimisant moderne, je ne peux que conseiller Optimizing Compilers for Modern Architectures: A Dependence-Based Approach (attention, en plus d'être en Anglais, c'est un gros pavé qui coûte cher).

      Là-dedans, on apprend exactement comment fonctionnent les optimisations trouvées dans les back-ends des compilateurs (déroulage de boucle, tuilage, analyse de dépendances, fusion de boucles, etc).

      Tant qu'on y est dans les bouquins, j'aurais tendance à recommander Maîtrise des algorithmes en C (Kyle Loudon, O'Reilly) pour ceux qui ont plutôt une expérience pratique de la programmation et qui voudraient se mettre à l'algorithmique plus sérieusement.

      Introduction à l'algorithmique est un excellent bouquin, mais pour commencer l'algo, je le trouve vraiment pas évident, surtout si on n'a pas un certain background mathématique et la façon de penser qui va avec. De la même manière, pour ceux qui ont le temps et la patience, lire Mathématiques concrètes : Fondations pour l'informatique (Graham, Knuth, Patashnik) est plutôt une bonne chose (et du coup, lire les TAOCP, Introduction à l'algorithmique, etc devient bien plus facile).

      D'une façon générale, dans ces bouquins il y a des exercices, et il est à mon sens important de faire une partie de ceux-ci (sinon on comprend l'idée globale éventuellement, mais on n'est pas capable d'appliquer).
      • [^] # Re: Classiques

        Posté par . Évalué à 2.

        Je n'avais pas osé conseiller "Mathématiques Concrètes", vu que ce n'était pas à proprement parler un livre d'informatique, mais c'est vrai que c'est très bien. Et, contrairement au Dragon Book, justement, c'est agréablement écrit, et contient pas mal d'humour.

        Par contre, comme TAoCP, on n'en trouvera pas d'applications "concrètes" à moins de faire de l'analyse d'algorithmes un peu avancée ou à moins d'aimer les maths discrètes (c'est bon, mangez-en).

        Alors déjà, je ne savais pas qu'il existait une traduction française officielle [du Dragon Book], donc j'éviterai de parler pour cette dernière.

        C'est chez Dunod, mais je crois qu'il est épuisé. Ce que je reproche à la traduction, c'est d'avoir voulu tout franciser, quitte à utiliser des mots français qui ne sont pas les mots employés en pratique. Du coup, pour le lire, on est pratiquement obligé de retraduire en anglais certains mots pour comprendre.
  • # Conseils sur un bouquin plus théorique

    Posté par . Évalué à 2.

    Je profite de ce journal pour demander l'avis de ceux qui ont lu "Types and Programming Languages" de Benjamin C. Pierce. Il a l'air d'être une référence en informatique théorique, et j'aimerais avoir quelques avis dessus, si certains d'entre vous l'ont lu.
    • [^] # Re: Conseils sur un bouquin plus théorique

      Posté par . Évalué à 4.

      J'ai parcourru le bouquin. Il est très bien fait, explique bien comment on passe du lambda calcul (avec thèse de Church, tout ça) aux langages actuels, avec les systèmes d'inférence de types, etc.

      Cas intéressant : il aborde le système de types de Java en détails, et c'est assez intéressant (c'est bourré de lambda calcul).

      Par contre, même si je trouve que le bouquin est très didactique (dans ce que j'en ai lu), j'avais quand même pas mal sué sur l'info théorique et les types avant d'approcher le bouquin, donc il n'est pas dit que pour quelqu'un voulant découvrir ce domaine ce soit si aisé. Si amazon le propose, lis les premières pages pour te faire une idée.
      • [^] # Re: Conseils sur un bouquin plus théorique

        Posté par . Évalué à 2.

        Merci de ton avis.

        Sinon, je ne "découvre" pas ce domaine, et j'ai déjà pas mal sué sur la théorie des types, mais je souhaiterais trouver un ensemble plus détaillé et plus cohérant sur tout ce que j'ai lu. Faudrait juste que je me mette plus profondément dans le lambda calcul, car même si je connais son fonctionnement "de base", j'ai toujours du mal à suivre les preuves de 3 pages qui utilisent les différentes transformations...
    • [^] # Re: Conseils sur un bouquin plus théorique

      Posté par (page perso) . Évalué à 1.

      Je l'ai, il est trés bien en effet, avec une bonne progression entre les chapitres. Il y a des implémentations en OCaml pour les systèmes de types présentés. Et si je me souviens bien il y a des exercices (corrigés à la fin pour certains).

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.