Discussion:Programmation Python/Avant-propos
Dernier commentaire : il y a 9 ans par JackPotte
Bonjour. Il me semblait que C et C++ étaient des langages différents. Pourtant, je lis : "Le langage dominant y est sans conteste C/C++." Un avis, svp ? Domsau2 (discussion) 22 février 2015 à 01:42 (CET)
- Le C++ inclut le C (compatibilité ascendante). JackPotte ($♠) 22 février 2015 à 09:28 (CET)
- C'est un peu l'idée, mais je ne suis pas sur que l'on puisse parler de compatibilité ascendante systématique. Si l'on veut aller dans les détails:
- Techniquement, le C et le C++ sont des langages différents. En particulier, ils sont normalisés de manière différentes.
- Conceptuellement, le C et le C++ ont des approches différentes. En particulier, le C se veut un langage proche de la machine, alors que le C++ est un langage objet; à l'usage le mélange des deux approches n'est pas des plus simples.
- En pratique, les compilateurs c++ sont généralement également capable de compiler du code C, ce qui tend à une certaine confusion des deux langages.
- En pratique également, si l'on ignore quelques subtilités, l'essentiel d'un code C sera également reconnue dans du code C++.
- Enfin pour le C il existe différentes normes successives: C K&R ; ANSI C ou C89; C90, C ISO; C94 / C95; C99; C11. Pour le C++ il existe aussi différentes normes successives: ISO/CEI 14882:1998; ISO/CEI 14882:2003; ISO/IEC 14882:2011; ISO/CEI 14882:2014. Parler de compatibilité ascendant revient donc à établir un lien entre ces normes, sachant que chaque que la norme laisse aux compilateurs des possibilités d'implémentations spécifiques au compilateur....
- C'est un peu l'idée, mais je ne suis pas sur que l'on puisse parler de compatibilité ascendante systématique. Si l'on veut aller dans les détails: