On me demande relativement souvent de conseiller quelques livres à lire pour apprendre la programmation, le développement ou même différents aspects plus théoriques (ou pas). J’ai donc décidé de tenir à jour une petite liste des bouquins qui me semblent importants. Ces listes vont forcément évoluer, n’hésitez pas à me signaler des livres qui manquent, ou des domaines que vous voudriez explorer ou encore à critiquer certains ouvrages qui sont cités ici…
Développement (méthodologies)
- The Practice of Programming, par B. Kernighan, R. Pike chez Addison Wesley, 1999.
- The Art of Unix Programming, par E. S. Raymond chez Addison Wesley, 2003.
- Code Reading: The Open Source Perspective, par D. Spinellis chez Addison Wesley, 2003.
- Code Quality: The Open Source Perspective, par D. Spinellis chez Addison Wesley, 2006.
- Extreme Programming Explained: Embrace Change (2nd Edition), par K. Beck, C. Andres chez Addison Wesley, 2004.
- The Pragmatic Programmer: From Journeyman to Master, par A. Hunt, D. Thomas chez Addison Wesley, 1999.
- Practices of an Agile Developer, par V. Subramaniam, A. Hunt chez Pragmatic Bookshelf, 2005.
- Clean Code: A Handbook of Agile Software Craftsmanship, par R. C. Martin chez Prentice Hall, 2008.
Développement (outils & techniques)
- The Art of Debugging with GDB, DDD, and Eclipse, par N. Matloff, P.J. Salzman chez No Starch, 2008.
- Why Programs Fail: A Guide to Systematic Debugging, par A. Zeller, chez Morgan Kaufmann, 2005.
- Version Control with Subversion, par B. Collins-Sussman, B. W. Fitzpatrick, C. M. Pilato chez O’Reilly, 2004.
- Pragmatic Version Control: Using Subversion, par M. Mason chez Pragmatic Bookshelf, 2006.
- Pragmatic Version Control: Using Git, par T. Swicegood chez Pragmatic Bookshelf, 2008.
Programmation Système
- Linux Kernel Development (2nd Edition), par R. Love chez Sams, 2005.
- Linux System Programming: Talking Directly to the Kernel and C Library, par R. Love chez O’Reilly, 2007.
- Linux Device Drivers (3rd Edition), par J. Corbet, A. Rubini, G. Kroah-Hartman chez O’Reilly, 2005.
- Understanding Linux Network Internals, par C. Benvenuti chez O’Reilly, 2005.
Programmation C
- C Programming Language (2nd Edition), par B. Kernighan, D. Ritchie chez Prentice Hall, 1988.
- Méthodologie de la programmation en C (4ème édition), par A. Braquelaire chez Dunod, 2005.
Programmation Objet
- Design Patterns: Elements of Reusable Object-Oriented Software, par E. Gamma, R. Helm, R. Johnson, J. Vlissides chez Addison Wesley, 1994.
- Refactoring: Improving the Design of Existing Code, par M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts chez Addison Wesley, 1999.
- Head First Design Patterns, par E. Freeman, E. Robson, B. Bates, K. Sierra chez O’Reilly, 2004.
Architecture des ordinateurs
- Computer Architecture: A Quantitative Approach (4th Edition), par J. Hennessy, D. Patterson chez Morgan Kaufmann, 2006.
- Computer Organization and Design (3rd Edition), par D. Patterson, J. Hennessy chez Morgan Kaufmann, 2007.
- Computer Systems: A Programmer’s Perspective, par R. Bryant, D. O’Hallaron chez Prentice Hall, 2002.
Compilation
- Modern Compiler Design, par D. Grune, H. Bal, C. Jacobs, K. Langendoen chez Wiley, 2000.
- Compilers: Principles, Techniques, and Tools (2nd Edition), par A. Aho, M. Lam, R. Sethi, J. Ullman chez Addison Wesley, 2006.
- Advanced Compiler Design and Implementation, par S. Muchnick chez Morgan Kaufmann, 1997.
- Engineering a Compiler, par K. Cooper, L. Torczon chez Morgan Kaufmann, 2003.
- Linkers and Loaders, par J. Levine chez Morgan Kaufmann, 2000.
- Optimizing Compilers for Modern Architectures: A Dependence-based Approach, par R. Allen, K. Kennedy chez Morgan Kaufmann, 2001.
- Lex & Yacc (2nd Edition), par J. Levine, T. Mason, D. Brow chez O’Reilly, 1992.
- The Definitive ANTLR Reference: Building Domain-Specific Languages, par Terence Parr chez Pragmatic Bookshelf, 2007.
Sécurité Logicielle
- The Shellcoder’s Handbook: Discovering and Exploiting Security Holes (2nd Edition), par C. Anley, J. Heasman, F. Linder, G. Richarte chez John Wiley & Sons, 2007.
- Secure Coding in C and C++, par R. Seacord chez Addison Wesley, 2005.
- Hacking: The Art of Exploitation (2nd Edition), par J. Erickson chez No Starch Press, 2007.
- Exploiting Software: How to Break Code, par G. Hoglund, G. McGraw chez Addison-Wesley (Software Security Serie), 2004.
- Rootkits: Subverting the Windows Kernel, par G. Hoglund, J. Butler chez Addison-Wesley (Software Security Serie), 2005.
- Designing BSD Rootkits: An Introduction to Kernel Hacking, par J. Kong chez No Starch, 2007.
- The Art Of Computer Virus Research And Defense, par P. Szor chez Addison-Wesley, 2005.
Cryptographie
- Applied Cryptography (2nd Edition), par B. Schneier chez John Wiley & Sons, 1996.
- Modern Cryptanalysis: Techniques for Advanced Code Breaking par C. Swenson chez Wiley, 2008.
- Cryptography : Theory and Practice (3rd Edition), par D. Stinson chez Chapman & Hall / CRC, 2005.
- Introduction to Cryptography, par J. Buchmann chez Springer, 2004.
- Introduction to Cryptography: Principles and Applications (2nd Edition), par H. Delfs, H. Knebl chez Springer, 2007.
Informatique théorique
- Computers and Intractability: A Guide to the Theory of NP-Completeness, par M. Garey, D. Johnson chez W. H. Freeman, 1979.
- Computational Complexity, par C. Papadimitriou chez Addison Wesley, 1993.
- Introduction to the Theory of Computation (2nd Edition), par M. Sipser chez Course Technology, 2005.
- Introduction to Algorithms, par T. Cormen, C. Leiserson, R. Rivest, C. Stein chez The MIT Press, 2001.
- Introduction to Automata Theory, Languages, and Computation (3rd Edition), par J. Hopcroft, R. Motwani, J. Ullman chez Addison Wesley, 2006.
Vérification Logicielle
- Model-Checking, par E. Clarke, O. Grumberg, D, Peled, chez MIT Press, 1999.
- Reactive Systems: Modelling, Specification and Verification, par L. Aceto, A. Ingólfsdóttir, K. Larsen, J. Srba, chez Cambridge University Press, 2007.
- Systems and Software Verification: Model-Checking Techniques and Tools, par B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, P. Schnoebelen, chez Springer, 2001.
- Interactive Theorem Proving and Program Development, par Y. Bertot, P. Castéran, C. Paulin-Mohring chez Springer, 2004.
- Principles of Program Analysis (2nd Edition), par F. Nielson, H. Nielson, C. Hankin chez Springer, 2005.
Merci pour cette liste qui m’a beaucoup aidé dans mes choix