Passer au contenu principal

Les livres et autres sites Internet sont des ressources très appréciables pour un développeur. Celui-ci doit cependant être anglophone, car c’est dans cette langue que sont écrites pratiquement toutes les publications les plus intéressantes. Par ailleurs ceux-ci sont très important car pour ne pas être déphasé avec le marché, il faut pouvoir actualiser régulièrement ses connaissances. Dans la suite de cet article nous donnons quelques livres intéressants, classés par thème, ainsi que d’autres éléments utiles.

La première chose à savoir concernant les livres d’informatique est qu’il est en fait possible d’en télécharger un bon nombre légalement et gratuitement sur le site internet IT Ebooks. Alors bien sûr lire sur un écran n’est pas franchement agréable, mais ça dépanne bien pour avoir une référence ou quand on est à court d’argent. Personnellement j’achète plutôt mes livres sur papier en passant par Amazon. Celui-ci propose de nombreux bouquins américains à des tarifs relativement intéressants.

Un autre truc à savoir est qu’il faut toujours privilégier la dernière version d’un livre car c’est la plus à jour, sauf indication contraire.

Voyons maintenant les livres, catégorie par catégorie. Les liens fournis pointent vers Amazon.

Concepts généraux sur le code

Il s’agit là d’indispensables que tout programmeur qui se respecte devrait avoir lu. Ils sont aussi assez intemporels :

– Clean code : le titre suffit à résumer le livre, qui est très bon, et oui il a un peu changé ma manière de coder.
– Domain Driven Design : moins indispensable que le premier, mais permet de faire du code facilement compréhensible par rapport à un domaine précis. Et oui si on ne code pas d’applications qui servent à des utilisateurs c’est un peu dommage…
– Continuous Delivery : parce que le métier de développeur ne s’arrête pas dès qu’on a fait son commit…

Design patterns

Les design patterns répondent à des problématiques récurrentes du développement. Attention toutefois à ne pas en abuser car le remède peut être pire que le mal. Le sujet est intemporel, ce qui explique pourquoi les livres traitant du sujet sont plutôt anciens. Voici deux livres qui traitent du sujet :

– Design patterns : Elements of Reusable Object-oriented software : le livre de référence sur le sujet, par lequel tout à commencé. Un peu rasoir à lire mais fournit plein d’exemples en Smalltalk. Dans la littérature ce livre est aussi surnommé Gang of Four (GoF) ou encore Gamma book.
– Head first design patterns : une présentation bien plus ludique mais aussi moins complète des Design Patterns, très bien pour mettre le pied à l’étrier.

Java/JEE : concepts généraux

Bon là c’est plus mon domaine donc je peux vous donner plus de références bien utiles :

– Effective Java : LE livre que tout programmeur Java se doit de lire, écrit par Joshua Bloch, un des auteurs de la JVM.
– Java Concurrency in Practice : celui-ci est moins indispensable que le précédent, mais le devient très rapidement dès lors que vous voulez faire des applications un peu sérieuses en Java/JEE.
– Java Puzzlers: Traps, Pitfalls, and Corner Cases : un livre très marrant à lire sur tous les cas limites du langage Java. Et au passage il permet d’apprendre pas mal de trucs sur la JVM assez sympa.

Java/JEE : pour se tenir à jour

Un peu moins de références mais celles-ci sont tout de même assez sympa à connaître :

– Java 8 in Action: Lambdas, streams, and functional-style programming : un très bon bouquin sur les nouveautés de Java 8, dont les lambdas qui sont un repompage éhonté de ce qui se fait en cédièse.
– The Well-Grounded Java Developer : Vital techniques of Java 7 and polyglot programming : pour être honnête dans ce livre je pense qu’il y a du très bon… mais aussi du très mauvais. Néanmoins il présente très bien la grande nouveauté de Java 7, à savoir NIO2.

Java/JEE : autres

Quelques autres références très utiles sur divers sujets :

– Java Performance : un livre plus tout à fait à jour, ne couvrant que Java 6, mais quand même, extrêmement utile pour savoir comment optimiser une application Java, dimensionner la JVM et autres.
– Spring in Action : un très bon ouvrage sur Spring. Attention, le sujet est extrêment vaste, mais celui-ci est très bien pour avoir une bonne vue d’ensemble du framework et de ce qui sert le plus souvent dans la vie de tous les jours, à savoir l’inversion de contrôle, l’AOP et la gestion des connexions à la base de données et autres transactions.
– Enterprise JavaBeans 3.1 : pour ceux d’entre vous qui en font encore. Il est vrai que du chemin a été parcouru depuis les sinistres EJB 2, mais dans la vraie vie vous les croiserez de moins en moins sauf dans le cas du clustering où ils ont encore une réelle utilité.

Javascript

Pour ceux qui ne sont pas trop allergiques à Javascript, ce n’est pas mon cas, voici deux références assez sympa :

– Javascript : the good parts : eh oui il y a quand même quelques trucs sympa dans ce langage. Personnellement je suis très fan de pouvoir passer des fonctions en paramètre d’autres fonctions.
– AngularJS : un framework qui monte, monte… même si maintenant Angular 2 est sorti ou sur le point de sortir. C’est la joie des frameworks Javascript : au bout de deux ou trois ans ils sont pratiquement abandonnés et il faut recommencer à zéro.
A noter : Javascript est hélas un langage indispensable à connaître tant il sert, malgré ses très nombreux défauts. Après développer dans ce langage au quotidien c’est autre chose…

Autres langages

Quelques autres bouquins sympa, dans différents langages :

– Practical C++ programming : très bien pour les grands débutants en C++ comme moi. 😉
– Programming C# 5.0 : très bien pour se mettre au cédièse. Ce dernier est une vulgaire copie de Java totalement fermée (troll inside 😉 ), quoique Microsoft ayant pris conscience de son retard ils se sont décidés à ouvrir le langage pour que celui-ci tourne complètement sur les vrais systèmes (quoique… XAML n’est toujours pas dispo sur les vrais OS). Il faut quand même reconnaître que Visual Studio a une énorme longueur d’avance sur Monodevelop…

Divers

Quelques autres sujets qui sont utiles à connaître, mais hors catégorie :

– The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws : un livre très intéressant pour comprendre les méthodes des pirates pour hacker vos applications web… et apprendre à réagir en conséquence.
– Version control with Git : pour comprendre le fonctionnement de Git (et oui il n’y a pas besoin d’utiliser Git commit pour faire un commit dans Git, mais bon c’est assez hardcore de le faire sans ça…).
– Puppet 3 cookbook : de bonnes pratiques et autres astuces sur Puppet

Le mot de la fin

Ce qui compte finalement dans tout ça est de vous tenir à jour, bref de vous former. A titre personnel j’avoue que je regarde assez rarement les sites spécialisés sur Java, mais plutôt des sites plus généralistes comme Next Inpact. Après si vous voulez des sites plus généralistes mais orientées plutôt programmation il y a :

– InfoQ
– Tech Gig, le meilleur site Indien traitant du sujet
Dernier point : à titre personnel je prends les bouquins soit pour débuter sur une techno soit pour approfondir quelque chose que je pense bien maîtriser, mais il ne faut pas hésiter à avoir un sens critique sur ce qu’on lit… Tout n’est pas nécessairement bon à prendre, l’humain étant faillible, moi le premier. 😉 Et pour info votre serviteur a lu tous ces bouquins, hormis Head First Design Patterns, sur lequel j’ai eu de très bon échos !

Cet article vous a plu ? Vous aimerez sûrement aussi :

Julien
Moi c’est Julien, ingénieur en informatique avec quelques années d’expérience. Je suis tombé dans la marmite étant petit, mon père avait acheté un Apple – avant même ma naissance (oui ça date !). Et maintenant je me passionne essentiellement pour tout ce qui est du monde Java et du système, les OS open source en particulier.

Au quotidien, je suis devops, bref je fais du dév, je discute avec les opérationnels, et je fais du conseil auprès des clients.

Son Twitter Son LinkedIn

Rejoignez la discussion 2 Commentaires

  • bonnissent dit :

    C’est quand même plus remplir la bibliothèque de javaiste que celle du programmeur.

    Presque la moitié des livres sur le Java et un gros troll sur le JavaScript….

  • gojul dit :

    Hello,

    En effet je parle beaucoup de Java car c’est vraiment la techno que je maîtrise. Mais d’un autre côtés d’autres livres plus généraux dont Clean Code prennent ce langage pour construire leurs exemples, comme quoi. 😉

    Après vous pouvez parfaitement ajouter d’autres références de livres, et on complètera l’article en fonction.

    Dernier point : pour JS effectivement c’est à la limite du troll mais force est de constater en cherchant un peu qu’il s’agit tout de même d’un langage très controversé d’une part (et utilisé par défaut), et d’autre part que les frameworks JS tiennent bien souvent au plus trois ans. Après ça ne signifie pas qu’il n’y a pas de bons trucs en JS, bien au contraire, mais juste que bon, c’est dommage. Après je pense que la tentative d’ajouter un typage fort sur JS était une bonne idée, mais dommage qu’elle ait été rejetée.

Laisser un commentaire