Au fil des années en tant que programmeur, j'ai rencontré pas mal d'amis qui veulent apprendre la programmation. Les questions qu'ils posent souvent sont comment débuter avec le langage XXX, comment bien apprendre un langage de programmation, etc. J'ai résumé ici quelques confusions de débutants à partager avec vous.


1. Comment débuter ?

Le premier jour où l'on apprend la programmation, la plupart des gens se demandent comment je devrais apprendre et quels livres je dois lire ?

Pour les programmeurs qui débutent, que vous ayez ou non une formation en informatique, je vous suggère d'abord d'acheter un livre comme « XXX From Beginner to Master » (trouvez-en un avec beaucoup de bons avis). Il est préférable de l'associer aussi à des vidéos, en combinant vidéos et livres, depuis l'installation de l'environnement logiciel jusqu'à l'exécution de votre premier « Hello World ! ».

Certains amis entendront peut-être aussi sur les forums des vétérans vous dire d'acheter « Thinking in XXX ». Ce genre de livre est très bon et constitue la bible du langage XXX, mais personnellement je pense qu'il ne convient pas aux débutants. De tels livres sont tout simplement un cauchemar pour les débutants et peuvent facilement éteindre votre enthousiasme pour l'apprentissage.

Bien sûr, un livre comme « XXX From Beginner to Master » ne convient que pour débuter. Une fois que vous avez passé le stade de l'initiation, vous pouvez le brûler. Si vous voulez devenir compétent, je vous suggère tout de même d'étudier sérieusement « Thinking in XXX ».

Pour les exemples du livre, je vous suggère de taper chaque lettre vous-même et de les tester et exécuter vous-même. Cela peut être lent au début, mais c'est un processus par lequel vous devez passer. N'utilisez jamais ctrl+c et ctrl+v.


2. Comment résoudre les problèmes lorsque vous en rencontrez ?

Lorsque vous apprenez un langage de programmation, vous rencontrerez toutes sortes de problèmes étranges. Ceux que les débutants sont les plus susceptibles de rencontrer sont des erreurs de format de syntaxe, par exemple :

  • Oublier d'écrire le point-virgule à la fin d'une instruction, omettre une parenthèse fermante, omettre des espaces, etc.
  • Mal orthographier des mots-clés ou des noms de variables, par exemple écrire $example comme $runob, ou String comme Strng.
  • Écrire les deux signes égal (==) pour la comparaison d'égalité comme un seul (=), et dans certains cas vous ne pouvez même pas utiliser deux signes égal (==) pour déterminer l'égalité.
  • Incompatibilité de type d'affectation, par exemple utiliser une chaîne pour affecter à un type entier.
  • Indentation incohérente (Python).
  • ……

Les types d'erreurs ci-dessus sont très courants chez les débutants. S'il s'agit d'une erreur de syntaxe, généralement l'IDE aura de bonnes fonctionnalités d'indication, et vous pouvez simplement la corriger en suivant les indications. Mais chacun devrait tout de même être plus attentif dans la pratique quotidienne et cultiver de bonnes habitudes de programmation.

Certaines erreurs ne s'affichent qu'après l'exécution : une série d'indications en anglais où vous reconnaissez chaque lettre individuellement mais ne comprenez rien lorsqu'elles sont mises bout à bout. À ce moment-là, beaucoup de personnes sont perdues et ne savent pas quoi faire. En fait, ne paniquez pas, restez calme. Ce ne sont que des tigres de papier. Il suffit de les regarder attentivement, et si vous ne comprenez pas l'anglais, utilisez des outils de traduction comme Google et Baidu Translate, il est très facile de comprendre le contenu de l'erreur.

Par exemple, l'exemple suivant :

……failed to open stream: No such file or directory in ……

Si vous pouvez le comprendre, le sens est en fait très clair : le fichier n'a pas été trouvé. Si vous ne pouvez pas le comprendre, après l'avoir mis dans Google Translate, cela devient :

......Failed to open stream: No such file or directory......

Maintenant vous comprenez, n'est-ce pas ? Ensuite, regardez quel fichier inclus dans le code est incorrect, et remplacez-le par le bon nom de fichier ou le bon chemin de fichier et le problème est résolu.

Si vous ne pouvez toujours pas le comprendre en chinois, alors je suis sidéré...

Pour résumer : codez avec soin et méticulosité, faites attention au format, ne soyez pas négligent, et utilisez un bon IDE pour vous aider à cultiver de bonnes habitudes de programmation. Lorsque vous rencontrez des erreurs, examinez-les attentivement. Si vous ne les comprenez pas, utilisez un outil de traduction pour les traduire, puis regardez à nouveau.


3. Où trouver des personnes à qui poser des questions et avec qui communiquer ?

Si nous avons déjà examiné attentivement les indications d'erreur et que nous ne savons toujours pas comment résoudre le problème, à ce stade je vous suggère d'utiliser les approches suivantes pour le résoudre :

  • Recherchez votre problème et vos besoins sur les moteurs de recherche (Baidu, Google, Bing, etc.) pour voir si quelqu'un a rencontré le même problème que vous.
  • Posez des questions sur des forums techniques tels que : Baidu Knows, CSDN, V2EX, etc. Cependant, personnellement, je ne les recommande pas, car vous devez attendre que les gens répondent, l'efficacité est trop faible, et la réponse peut ne pas être celle que vous voulez.
  • Groupes QQ : trouvez un groupe QQ actif pour la langue que vous apprenez et posez des questions dans le groupe. Si quelqu'un répond, tant mieux. Si personne ne répond, je suggère de vérifier le niveau d'activité des membres et d'envoyer directement des messages à quelques-uns des plus actifs. S'ils ne sont pas trop occupés, ils devraient vous aider à le résoudre.
  • La meilleure et la plus directe des façons est de demander aux experts techniques autour de vous. Une phrase de leur part pourrait suffire à vous faire comprendre les choses.

Nous devrions également mettre régulièrement en favori de bons articles techniques, tels que : CSDN, Cnblogs, Example, Jianshu, InfoQ, 51CTO, Zhihu, etc. Lisez davantage sur les expériences et les cas des seniors, et testez-les vous-même. Cela est très utile pour votre accumulation.


4. L'anglais est-il important ?

Faut-il être très bon en anglais pour apprendre la programmation ? Non, ce n'est pas nécessaire.

La maîtrise de l'anglais est-elle importante ? Très importante.

Bien qu'il existe aujourd'hui de nombreux documents techniques, blogs et forums chinois, vous pouvez toujours apprendre un langage de programmation sans connaître l'anglais. Mais vous devez comprendre que la documentation officielle et les commentaires du code source de nombreux langages de programmation sont en anglais, et que de nombreuses technologies de pointe sont également en anglais. Si vous ne lisez pas les documents en anglais, une grande partie de l'essentiel ne peut pas être saisie, et certaines traductions sont également inexactes.

De plus, le point le plus important est que de nombreux messages d'erreur sont également en anglais. Si votre niveau d'anglais est bon, vous pouvez directement comprendre le contenu du message. Si vous ne comprenez pas, vous devez encore utiliser un outil de traduction pour traduire.

Pour trouver des solutions à de nombreux problèmes, les résultats que vous obtenez de Baidu peuvent être : hein... Mais si vous pouvez décrire le problème en anglais et mettre cette description dans la barre de recherche Google (nécessite un VPN/une échelle), dans 80 % des cas, le premier résultat de recherche est la réponse dont vous avez besoin.

Je vous conseille donc fortement d'apprendre les termes anglais courants utilisés dans les langages de programmation. Si votre anglais est faible, utilisez des outils de traduction pour vous aider à lire. Avec le temps, vous finirez par en apprécier les bénéfices.

Par exemple : debug => debugging, debugger => debugger, abstract => abstract, abstract base class => (ABC) abstract base class, abstract class => abstract class, import => import, include => include, array => array, command line => command line, comment => comment, commit => commit, compatible => compatible, compiler => compiler, component => component, array => array, thread => multithreading, multi-thread => multithreading, etc.

Pour en savoir plus, voir :Termes anglais courants en programmation。


5. Résumé et partage

Je pense que résumer est la partie la plus difficile pour tout le monde, tout comme à l'école quand on vous demandait d'écrire une page de journal intime chaque jour - au fond, très peu de gens arrivaient à tenir.

Mais au cours du processus d'apprentissage de la programmation, je suggère quand même à chacun de résumer les pièges rencontrés dans la pratique quotidienne et de consigner votre processus d'apprentissage. Il n'est pas obligatoire de le faire tous les jours, mais il est préférable d'avoir un résumé et une réflexion sur votre apprentissage passé tous les 3 à 5 jours. En particulier, vous pouvez consigner des documents de spécification et des scripts de programme, par exemple :

  • Normes de codage du langage XXX
  • Méthodes de jugement logique du langage XXX
  • Obtenir l'URL actuelle en PHP
  • Expressions régulières correspondant aux adresses e-mail et aux numéros de téléphone
  • Code récursif pour les structures arborescentes
  • Solutions aux caractères chinois corrompus
  • Encapsulation du code de connexion à la base de données
  • ……

Je pense que ces fonctionnalités ne seront certainement pas écrites une ou deux fois seulement dans votre programmation - elles seront utilisées très fréquemment. Chacun peut donc résumer ces choses et les écrire dans ses notes cloud (Youdao Cloud Notes, Evernote).

Enfin, le partage. Si vous avez de bonnes solutions à des problèmes, ou si vous pensez que votre méthode est la meilleure au monde, vous pouvez les partager, y compris sur diverses plateformes de blog.

Je recommande ici de partager vos notes d'étude sur Example pendant votre processus d'apprentissage. Example a activé sa fonctionnalité de notes (inscription requise). Pour le premier partage, vous devez envoyer vos notes à l'e-mail de l'administrateur (429240967@qq.com).

Après avoir passé la validation, un code d'invitation vous sera donné pour vous inscrire, et à partir de ce moment vous pourrez enregistrer vos propres notes sur notre plateforme. Le contenu des notes doit être simple et clair et ne doit pas s'écarter du contenu de l'article correspondant. Utilisez leune description simple + un extrait de code simpleformat. Comme le montre la figure ci-dessous :