JavaRush /Blog Java /Random-FR /Top 10 des livres de programmation pour les débutants
Max Stern
Niveau 35
Нижний Новгород

Top 10 des livres de programmation pour les débutants

Publié dans le groupe Random-FR
J'ai un collègue qui a mené de nombreux entretiens techniques pour les futurs Javaistes. Je lui ai demandé un jour ce qui influence la décision d'embaucher un candidat sans réelle expérience lors du choix parmi des personnes ayant des compétences linguistiques à peu près égales. Compte tenu de la situation du marché, je pense que cette question concerne beaucoup d’entre vous. Top 10 des livres sur la programmation pour débutants - 1"La passion pour la technologie, la capacité de choisir la meilleure option pour résoudre un problème, une érudition générale en informatique, une compréhension de ce qui l'attend au travail" - telle fut sa réponse. J'ai décrit un jour dans un article les livres de programmation pour débutants qui m'ont aidé à apprendre Java. Dans cet article, je me concentrerai sur les publications qui aideront un programmeur novice à acquérir cette érudition informatique, cette compréhension des travaux futurs et à simplifier également la tâche de choix de la meilleure solution. Autrement dit, trouvez un emploi et y travaillez aussi bien que possible dès le début. J'ai compilé cette liste selon mes propres préférences, elle peut donc être quelque peu subjective. Il existe à la fois des manuels de programmation classiques pour les étudiants et des ouvrages de référence pour les programmeurs de toutes générations.

Améliorer le code et la productivité

Il ne suffit pas d’écrire du code. Il est important de bien l’écrire, de pouvoir l’améliorer, et aussi de comprendre comment il se développe en général. Les livres suivants destinés aux programmeurs débutants et autres ont aidé plus d'une génération de spécialistes à faire face au processus technologique difficile du développement de logiciels.

Programmeur pragmatique. Compagnon du Maître (Andrew Hunt, David Thomas)

Titre original : The Programmatic Programmer from From Journeyman to Master par Andrew Hunt et David Thomas Top 10 des livres sur la programmation pour débutants - 2Si vous n'avez pas lu ce livre, vous en avez probablement rencontré à plusieurs reprises des citations sur des forums et des ressources spécialisées. L'image d'un programmeur pragmatique dans ce livre est si claire et idéalisée que... on peut le qualifier de romantique, aussi paradoxal que cela puisse paraître. Néanmoins, les conseils du livre sont pratiques et pertinents, malgré son âge avancé. Je ne sais pas à quoi comparer « The Pragmatist Programmer » dans le monde des livres de programmation. Les analogues les plus proches de ce monde sont « l’Ancien Testament » ou un livre de cuisine super cool. En « Pragmatique », tout est très spécifique et applicable au maximum dans la pratique. Parfois, cela va jusqu'à la banalité (par exemple, la section sur la communication efficace contient les règles de base de l'étiquette des affaires), mais parfois les conseils du livre sont irremplaçables, surtout si un développeur novice n'a pas de mentor patient et attentif. Ce sont des conseils sur la répétabilité du code, le prototypage et l'estimation. Ou un rappel de l'impossibilité de créer un programme parfait. Il y a aussi des points techniques utiles liés par exemple au débogage du code, aux tests unitaires ou à la vitesse des algorithmes... bref, de quoi préparer une carrière de programmeur.

Refactorisation et amélioration du code existant (Martin Fowler)

Titre original : Refactoring : Improving the Design of Existing Code par Martin Fowler, avec Kent Beck Top 10 des livres sur la programmation pour débutants - 3Si vous demandez à quelqu'un de lister les meilleurs livres de programmation de tous les temps pour booster sa carrière, quelqu'un mentionnera certainement « Refactoring ». Certains diront peut-être que ce livre est dépassé et, à certains égards, ils auront raison. Il a été écrit à une époque où le refactoring n’était pas encore une règle universelle, et certaines de ses vérités sont évidentes pour les aspirants programmeurs d’aujourd’hui. Néanmoins, les techniques de refactoring y sont si bien et en détail décrites (à certains endroits, je dirais même, de manière verbeuse) que chaque débutant y trouvera quelque chose d'utile. Une édition mise à jour du livre est sortie il y a quelques années et de nouvelles techniques ont été ajoutées, ce qui est formidable. De plus, les exemples de ce livre sont écrits en Java. Le seul inconvénient que je peux mentionner est la verbosité. Néanmoins, je recommande le livre.

Code propre (Robert Martin)

Titre original Clean Code: A Handbook of Agile Software Craftsmanship par Robert C. Martin Top 10 des livres sur la programmation pour débutants - 4Ce livre, bien que plus récent que le précédent, est également devenu un classique des livres sur la programmation. « Oncle Bob », comme on appelle parfois Robert Martin dans la communauté mondiale des programmeurs, est l'un des auteurs du manifeste Agile, ainsi que de certains des principes de la programmation « pure » moderne, par exemple SOLID. L'un des principaux leitmotivs du livre peut être considéré... comme l'empathie ou simplement une bonne attitude envers tous ceux qui devront travailler avec votre code (y compris vous-même à l'avenir). La plupart des règles du « Clean Code » reposent sur ce principe simple et de bon sens. La plupart des règles et des conseils semblent très corrects, du genre qui tourbillonnent intuitivement dans votre tête, mais il n'est pas facile de les formuler clairement. On peut cependant contester certaines réflexions de l’auteur : il est parfois extrêmement catégorique. Par exemple, il écrit qu’un bon code n’a pas besoin d’être commenté. Néanmoins, le livre est à lire absolument.

Travailler efficacement avec le code existant (Michael Feathers)

Titre original Working Effectively with Legacy Code de Michael Feathers Top 10 des livres sur la programmation pour débutants - 5La vie ne vous a pas préparé à cela... Non, vraiment : si vous êtes juste en train d'apprendre, vous ne pouvez pas imaginer à quel point il est pénible de travailler avec des bases de code existantes, qui ont probablement été écrits par le grand-père de Bill Gates. Ce code est souvent écrit complètement différemment de ce à quoi vous êtes habitué, et est si mal documenté que parfois on a envie de retrouver son auteur et... Hélas : la vie d'un programmeur Java sur de gros projets est très souvent associée au support Legacy. Ce livre peut vous aider avec les aspects techniques du travail avec du code ancien, mais il peut également vous aider à accepter votre destin. Et oui, je suis sérieux. Ce livre vous sera utile si vous visez fermement une entreprise d'externalisation ou de produits avec de grands projets.

Tête première. Modèles de conception (Eric Freeman, Bert Bates, Kathy Sierra, Elizabeth Robson)

Titre original Head First Design Patterns: A Brain-Friendly Guide par Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson Top 10 des livres sur la programmation pour débutants - 6Les modèles de conception sont ces règles logiques de bonne forme qui, si vous ne les étudiez pas au fil du temps, vous viendront à l'esprit ( ou pas...) et qui se transforment littéralement en super pouvoir pour un programmeur débutant si on commence à les regarder le plus tôt possible. Oui, au début, il est utile de jouer avec un projet personnel relativement complexe et d'essayer de le décomposer soi-même en sous-tâches... et finalement de retrouver le même schéma. Cependant, lorsqu’il s’agit de travail, il n’y a pas toujours assez de temps pour expérimenter. Quand j'ai obtenu le stage, je connaissais très peu de choses sur les modèles : pendant mes études à JavaRush, je sautais simplement toutes ces usines, singletons, injections, dépendances, pensant que je les comprendrais en cas de besoin. Cependant, il a fallu le comprendre très rapidement, et c'était le livre « Head First. Design Patterns » m’a aidé avec cela. C'est simple à écrire, rempli d'illustrations et d'humour... Je pense que la présentation du thème « design patterns » est très importante : elle peut être présentée de manière très ennuyeuse, ou elle peut être présentée comme dans Head First. Un excellent ajout au « Clean Code » et/ou au « Refactoring » !

Architecture informatique et informatique générale

Dans quelle mesure est-il important pour un futur programmeur de comprendre l’architecture informatique, de savoir comment les systèmes d’exploitation sont structurés et comment les bases de données sont structurées ? Ce n'est pas un fait que ces connaissances vous seront utiles dans votre travail. Mais ils vous aideront certainement à démontrer votre passion pour le domaine informatique et vos connaissances en informatique. Et surtout : si vous savez comment tout fonctionne, cela vous aidera à mieux résoudre les problèmes. Informations 100%. Voici donc deux autres livres pour vous aider.

Code (Charles Petzold)

Titre original Code : Le langage caché du matériel informatique et des logiciels par Charles Petzold Top 10 des livres sur la programmation pour débutants - 7La première édition de « Code » a vu le monde au début des années 2000, mais en fait, elle aurait pu paraître plus tôt ou plus tard - et aurait toujours été d'actualité. Le fait est que dans ce livre, le fonctionnement d'un ordinateur est expliqué à un niveau très, très bas, en commençant par le fonctionnement de ces mêmes zéros et uns, et le tout premier exemple technique est un circuit de lampe de poche, qui peut être considéré comme le plus simple. -bit ordinateur... Non, vous ne pensez pas que tout dans le livre est très primitif. En fait, c'est exactement le contraire... Il décrit les circuits informatiques, avec les commandes, le fonctionnement de la mémoire et les systèmes d'exploitation dans leur essence même. C'est peut-être après l'avoir lu que j'ai compris comment fonctionnent les ordinateurs. Même si l'architecture et le jeu d'instructions du processeur changent et que la bande passante mémoire augmente, les ordinateurs fonctionnent essentiellement de la même manière. Un programmeur Java a-t-il besoin de ces connaissances ? Très peu de personnes en auront besoin directement dans leur travail. Mais indirectement, j'ai souvent été aidé dans mon travail par le fait que je comprenais comment tout cela fonctionnait réellement.

Introduction à l'informatique (Glenn Brookshire, Dennis Brilov)

Titre original Computer Science: An Overview par Glen Brookshear et Dennis Brylow Top 10 des livres sur la programmation pour débutants - 8Ce livre m'est venu à l'université, alors que j'étudiais les bases de l'informatique. Seulement j'ai reçu une traduction de la sixième édition, et actuellement la 13ème édition est d'actualité. Le livre est un cours de base en informatique enseigné depuis de nombreuses années dans des universités aux États-Unis et dans d’autres pays. La couverture du matériel qu'il contient est très large : architecture des machines, systèmes numériques, traitement des données, systèmes d'exploitation, principes de construction de bases de données, structures de données, structures de fichiers, etc. Toutes les sections du livre ne sont pas aussi bien écrites. Par exemple, j'étais autrefois très confus par les sections sur les méthodes de conception et les bases de données, mais les sections sur les systèmes numériques, les calculs au niveau des bits, l'architecture PC et les structures de données m'ont vraiment interpellé. Ce qui est le plus cool du livre, c'est le grand nombre d'exercices avec des clés. Outre les étudiants, un tel livre est probablement nécessaire principalement aux autodidactes sans formation technique afin de combler les lacunes et de se faire une idée de l'informatique en général.

Algorithmes et structures de données. Et encore une autre attaque !

Étant donné le niveau élevé de programmation moderne, la connaissance des algorithmes est devenue moins importante. Il suffit maintenant d'utiliser la bibliothèque requise et de ne pas vous creuser la tête sur la meilleure façon de trier le tableau. Cependant, vous devrez quand même vous creuser la tête au travail, et plus d'une fois. Vous vous souvenez du point « la capacité de choisir la meilleure solution possible » parmi les exigences d'un programmeur débutant ? Ainsi, quoi qu’on en dise, je considère qu’une bonne formation algorithmique est une excellente mise à niveau pour trouver des solutions optimales. C’est pourquoi les deux livres suivants leur sont consacrés. À propos des algorithmes.

Nous faisons bouger les algorithmes. Un guide illustré pour les programmeurs et les curieux Aditya Bhargava

Titre original : Grokking Algorithms : Un guide illustré pour les programmeurs et autres curieux par Aditya Y. Bhargava Top 10 des livres sur la programmation pour débutants - 9L'auteur lui-même écrit au début du livre que les algorithmes ne lui sont pas venus tout de suite, et il a essayé d'écrire « Grokking Algorithms » ainsi qu'il serait facile à lire. Il est conçu pour les programmeurs débutants, c'est-à-dire ceux qui savent écrire « hello, world » et savent ce que sont un int, une chaîne, une boucle, une branche et un tableau. Eh bien, il peut afficher le tableau sur l'écran. Les connaissances requises en mathématiques se situent approximativement au niveau de la 6e à la 7e année du secondaire, sans fioritures. Et c'est le premier plus sérieux du livre. Il n’essaie pas d’imaginer le lecteur comme un étudiant en mathématiques, comme le font de nombreuses publications sur le sujet. Autrement dit, si vous avez peur des mathématiques, des algorithmes, avez déjà essayé d'apprendre ces derniers et n'avez rien compris, ce livre est parfait pour votre rééducation à vos propres yeux. Le deuxième point positif est que le livre aborde quelque chose qui pourrait très bien être utile dans la pratique (et comprendre que c'est certainement vrai). Cela commence par une explication de l'essence de la recherche binaire et de l'efficacité - littéralement sur les doigts et avec de nombreuses images. Troisièmement, le livre contient de nombreuses questions et exercices (les exemples de code sont en Python, mais ce n'est pas si important). Un point qui peut être positif pour certains, mais négatif pour d’autres : l’ouvrage ne prétend pas être un ouvrage de référence global. Disons que parmi les algorithmes d'étude généralement acceptés, il n'y en a que deux ici : l'algorithme d'insertion inefficace et l'algorithme de tri rapide efficace. Je ne sais pas pourquoi l'auteur ne devrait pas envisager d'autres algorithmes, disons bulle ou fusion. En fait, l'algorithme de fusion est évoqué dans le livre, mais brièvement, sans analyse, et uniquement en comparaison avec le tri rapide. Le reste des sujets est exactement le même. Il y a des bases qui sont très bien abordées, mais parfois on a vraiment envie d’une suite plus approfondie, mais il n’y en a tout simplement pas. En un mot, c'est un livre très basique, après quoi, très probablement, vous souhaiterez trouver un livre dans lequel tout est décrit plus sérieusement. Par exemple, le suivant.

Algorithmes en Java (Robert Sedgwick, Kevin Wayne)

Titre original : Algorithmes de Robert Sedgewick et Kevin Wayne Top 10 des livres de programmation pour débutants - 10En fait, ce livre peut à la fois charmer et effrayer. Il vous fera au moins peur avec son volume de... beaucoup de pages et son certain caractère académique. Par conséquent, si vous n'y êtes pas enclin, universitaires, ou si vous ne vous sentez pas confiant en mathématiques (lycée, les éléments les plus simples des mathématiques supérieures pour les ingénieurs), alors il vaut mieux ne pas commencer par ce livre. Il n'y a pas tellement de termes mathématiques là-bas, mais l'approche elle-même présuppose une telle réflexion. Mais après le livre précédent, pourquoi pas. Elle vous donnera un guide. Le premier chapitre résume à certains endroits les connaissances de Java et définit certaines structures de données. Il est préférable de le lire de manière sélective, mais cela ne ferait pas de mal d'étudier les deuxième et troisième chapitres de manière suffisamment détaillée. Le reste regorge également d’informations intéressantes et détaillées sur les graphiques et les chaînes. Je dirais que des choses comme celle-ci sont TRÈS utiles pour façonner l’état d’esprit de la programmation. Concernant la présentation, on sent que l'auteur est un enseignant, mais habitué à travailler avec des gens pour la plupart intéressés et préparés. Alors soyez patient et lisez. Et aussi résoudre des problèmes, il y en a beaucoup ici. D'ailleurs, sur Coursera, vous pouvez trouver un cours sur les algorithmes créés par les auteurs du livre.

Connaissez votre cadre

Et enfin, encore un livre. Et encore une fois - utile.

Le printemps en action (Craig Walls)

Titre original : Spring in Action de Craig Walls Top 10 des livres de programmation pour débutants - 11Un livre très célèbre avec une couverture tout aussi célèbre avec un « homme en jupe » qui ne porte pas réellement de jupe. Franchement, apprendre Spring à partir d'un seul livre est une tâche très difficile, même si vous essayez de tout essayer en pratique en même temps. À propos, il peut être extrêmement difficile de comprendre comment procéder après avoir lu tel ou tel chapitre. J'ai travaillé avec ce livre lorsque j'ai obtenu un stage dans une entreprise, et lorsqu'il est utilisé de cette manière, il m'aide beaucoup. D'ailleurs, encore aujourd'hui, travaillant déjà comme programmeur, j'y reviens constamment. Bref, vous pouvez vous faire une idée générale du framework Java principal grâce à son aide.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION