web-dev-qa-db-fra.com

Pourquoi les gens utilisent-ils des livres de programmation?

Je trouve que lorsque quelqu'un demande quelle est la meilleure façon d'apprendre à programmer, les gens leur fournissent généralement des références à un tas de textes écrits par divers auteurs.

Cependant, je ne crois pas que beaucoup de gens apprennent à programmer à partir de livres. Je trouve qu'ils sont généralement confrontés à un défi et utilisent ensuite la programmation comme un outil pour le surmonter.

Par exemple, je suis entré dans la programmation parce que je voulais démarrer un serveur pour un jeu auquel je jouais, j'ai donc cherché sur Google et lu le support de ce serveur particulier et maintenant je suis ingénieur logiciel employé, en utilisant uniquement les compétences que j'ai développées ( et ensuite développé) en codant des scripts C # pour un package serveur peu populaire.

Ma question est donc la suivante: les gens trouvent-ils généralement plus facile d'apprendre de ces livres? Je sais que j'ai regardé quelques-uns d'entre eux et les ai trouvés beaucoup trop "secs" pour m'encourager à le terminer.

94
Alex Hope O'Connor

Voici comment j'apprends, d'une manière générale:

  • Achète un livre
  • Ne le lisez pas de bout en bout mais sachez où tout se trouve
  • Trouvez un projet pour animaux de compagnie sur lequel travailler
  • Apprenez de l'expérience, mais utilisez le livre comme référence
  • Là où le livre échoue, il y a toujours google

Remarque: le troisième point vient parfois en premier.

Modifier : Pour répondre à la question "Pourquoi?"

Google est formidable pour savoir comment faire quelque chose, mais ce n'est pas génial pour découvrir ce que vous ne savez pas. Pourquoi voudriez-vous jamais google "délégués C #", si vous ne saviez pas d'abord que C # a un concept appelé délégués et qu'il pourrait être utile pour résoudre un problème sur lequel vous travaillez?

De plus, le rapport signal/bruit peut parfois être un peu élevé. Si vous avez une idée approximative de la façon dont quelque chose est fait, vous pouvez facilement confirmer si l'article que vous lisez est correct. Mais si vous n'avez aucune idée ... vous pouvez vous retrouver dans un plus grand désordre.

229
pdr

Quelques raisons pour lesquelles les livres sont toujours pertinents:

  1. Je trouve qu'il est plus facile de lire beaucoup de texte sur papier que sur un écran standard LCD, peut-être que les livres électroniques sur un écran à encre électronique changeront cela.
  2. Le livre a tendance à décrire la situation dans son ensemble et certaines bonnes pratiques, ce qui est vraiment bien lorsque vous avez besoin d'un démarrage rapide ou d'une nouvelle vue.
  3. Google est vraiment bon lorsque vous avez besoin d'exemples sur un sujet spécifique, mais pas pour la vue d'ensemble.

Mais un livre ne vous mènera jamais jusqu'au bout, il vous poussera simplement dans la bonne direction.

42
Johan

Quand j'ai appris la programmation dans les livres des années 80, c'était plus ou moins la seule source d'information disponible pour apprendre complètement un langage de programmation dans son ensemble. De plus, vous pouviez acheter des magazines informatiques, mais leur contenu était des articles aléatoires qui pouvaient être intéressants et utiles ou non.

De nos jours, vous pouvez trouver toutes les informations dont vous avez besoin sur Internet. Bien que je considère un tutoriel complet comme assez similaire à un livre.

La façon dont vous apprenez peut dépendre de vos préférences personnelles ou de vos besoins réels.

L'avantage d'un "texte complet", s'il s'agit d'un livre ou d'un didacticiel en ligne, sera qu'il couvre du matériel qui, bien que n'étant pas réellement nécessaire, vous aidera plus tard. C'est juste de savoir que quelque chose est possible et de savoir où le trouver. Surtout si vous découvrez un environnement complexe ou un langage très complexe comme C++. Vous pouvez lire à travers de nombreux petits blogs sur Ruby on Rails sans jamais entendre parler de Ajax ou de questions de sécurité. Tant que vous jouer, cela peut ne pas être un problème. Mais si, comme cela m'est arrivé, vous voulez passer en professionnel Ruby on Rails développement dans quelques semaines, alors travailler avec un texte qui couvre tous les points importants sera très utile.

D'autres livres couvrent des détails sur le style de programmation, les meilleures pratiques, les modèles de conception ou certains groupes d'algorithmes. Vous pouvez travailler avec eux et peut-être que de tous les modèles de conception, vous n'appliquerez qu'un très petit sous-ensemble. Pourtant, il est utile de les connaître et de savoir où les trouver. Et c'est simplement un moyen d'entraîner vos processus de pensée dans une direction où vous êtes plus intéressé à "construire une solution" qu'à "la faire fonctionner d'une manière ou d'une autre".

Personnellement, j'aime lire, donc je n'ai pas l'impression que les livres sont secs. Bien qu'il soit important, bien sûr, que le livre soit à votre niveau actuel de connaissances ou au-delà. Si vous avez déjà maîtrisé toutes les bases de C #, cela n'a pas beaucoup de sens de lire un livre pour débutants.

28
thorsten müller

Un livre (ou une documentation Web structurée comme un livre) est toujours ma façon préférée d'apprendre la plupart des langues.

Si vous venez de plonger dans une langue et de découvrir des choses par vous-même, vous risquez de manquer des aspects importants, qu'un bon livre vous aurait livrés au bon moment.

Par exemple, certains de mes collègues ont appris Java en plongeant sans livre. Ils programmaient en Java depuis quelques années, quand j'ai découvert qu'ils étaient manipuler régulièrement des tableaux d'octets [] en convertissant le tableau en chaîne, en utilisant .substring (), puis en reconvertissant la chaîne en tableau. System.ArrayCopy () est présenté à la page 155 de Java In A Nutshell

J'espère que vous reconnaissez que l'apprentissage est plus facile avec un enseignant que seul. Un bon livre est un substitut bon marché à un bon professeur. Il introduira les concepts dans un ordre soigneusement planifié, afin que vous puissiez acquérir une compréhension approfondie - pas seulement suffisante pour vous en sortir.

22
slim

Je pense que vous pourriez être sur quelque chose. Pour moi au moins, la plupart de mes compétences sont venues de vouloir/avoir besoin d'un programme qui fait "X".

Peut-être que les gens qui apprennent ainsi ne demandent pas d'aide; ils sont juste trop occupés à le faire (mal, mais apprennent en cours de route). Les gens qui veulent être programmeurs (comme appartenant à ce premier groupe) posent beaucoup de questions sur la façon d'être programmeur ou de programmer, même s'ils n'ont pas nécessairement un problème à résoudre, et ce ne sont pas questions avec des réponses directes.

Et donc nous nous précipitons vers les livres. "Oh ouais, prenez une copie de 'Plongez dans Python.'" "C'est comme ça que vous avez appris?" "Non" "Um ..." "Je suis un peu occupé, mais je t'aiderai si tu restes coincé" "Euh ... OK, je suppose"

D'un autre côté, j'apprécie le diable d'un bon matériel de lecture lorsque j'apprends, afin que je puisse voir comment le problème que j'essaie de résoudre est résolu par un auteur plus compétent, ou peut-être juste pour que je puisse en apprendre des techniques "débutantes" que je n'aurais peut-être pas apprises en cours de route.

TLDR : les livres sont bons, apprendre en faisant est bon, apprendre en faisant des livres est ???

21

J'adore lire des livres techniques. Pas tous les livres techniques, juste ceux sur un sujet particulier qui m'intéressent, dit Sharepoint. Je me souviens du premier livre que j'ai vraiment lu (plusieurs fois), s Programming Windows de Charles Petzold. Pour cette raison et bien d'autres, j'étais capable d'écrire une application Win32 à partir de la mémoire. Je n'avais guère besoin de rechercher une API, j'ai donc pu me concentrer sur la partie commerciale à la place.

Je pense que les livres offrent une façon "autoritaire" de faire quelque chose, peut-être par quelqu'un qui connaît la bonne façon de faire quelque chose de mieux que moi. J'espère que ce que j'apprends est, oserais-je le dire, la meilleure façon de résoudre mon problème. C'est, bien sûr, si je fais confiance à l'auteur (je dois aimer la zone des critiques sur Amazon).

Bien que je me retrouve de plus en plus à "googler" et à copier et coller quand j'essaie de résoudre un problème, je passe un bon bout de temps à m'assurer que ce que je copie (ou m'inspire de :) est quelque chose de fiable que je peut mettre dans mon code. Tout simplement parce que je trouve une solution sur le Web, ce n'est pas nécessairement la meilleure.

Alors que moi, comme tant d'autres programmeurs, je recherche simplement les réponses sur Google, je continue à chercher des livres d'auteurs connus. J'ai l'impression que le contenu m'est apporté par quelqu'un qui sait bien l'expliquer (l'enseigner), et cela m'évite d'avoir à filtrer toutes les ordures de mes résultats Google.

15
Eddie Paz

Je suppose que votre question n'était pas destinée à "pourquoi utiliser l'ancienne technologie comme un livre imprimé au lieu de pages HTML", mais "pourquoi lire des textes plus longs sur la programmation écrits par un ou quelques auteurs".

Vous pouvez considérer les livres comme une collecte structurée d'informations sur un certain sujet. Il a l'avantage que quelqu'un a fait l'effort de construire chaque chapitre les uns sur les autres pour faciliter la compréhension du sujet. Habituellement, on vous dit également quelles sont les limites des informations (ce qui est couvert et ce qu'il y a d'autre que vous devez rechercher ailleurs). Après l'avoir lu et travaillé, vous pouvez être sûr d'avoir acquis une certaine compétence. Si vous voulez apprendre avec le bouton d'avance rapide enfoncé, un livre peut vous forcer à parcourir tous les aspects sans sauter les parties ennuyeuses, du moins si vous faites confiance à la structure du livre. La collection nommée "livre" est aussi le plus souvent utile comme référence.

L'utilisation d'Internet, des blogs, du "tripotage", etc. relève généralement du type d'informations non structurées. Vous obtenez des tas de morceaux de sagesse, mais vous devez faire plus de recherche pour arriver à développer vos connaissances, car personne ne vous guidera en disant "apprenez ceci en premier ou vous ne verrez pas le mérite de ce genre de choses que vous ont googlé maintenant ". Vous pourriez manquer certaines parties parce qu'elles sont trop ennuyeuses ou personne ne vous a dit qu'elles étaient importantes. Vous pourriez mal apprendre les choses, car tout ce qui est écrit sur Internet n'est pas de première qualité. Vous pourriez passer beaucoup de temps à filtrer les résultats de recherche inutiles. Vous pourriez perdre des jours à essayer d'accomplir quelque chose par vous-même, simplement parce que vous ne connaissiez pas un certain modèle de conception ou construction de programmation et personne ne vous l'a dit. Moins vous en savez, pire c'est avec les informations non structurées à mon humble avis.

Pour le dire un peu provocateur: je ne ferais jamais confiance à un architecte pour construire un pont que je dois traverser chaque jour s'il me disait qu'il n'avait jamais lu un livre sur la construction de ponts ou l'analyse structurale, mais qu'il l'avait simplement appris en tripotant et en utilisant Google ...

14
Ray

Si vous êtes un programmeur C, comment pensez-vous apprendre Python sans livre ni professeur?

Si vous venez d'apprendre la syntaxe de base et de plonger directement, vous finirez par écrire du code C en Python, et arriverez à la fausse conclusion que Python est tout aussi verbeux et douloureux comme C.

Google n'est généralement bon que pour trouver de petits extraits de code ou des bibliothèques open source. La documentation de certaines bibliothèques/programmes n'est au mieux pas fiable (si elle existe, elle ne vous montre que des exemples simples ou courants.)

Je n'ai pas beaucoup de livres de programmation, mais je peux vous dire tout de suite que j'ai un livre sur OpenGL, et qu'il contient la majorité du code d'un moteur 3D, que vous pouvez simplement copier, mais vous pouvez lisez également la théorie - il vous suffit de tourner quelques pages et une explication du code est là, en attendant d'être lue. De nos jours, vous pourriez probablement trouver des moteurs 3D open-source sur le net, mais si vous avez besoin de modifier considérablement le code, vous avez probablement des problèmes - généralement aucun forum d'aide n'existe et les gens sur SO ne connaîtra pas la réponse à votre question si elle est très spécialisée. Quand il s'agit de choses vraiment spécialisées, seules quelques dizaines de personnes dans le monde entier pourront répondre à votre question sans passer des heures pour comprendre suffisamment pour être en mesure de trouver une réponse. Si vous demandez comment implémenter une liste chaînée en C #, vous obtiendrez 5+ réponses sur SO dans le premier 10 minutes, mais si vous demandez quelle est la meilleure façon de mettre en œuvre un algorithme d'ombrage complexe dans three.js, votre question va couler de la première page comme un rocher.

En plus de cela, les livres sont écrits presque exclusivement dans la perspective que le lecteur veut en savoir plus sur la théorie impliquée, tandis que google produit simplement des fragments de code indésirables, des discussions archivées sur le sujet dans lesquelles personne ne sait de quoi il parle. , etc. Les sources sur Internet se sont beaucoup améliorées: SO, Moz Dev Network, le site Web de Microsoft, les blogs, etc., mais historiquement, les livres ont été bien meilleurs, les sources Internet ne faisant que rattraper leur retard.

9
Michael

La qualité de l'écriture dans les meilleurs livres est telle que beaucoup de problèmes non évidents sont exposés avant même de commencer. Un auteur avec beaucoup d'expérience saura vous parler de choses comme: des effets secondaires inattendus, des répercussions à long terme, des fonctionnalités non documentées, des scénarios d'utilisation typiques ...

Fondamentalement, vous bénéficiez d'un écrivain avec beaucoup d'expérience qui vous guide à travers le problème et vous montre les éléments vraiment intéressants.

Parfois, vous pouvez également trouver cela dans les références en ligne, mais en raison de la faible barrière à l'entrée, beaucoup d'informations en ligne sont trop basiques, manquent de détails ou sont tout simplement erronées. Cela peut également arriver avec des livres, alors assurez-vous de ne croire que les livres qui sont des classiques avec de bonnes critiques. D'autres livres peuvent également être utiles, mais uniquement en tant que source, vous devrez toujours vérifier les informations en les recoupant ou en vous essayant.

7
Joris Timmermans

Les livres contiennent généralement beaucoup d'informations dans un format structuré. Google a tendance à fournir une énorme quantité d'informations pas toujours particulièrement structurées et difficiles à organiser en termes de ce que vous devez faire.

Je ne lis plus de livres papier physiques - il y a un lecteur électronique à côté de moi et j'ai un logiciel Kindle sur mon ordinateur portable qui me donne accès aux informations que je recherche.

Google est utile si vous ne recherchez pas un aperçu structuré de la programmation, mais avez besoin de détails sur la programmation d'une tâche spécifique. Quelqu'un a presque toujours écrit du code pour cette tâche avant, ou, du moins, quelque chose comme ça.

Je pense qu'il y a une différence entre apprendre à programmer et apprendre à programmer une tâche spécifique. Je remettrais en question la qualité du code provenant de quelqu'un qui n'a jamais appris que des morceaux de morceaux de googler des tâches spécifiques s'ils n'ont jamais vraiment eu une bonne vue d'ensemble sur la façon de programmer. Ce n'est pas spécifique à la langue, c'est plus conceptuel.

6
temptar

Les livres sont utiles si vous souhaitez approfondir un sujet. Bien sûr, j'ai appris le C # en faisant quelques tutoriels et en écrivant des projets (pour animaux de compagnie). Mais C # en profondeur est toujours utile pour voir ce qui se passe en dessous et pour apprendre quelques nouvelles choses.

De plus, je peux prendre un livre de programmation et lire dans mon bain ou à l'extérieur au soleil. Je ne peux pas faire ça avec mon PC de bureau.

4
Carra

Parce que c'est un moyen pratique d'apprendre des autres programmeurs.

Les livres sont un supplément. Vous ne pouvez aller si loin que si rapidement en travaillant seul. Qui ne préférerait pas être sur un projet avec un meilleur programmeur prêt à vous apprendre quelque chose que de simplement lire le livre?

J'ai tendance à les utiliser davantage comme référence plutôt que comme "Tout ce que vous aurez besoin de savoir sur la programmation".

4
JeffO

Les livres vous permettent d'absorber un ensemble d'informations de manière "passive". Vous n'avez pas à regarder ce qui est possible, vous obtenez un sous-ensemble des possibilités. Lorsque j'apprenais le C #, le livre a vraiment aidé à souligner les possibilités et à se demander quels étaient les équivalents C++. Bien sûr, le mastering a eu lieu lors de son utilisation dans un projet (taille réelle). Mais le livre a vraiment aidé à souligner les différences et les possibilités.

3
refro

Je veux devenir programmeur, donc j'utilise des livres de programmation. Les livres me permettront de devenir professionnellement compétent en programmation.

3
Benny

Je n'ai pas vraiment lu un livre de programmation depuis longtemps. Je les utilise comme guides de référence, mais maintenant je pense que l'Internet est plus facile pour la plupart des langages et des frameworks.

Quoi qu'il en soit, je pense que la meilleure chose à apprendre des livres de programmation est le langage principal. Par exemple, ma première vraie langue était C. Je l'ai apprise en écrivant un OS (je ne le recommande pas). En conséquence, ma connaissance de C était assez paralysée même après deux ou trois ans de programmation. Je n'ai jamais acquis une bonne connaissance de base de la langue. Je ne savais pas que je pouvais transformer ces 15 lignes de code désordonné en deux lignes de code propres. Je pouvais donc résoudre des problèmes, mais je n'utilisais pas pleinement C.

Puis, à un moment donné, j'ai décidé d'apprendre le C++ ... (environ 2 ans après avoir commencé à apprendre le C). J'ai donc lu le seul livre C++ que j'avais autour, un livre C++ pour les nuls. J'en ai lu les 3/4èmes directement, faisant très peu de "faire" pendant ce temps .. et par conséquent, quand j'ai sauté dans mon premier projet au lieu d'être à l'aise avec ces 15 lignes de code désordonné, je savais qu'il y avait un moyen plus facile de le faire (même si j'ai dû le chercher).

J'ai fait la même chose quand j'ai appris C #/ASP.NET. Je n'ai presque rien fait, mais j'ai lu jusqu'à ce que j'en ai fini avec les trois quarts du livre. Et pour ce que je n'ai pas appris, j'ai parcouru Stack Overflow pour des questions C # intéressantes. Quand je suis entré dans mon premier projet, je dirais que la plupart de mon code était relativement propre et n'a dû être refondu "énormément" qu'une fois depuis lors.

Je dirais donc que les livres sont très utiles pour apprendre les capacités d'un cadre ou d'un langage. Au-delà de cela, ils sont principalement rendus inutiles par Internet, à l'exception bien sûr des livres théoriques solides et spécifiquement conçus pour être des documents de référence.

3
Earlz

Bref, je pense que les livres ont tendance à être plus utiles à un niveau élevé. Ils peuvent vous guider dans la conception et vous aider à éviter les problèmes au lieu de les résoudre.


Les livres ont certainement leurs inconvénients. Ma copie de Programmation Python couvre Python 2.0, mais le runtime que j'utilise est 2.6.

Cependant, je pense que l'aspect important des livres est que vous pouvez trouver des choses que vous ne pourriez pas trébucher sur vous-même. Google vous aide à résoudre des problèmes spécifiques, mais les livres vous aideront à concevoir. Et pas seulement des livres de design. Si vous lisez un bon livre qui vous aide à comprendre la conception d'une langue, vous comprendrez mieux comment utiliser cette langue.

D'autres livres sont bons pour affiner vos connaissances. Je pense que le livre Effective Scott de Scott Murphy est un bon exemple. Bien que ce livre ne soit pas vraiment très bon pour apprendre le C++, il vous aide à voir les problèmes de conception d'algorithmes/interfaces/héritages que vous n'avez pas (encore) rencontrés ou contournés. Il peut être facile de trouver une solution simple (cela causera d'autres problèmes plus tard), mais en comprenant mieux la langue, vous pouvez concevoir votre logiciel pour éviter ces problèmes en premier lieu.

Bien sûr, ce n'est pas le fait que les livres sont imprimés sur du papier qui en vaut la peine. Le soin et l'effort nécessaires à leur création et le désir de dispenser une éducation rigoureuse sont ce qui donne de la valeur aux livres. Souvent, comme effet secondaire, vous obtenez des ressources en ligne utiles comme C++ FAQ lite ou des livres électroniques comme Dive into Python . Il existe également en ligne- uniquement des didacticiels qui sont des outils d'apprentissage approfondis et utiles (comme la documentation de certaines plates-formes/langues/bibliothèques).

Les extraits sur le Web sont un bon moyen de répondre à votre question, mais ils vous disent rarement ce que vous devez demander.

3
idbrii

C'est moins ce que vous lisez, mais combien. J'aime avoir quelques livres de programmation sur la route pendant que je travaille sur un projet. De temps en temps (plus souvent que vous ne le pensez), vous découvrirez une technique qui peut être appliquée à votre projet actuel.

Une fois que vous avez mis en œuvre une solution du monde réel, les informations colleront.

2
Mild Fuzz

Vous pouvez résoudre des problèmes sans lire de livres, mais saurez-vous vraiment ce qui se passe derrière votre programme pour résoudre ce problème?

Vous devez savoir ce qui se passe et ce qui aurait pu être une meilleure alternative. Pour cela, vous avez besoin de bons livres de programmation. Il ne suffit pas de lire des livres, bien sûr, vous devez comprendre le contenu, parcourir d'autres livres, penser à différentes approches pour résoudre les problèmes, etc. L'apprentissage se poursuit avec et sans livres.

2
Prabesh Shrestha

Je préfère utiliser des livres car je pense qu'ils fournissent un instantané de l'état de la technologie sur laquelle vous travaillez. L'auteur indiquera qu'avec la version X.X de la langue/bibliothèque Y, c'est ainsi que vous résolvez le problème Z. Les didacticiels du site Web ne parviennent pas à répertorier les versions qu'ils utilisent ou à fournir l'exemple de code qu'ils utilisent alors que les livres le font souvent.

Les livres couvrent souvent le "pourquoi" de cette solution résout le problème alors que les documents en ligne sont généralement copiés-collés.

Vous pouvez également souvent perdre des liens vers toutes vos références, ils peuvent se déplacer ou descendre. Je protège et prends soin de mes livres comme un investissement (ce qu'ils sont).

2
Spacebob

J'ai tendance à apprendre (la programmation) des livres et des sources "juste à temps" comme le Web. Les deux peuvent être bons, mais dans l'ensemble, je préfère apprendre des livres, voici pourquoi:

Lorsque vous apprenez uniquement ce que vous devez savoir immédiatement pour terminer une partie d'un projet, vous passez parfois à côté d'une vue d'ensemble. Les meilleurs livres ne sont pas simplement des références, mais en un sens, se rapprochent de l'apprentissage, en fournissant un aperçu complet d'une technologie et de nombreux conseils chevronnés sur les meilleures solutions aux problèmes courants.

L'apprentissage juste à temps peut très facilement souffrir du problème de la satisfaction, lorsque vous identifiez un problème que vous souhaitez résoudre, vous passez à la première solution qui semble fonctionner, puis vous vous précipitez sur les interwebs pour savoir comment le mettre en œuvre . Cependant, cela peut souvent vous causer des ennuis, si vous aviez pu avoir une conversation avec un programmeur expérimenté à propos de votre problème, ils ne vous diraient pas "voici comment faire X" ils vous diraient à la place "ne faites pas X, faites Y à la place ". Et c'est le genre de connaissances que vous avez tendance à obtenir des meilleurs livres. En effet, certains livres traitent entièrement de ce genre de choses, comme Javascript: The Good Parts .

L'autre problème que l'apprentissage JIT peut avoir est une courbe d'apprentissage beaucoup plus lente. Avec l'apprentissage JIT, vous avez tendance à apprendre uniquement ce que vous devez savoir. Mais souvent, le simple fait d'avoir un noyau de connaissances de base peut accélérer l'apprentissage d'un nouveau langage ou d'un nouveau cadre. Au lieu de trébucher sur les bases, vous commencez avec une base solide, puis vous construisez à partir de là. Une bonne partie du matériel que vous pouvez couvrir en lisant un livre peut ne pas vous être immédiatement utile, mais avoir ces connaissances de base peut être bénéfique pour guider votre prise de décision et en particulier pour comprendre le nouveau code auquel vous êtes exposé. Il y a un compromis bien sûr et il y a de mauvais livres qui ne font qu'empiler des faits inutiles dont vous ne vous souviendrez pas après les avoir lus, mais il y a aussi de bons livres qui vous donnent une bonne base dans les principes fondamentaux et ce qui est possible même si vous n'avez pas besoin d'utiliser ces connaissances au quotidien.

Il existe également des livres à un niveau supérieur à un seul sujet technologique qui, à mon avis, sont cruciaux pour mûrir en tant que développeur. Des livres comme Code complet , Refactoring , Travailler efficacement avec le code hérité , etc. Vous n'allez pas acquérir les connaissances de ces livres juste grâce à l'apprentissage JIT.

1
Wedge

Je pense que je vais pour lire des livres. Surtout en téléchargeant des livres électroniques. En lisant chaque partie du chapitre. Copiez leur code! collez-le dans votre éditeur de programmation, puis voyez quelle est la sortie.Ensuite, essayez de changer la logique de celui-ci.J'ai mentionné les livres électroniques téléchargeables parce que pour travailler plus rapidement.Les livres sont vraiment superbes.Je ne mens pas mais depuis novembre dernier jusqu'à aujourd'hui.J'ai terminé une vingtaine de livres.Tout cela demande de l'amour à lire.Ce que les débutants font, c'est qu'ils résolvent un problème spécifique en prenant l'aide via Internet.Mais quand une tâche vraiment complexe leur est confiée, ils abandonnent.Raison, aucune connaissance de la tâche et Par exemple, j'ai délimité les contrôles avec datatable et je ne sais pas ce que font les ensembles de données et on m'a confié la tâche de faire des relations entre les copies résidentes en mémoire des tables de base de données, je ne peux pas le faire.

1
Adeel

Lorsque j'apprenais le C++, je trouvais la plupart des publications assez inutiles jusqu'à ce que quelque chose dans ma tête clique. À ce jour, je ne suis pas sûr de ce que c'était, mais tout a commencé à avoir un sens. Les livres et les sites Web avaient alors beaucoup plus de sens. Il m'a fallu 2 livres pour apprendre à programmer en C++ et ni les vrais livres C++ (c'étaient des livres Visual C++ qui se concentraient principalement sur MFC).

Si vous obtenez le ou les bons livres, cela peut être très utile. Un de mes amis lisait des livres de Dietel à l'université et je les ai trouvés extrêmement bien écrits. Je n'ai jamais trouvé les livres "... pour les nuls" aussi utiles parce qu'ils n'expliquent pas les choses de la bonne manière pour moi. Le meilleur conseil est d'aller dans une librairie et d'obtenir un avant-goût du livre afin de ne pas gaspiller beaucoup d'argent sur ce qui a tendance à être extrêmement cher.

Pour certains sujets de programmation, je trouve utile de lire plusieurs livres, d'entreprendre des recherches via Google et d'expérimenter. Je me suis retrouvé à faire beaucoup de choses lorsque je travaillais sur des algorithmes d'IA lorsque je travaillais sur un jeu de dames avec J2ME. Je me suis également retrouvé à faire cela lorsque j'apprenais à créer un compilateur compilateur pour des syntaxes personnalisées. Il y a tellement de variations et de vues différentes.

Parfois, la compréhension de plusieurs vues vous permet d'établir des connexions qui sont autrement plus obscures.

1
Lea Hayes

Il est très difficile pour les nouveaux programmeurs de comprendre ce qu'est réellement la programmation, sa profondeur.

N'importe qui peut écrire un programme pour dire à un ordinateur de le faire - enfin presque n'importe quoi avec très peu d'apprentissage, ce n'est pas difficile! Ce qui est difficile, c'est de créer un programme qui soit supportable et qui puisse être compris rapidement et profondément compris par les autres membres de l'équipe, cette partie prend des années, des dizaines d'années.

De plus, apprendre à travailler en tant que membre efficace d'une équipe est un peu une courbe.

Alors, comment les livres aident-ils à résoudre ces "vrais" problèmes de programmation d'une manière que la recherche de références sur le Web ne fait pas?

Eh bien deux de mes livres préférés sont "Design Patterns" et "Refactoring".

La refactorisation est un excellent livre qui vous explique comment reconnaître un mauvais code. Si vous avez appris en recherchant des références de codage, ce livre (enfin l'un des nombreux livres de refactoring) est essentiel.

Les modèles de conception n'offrent pas vraiment grand-chose qu'un bon programmeur ne peut pas comprendre, mais ils ont donné des noms à un large éventail de modèles que tout le monde a déjà utilisés dans le code. Cela a permis aux programmeurs de communiquer plus efficacement et a aidé certains programmeurs à trouver de nouvelles façons d'attaquer les problèmes. Bien que vous puissiez trouver des modèles de conception sur le Web, il est beaucoup plus facile de rechercher le nom du modèle de conception sur Google que sur ce que vous essayez de faire.

On m'a demandé dans des interviews de décrire ces deux livres et ce qu'ils essayaient d'accomplir, je pense que c'est une question d'entrevue très valable ... Je voudrais faire attention à un programmeur qui ne connaissait pas ces deux livres livres, sauf s'il postulait pour un poste extrêmement junior.

0
Bill K

J'ai appris à programmer directement à partir de livres. Il y a environ 20 ans, avant que Google et le net ne deviennent populaires. Je pense que ce sont d'excellentes ressources. Cependant, la plupart des livres modernes citent simplement des articles techniques des fabricants. Je suis donc maintenant d'accord qu'il vaut mieux apprendre en ligne. Avec un mot d'avertissement comme suit:

Même si j'ai lu beaucoup de livres et que j'avais accès à Internet depuis que c'était financièrement faisable. Je n'ai jamais été en mesure de mener à bien un projet de grande envergure. Bien sûr, je pouvais faire beaucoup de projets de grande envergure dans de grands livres avancés où ils prenaient 20 chapitres pour vous guider, mais quand il s'agissait de mes propres projets du monde réel, je touchais toujours sans exception un mur de briques. Je dois vous dire que j'ai lu des livres lourds.

J'ai eu des problèmes toute ma vie pour entrer à l'université, mais j'entre maintenant dans ma troisième année. Au cours de ma première année, j'ai rencontré des gens de 4e année et des maîtres, et j'ai pu avoir des conversations productives sur les théories de l'IA, du HCI, des assembleurs et du développement de compilateurs. Mais pourtant, avec toutes ces connaissances, je ne pouvais pas créer un programme raisonnable. Qu'est-ce qui me manquait ... La seule chose que vous ne pouvez obtenir d'aucun livre ou en ligne.

Structure. Au cours de la première année, je n'ai rien appris de technique (déjà connu tout le lot et je me suis débrouillé sans une étude d'un jour, sauf les mathématiques et le design car ceux-ci étaient raisonnablement nouveaux pour moi), mais j'ai appris la structure et le travail d'équipe. Lors de mes premières vacances d'été, je me suis plus que jamais rapproché de la fin de mon premier vrai travail.

Dans ma deuxième année, j'ai appris beaucoup de nouvelles choses technologiques (toujours les bases en comparaison de ce que je savais, mais je mettais la théorie que je connaissais en pratique). Cela a souligné à nouveau l'importance de la structure. Je n'ai pas terminé mon premier vrai projet. Je me considère maintenant comme un programmeur.

Je ne crois pas qu'il soit nécessaire de lire des livres pour apprendre la programmation. Mais c'est une aide. Cependant, je crois avec certitude qu'aucun livre ou site Web n'enseigne ou ne peut enseigner ce que vous obtenez même après 2 ans de collège. Si vous avez réussi à réaliser des projets sans jamais aller au collège, fair-play, mais c'est une expérience que je recommande vivement quel que soit l'âge.

Les livres sont bons, Internet est meilleur, Google et votre tube sont fabuleux, mais rien ne vaut le bon vieux collège de mode à mon avis. Et je doute que n'importe quelle quantité de googler et de youtubing le sera jamais, et je sais de première main qu'aucune quantité de livres ne le sera jamais.

0
Jack Spratt

Je pense qu'il est juste que la programmation ne puisse pas être apprise uniquement à partir de livres (comme la plupart des personnes mentionnées), vous devez beaucoup pratiquer et il existe de nombreuses ressources disponibles sur Internet (articles, vidéos, échantillons, etc.).

Mais un bon livre comble les lacunes de vos connaissances. Après avoir lu une couverture de livre pour vous donner l'assurance que vous n'avez pas de trous béants dans votre connaissance du sujet. Bien que le défi soit de trouver de bons livres sur le sujet.

0
Manoj

Je n'ai aucune idée. Je suis contre la programmation de livres. Dans la plupart des cas, vous devez toujours rechercher sur Internet pour rechercher des informations supplémentaires.

Voulez-vous apprendre un langage de programmation? Google pour cela. Je détestais jQuery parce qu'il avait l'air dur. Ensuite, je suis arrivé à Stack Overflow, et j'en sais beaucoup de choses. Sans l'aide d'aucun livre.

  • Google pour ça
  • Recherchez une application open source complète et professionnelle
  • Parcourez ce code et essayez pour savoir ce qui se passe.
  • Essayez d'écrire une application rapide/simple à partir d'extraits de code existants.
  • Essayez de le réécrire pour vous-même.
  • Trouvez plus de tutoriels sur Internet
  • Acquérir de l'expérience
  • Prenez plus d'expérience
  • Vous venez d'apprendre une nouvelle langue! (Je n'ai pas dit que vous seriez un expert, mais les bases sont apprises en quelques heures ou jours)
0
genesis