CoderGears Team revient avec une nouvelle analyse concernant le langage de programmation C++. Après avoir affirmé que C++ devra d’abord revoir son mécanisme d’inclusion pour devenir « vraiment un langage moderne », CoderGears Team estime aujourd’hui que « le plus grand problème du C++ c’est son passé »
Rappelons d’abord que la nouvelle norme du langage, sortie en 2011, avait reçu un accueil chaleureux de la part de la communauté C++. « Cependant, à cette année, ce langage avait un passé de plus de 30 ans. Et ce n’est pas facile de convaincre les développeurs que le nouveau C ++ simplifiera les nombreuses facettes frustrantes du langage », proclame l’équipe de CoderGears.
L’exemple donné est la gestion de la mémoire. Pendant de nombreuses années, on utilisait les deux mots clés: "new" pour allouer de l’espace mémoire et "delete" pour libérer l’espace alloué. Ce qui était contraignant surtout c’était qu’il ne fallait pas oublier de libérer la mémoire allouée manuellement. Chose dont les développeurs n’ont plus besoin d’y penser maintenant, puisque le Modern C++ encourage l’utilisation des pointeurs intelligents. Ce serait donc une bonne nouvelle, mais quel est le problème ? Selon CoderGears, le gêne est que « nous avons encore la possibilité d'utiliser new et delete, et bien sûr nous ne pouvons pas éliminer cette possibilité pour de nombreuses raisons » et ils expliquent que tous les efforts de la communauté C++ et les experts du domaine n’étaient pas suffisants pour changer les anciennes habitudes et que « si vous donnez à quelqu'un la possibilité de faire quelque chose avec un langage ou un outil, ne soyez pas surpris s'il le fait ».
Ils donnent aussi quelques exemples pour appuyer leur argument : « il suffit de chercher sur le Web "C++ object allocation" et regardez si le premier lien parle de pointeurs intelligents ». Sinon, « allez dans n'importe quelle bibliothèque universitaire, et demandez un livre C++, et vous trouverez que le chapitre sur l'allocation mémoire et la création des objets parle surtout des mots clés new et delete ».
En résumé : si un nouveau développeur veut apprendre le C++, il va trouver plus de ressources sur le "C avec des classes" que le "C ++ moderne".
Quant aux solutions, l'équipe de CoderGears est d'accord sur le fait qu'il n'y a pas de solution magique. Selon eux, nous pourrons faire en sorte que les compilateurs affichent des avertissements lors de l'utilisation de mots clés et fonctions obsolètes, « mais cette solution n'aura pas un grand impact », et elle conseille aux nouveaux développeurs qui veulent apprendre le C++ de considérer que le langage a changé son nom et s'appelle maintenant "Modern C++". En effet, cela donne un résultat nettement différent dans les recherches sur le web.
Source : CoderGears Blog
Et vous ?
Êtes-vous d’accord avec CoderGears ? Pourquoi ?
C++ serait-il vraiment victime de son passé ? Pour CoderGears Team
« le plus grand problème du C++ c'est son passé »
C++ serait-il vraiment victime de son passé ? Pour CoderGears Team
« le plus grand problème du C++ c'est son passé »
Le , par Amine Horseman
Une erreur dans cette actualité ? Signalez-nous-la !