En tant que développeur, combien de fois par jour vous tournez-vous vers Google pour quelque chose en lien avec votre travail ? Comment utiliser une bibliothèque ? Existe-t-il un correctif pour un problème que vous avez rencontré ?
La réponse est peut-être : au moins une fois par jour.
De nos jours, Internet fait gagner énormément de temps aux développeurs. Quel que soit le problème rencontré, vous pouvez lancer une recherche Google avec les bons mots-clés et, dans de nombreux cas, trouver instantanément un résultat qui répond à vos besoins.
Par exemple, si nous voulons savoir comment lire un fichier ligne par ligne, nous pourrions lancer la recherche suivante :

Le premier résultat est une réponse Stack Overflow très bien notée.

Les développeurs sont devenus dépendants d'Internet, ce qui présente des avantages évidents : cela nous aide à résoudre de nombreux problèmes rapidement et nous rend plus productifs. Mais en tant que développeurs, pouvons-nous encore être productifs sans connexion Internet ?
Regardons d'abord comment les choses fonctionnaient avant l'essor d'Internet, lorsque seul un nombre limité de ressources de développement était disponible sur le web.
Il y a vingt ans, d'après mes souvenirs, lorsque nous avions un problème à résoudre, nous essayions des approches comme celles-ci :
- Chercher la réponse dans les livres : au travail comme à la maison, les développeurs gardaient des bibliothèques de livres liés à leur domaine, et lorsque nous rencontrions un problème bloquant, nous les feuilletions dans l'espoir de trouver une solution. Cependant, les livres ne peuvent pas couvrir tous les problèmes du monde réel, et nous ne trouvions souvent pas ce que nous cherchions.
- Demander aux collègues : une autre approche consistait à compter sur l'expérience de nos collègues. Nous demandions si quelqu'un avait déjà rencontré un problème spécifique, en espérant qu'il ait une solution.
- Plonger dans le code : parfois, lorsqu'un problème survenait en utilisant une bibliothèque, l'approche la plus efficace était de déboguer la bibliothèque elle-même pour comprendre comment résoudre le problème. Je me souviens avoir utilisé un bus CORBA à une époque où très peu de ressources étaient disponibles ; nous devions déboguer la bibliothèque externe pour comprendre ce qui se passait.
- Contacter le support : parfois, nous rencontrions un problème complexe et, sans accès au code source, nous contactions le fournisseur de la solution dans l'espoir de trouver une solution. Par exemple, je me souviens d'un problème DCOM complexe pour lequel nous avons contacté Microsoft. Il nous a fallu trois semaines pour le résoudre, car il fallait d'abord joindre la bonne personne, ce qui n'était pas facile.
Heureusement, le web est devenu une mine d'or pour les développeurs, et en quelques clics, nous pouvons souvent trouver une solution. Mais quels sont les inconvénients de la dépendance à Internet ?
- Développer une mauvaise habitude de copier-coller : lorsque les développeurs trouvent une solution sur le web, ils peuvent simplement la copier-coller dans leur code et, si elle fonctionne, passer à autre chose. Ils peuvent ne pas chercher à comprendre pleinement le raisonnement derrière la solution proposée.
- Devenir un développeur paresseux : les développeurs peuvent devenir paresseux et parfois zapper complètement la recherche d'une solution, posant directement une question basique en attendant que les autres fassent la recherche à leur place. En effet, il est surprenant de voir combien de questions basiques sur Stack Overflow pourraient trouver une réponse avec une recherche très simple.
- Cela peut réduire la communication entre développeurs.
Revenons à la question de départ, en nous concentrant sur le C++ : pourriez-vous trouver rapidement une solution efficace à ces tâches basiques sans accès à Internet ?
- Vérifier si une std::string commence par une autre chaîne.
- Vérifier si une std::string se termine par une autre chaîne.
- Calculer la factorielle d'un nombre.
- Vérifier si un nombre est premier.
Vous pouvez essayer de résoudre ces problèmes vous-même, et vous serez peut-être surpris de découvrir à quel point vous dépendez d'Internet : sans le web, même les tâches basiques peuvent ne pas être si faciles. Devenir de plus en plus dépendant du web n'est pas nécessairement un problème, mais il faut être conscient de ses inconvénients. Avant de chercher sur le web, nous pourrions passer quelques minutes à essayer de résoudre le problème nous-mêmes afin de bien comprendre ce qu'il implique. Cela nous aide à effectuer une recherche plus pertinente avec les bons mots-clés et, lorsque nous trouvons une solution, à en comprendre pleinement le raisonnement.
