L’ouvrage de Donald Knuth « The Art of Computer Programming » vaut-il la peine d’être lu ? Tableau d’affichage


Je connais un ingénieur logiciel qui a acheté les livres. Ils reposent sur son étagère à la maison. Il dit qu'il les lit, mais qu'il ne les comprend pas. Je pense honnêtement que les gens les ont sur leur étagère plus comme un trophée que comme une référence. J'ai moi-même commandé un ensemble pour mon travail. Quand j'ai changé de travail, il a été accidentellement mis dans un carton. Je les ai trouvés en les déballant des mois plus tard. Je suis retourné à mon ancien travail, et quelqu'un les avait déjà remplacés par un nouveau jeu. La personne qui dirigeait la bibliothèque m'a dit que je devais les garder, mais cela ne me convenait pas, alors maintenant ils ont deux exemplaires. Mais pour être juste, je savais aussi que je ne les utiliserais jamais vraiment.


Je pense que vous êtes bien mieux d'acheter des livres récents qui se restreignent à ce sur quoi vous travaillez actuellement, en sachant qu'ils deviendront obsolètes dans quelques années. Le génie logiciel et l'informatique sont des domaines qui se développent rapidement. Il est important de connaître les algorithmes de base, mais si vous êtes un ingénieur ou un scientifique plutôt qu'un universitaire, il est probablement préférable d'acheter des livres récents et pertinents pour votre travail. Les livres de Knuth sont intemporels, mais il existe de meilleures façons d'apprendre les algorithmes connus. Ce que vous devez vraiment savoir, c'est comment les appliquer dans des contextes pratiques et, surtout, comment créer vos propres algorithmes en fonction du problème que vous avez à résoudre. Dans notre domaine, il arrive que les gens recréent la roue, mais la plupart du temps, ils ne le font pas. Ils obtiennent les derniers livres pratiques, et si le problème est vraiment nouveau, alors ils écrivent le leur, et ils l'écrivent en fonction des exigences du projet, qu'il soit à usage commercial ou académique.


J'ai vu plus d'exemplaires de The Timeless Way of Building sur les étagères des gens qu'un ensemble de livres de Knuth, et ce livre porte sur l'architecture des bâtiments physiques, pas sur le développement de logiciels. Mais ces analogies tiennent toutes. La structure, la réutilisabilité, l'adaptabilité et la facilité de maintenance sont ce qui rend les programmes solides et durables, tout comme un bâtiment bien conçu et bien construit.