mais globalement je pense que beaucoup de monde joue avec des sources qui sont en C++03, donc au revoir les smart-pointers.
En tant que contributeur au projet Haiku, qui est écrit en C++98 et compile avec gcc 2.95.3 pour diverses raisons, je ne suis pas d'accord. On a implémenté nos propres smart pointers et on les utilise là ou c'est nécessaire.
Le C++ a cet intérêt pour nous qu'il est un des rares langages avec lesquels on peut écrire un système d'exploitation entier: noyau, drivers, interface graphique, applications, etc. Et pour y arriver, on a besoin de la plupart des fonctionnalités de C++. Certains trucs "pas propres" dans une application sont nécessaires pour la programmation bas niveau (par exemple, on a besoin de pointer sur une adresse mémoire "en dur" pour accéder à du matériel). Donc, il y a des morceaux du C++ qui servent rarement, mais qui sont nécessaires dans quelques cas, et c'est bien qu'elles soient disponibles.
S'il ne devait rester qu'un seul langage, C++ serait le mieux placé. Par contre, si on préfère en avoir 2 ou 3, alors oui, faire du C ou un autre truc spécialisé dans le bas niveau côté noyau, et un langage objet "moderne" pour les applications, ça pourrait marcher.
[^] # Re: Donc pour résumer...
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 5.
En tant que contributeur au projet Haiku, qui est écrit en C++98 et compile avec gcc 2.95.3 pour diverses raisons, je ne suis pas d'accord. On a implémenté nos propres smart pointers et on les utilise là ou c'est nécessaire.
Le C++ a cet intérêt pour nous qu'il est un des rares langages avec lesquels on peut écrire un système d'exploitation entier: noyau, drivers, interface graphique, applications, etc. Et pour y arriver, on a besoin de la plupart des fonctionnalités de C++. Certains trucs "pas propres" dans une application sont nécessaires pour la programmation bas niveau (par exemple, on a besoin de pointer sur une adresse mémoire "en dur" pour accéder à du matériel). Donc, il y a des morceaux du C++ qui servent rarement, mais qui sont nécessaires dans quelques cas, et c'est bien qu'elles soient disponibles.
S'il ne devait rester qu'un seul langage, C++ serait le mieux placé. Par contre, si on préfère en avoir 2 ou 3, alors oui, faire du C ou un autre truc spécialisé dans le bas niveau côté noyau, et un langage objet "moderne" pour les applications, ça pourrait marcher.