GDB, le débogueur standard du projet GNU continue sa mue en C++11, abandonnant C90,
Voici un petit état des lieux

Le , par Victor Vincent, Chroniqueur Actualités
L’année passée, le code de GNU Debugger (GDB) avait été converti. L’équipe de développement de GDB avait fait le choix de passer du langage C vers C++11. Cette conversion avait été justifiée à l’époque par le besoin de rendre le code du débogueur plus robuste, plus facilement maintenable, mais aussi par un besoin de casser la barrière que peut constituer le langage C pour les nouveaux développeurs désireux de rejoindre l’équipe de développement de GDB.

À l’heure actuelle, la branche master de GDB requiert par défaut le compilateur C++11. La possibilité de revenir vers un compilateur C ayant été purement et simplement supprimée. Pour l’équipe de GDB, le choix de migrer vers du C++ est une bonne chose étant donné que ce langage est standardisé, bien connu et populaire notamment auprès des nouveaux développeurs. Il permet de produire un code plus propre dans bien des cas et par conséquent du code plus compréhensible et plus facilement modifiable.

L’équipe de développement de GDB ne compte pas s’arrêter en si bon chemin et déclare son souhait de traduire tout le code source du dépôt src/gdb en C++, y compris GDBServer. À l’état actuel de la progression de ce travail de conversion, il est aujourd’hui possible de compiler GDB avec les compilateurs C++ standard des différents systèmes supportés. Il s’agit par exemple de GCC 4.2.1 pour OpenBSD, ce qui signifie que seules les fonctionnalités de C++98/03 pourront être utilisées. Il faut noter aussi qu’il reste possible de compiler GDB avec des architectures logicielles plus anciennes disposant d’une mémoire plus réduite.

Source : GDB Wiki

Et vous ?

Que pensez-vous du passage de GDB à C++ ?

Voir aussi

C++ aujourd’hui est-il comme Fortran ? Aurait-il a atteint ses limites ? Un ingénieur explique pourquoi il ne s'adonne plus beaucoup au C++ moderne


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de koala01 koala01 - Expert éminent sénior https://www.developpez.com
le 14/10/2017 à 9:58
Salut,

Perso, je trouve que c'est une excellente chose :

S'il est possible -- pour ceux qui maitrisent C -- de créer du code robuste, il faut à ce point se concentrer sur les détails pour y arriver que même les meilleurs développeurs C peuvent laisser passer un problème.

C++ (et surtout C++11 et ultérieur) fournit des abstractions qui permettent de gérer ces détails de manière robuste, et donc de se focaliser sur le but premier de l'application tout en améliorant la robustesse du code.

Enfin, j'ai beau connaître C et être en mesure de coder correctement avec ce langage, je suis très loin d'atteindre le niveau de maitrise dont je fais preuve en C++.

Notez que, s'il y avait un langage qui offre les même caractéristiques de puissance, qui n'ait pas besoin d'une machine virtuelle quelconque pour fonctionner, mais qui permettrait l'écriture de code plus robuste encore, je signerais des deux mains pour qu'il soit utilisé pour les outils comme le compilateur et le débuggeur.

Car, finalement, ce sont deux outils absolument primordiaux, auxquels on doit pouvoir se fier à 100% : Il y a déjà largement assez de circonstances dans lesquelles on a affaire à un comportement indéfini ou à un comportement "défini par l'implémentation" que pour vouloir faire en sorte que toutes les autres circonstances soient impeccablement prise en compte.
Offres d'emploi IT
Développeur PHP/Javascript
IT4Culture - Ile de France - Paris (75010)
Consultant DevOps (H/F)
SMILE - Rhône Alpes - Lyon (69000)
Ingénieur Sécurité Informatique & Administration Système (H/F)
NOVELTIS - Midi Pyrénées - Toulouse (31000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil