Accueil
Accueil Le Club Delphi Kylix C C++ Java J2EE DotNET & C# Visual Basic Access Pascal Dev Web PHP ASP XML UML SQLSGBD Windows Linux Autres
logo

precedent    sommaire    suivant   


Quelles sont les caractéristiques du langage C++ ?
auteurs : Aurelien.Regat-Barrel, JolyLoic
Le C++ est un langage permettant de maîtriser la représentation bas niveau des données manipulées (arithmétique de pointeurs, allocation manuelle de la mémoire, ...) tout en fournissant des outils (références, exceptions, classes, templates, ...) permettant de construire des structures de plus haut niveau. Il est donc particulièrement adapté à des programmes de taille assez importante mais où les performances comptent. C'est un langage typé statiquement (c'est à dire une fois pour toutes lors de la compilation) permettant de créer des programmes compilés en natif au moyen de compilateurs optimiseurs ce qui les rend généralement très performants.
C'est un langage de programmation multi-paradigmes (c'est à dire qu'il permet plusieurs types de programmation) parmi lesquels la programmation objet, la programmation procédurale ainsi que la programmation générique grâce aux templates. Tout ceci fait de C++ un langage populaire avec un large spectre d'applications grâce à la très grande quantité de bibliothèques et ressources disponibles.


Le C++ assure-t'il la compatibilité avec le C ?
auteur : Marshall Cline
Quasiment.

Le C++ est aussi compatible avec le C que faire se peut, mais pas parfaitement. Pratiquement, la différence la plus marquante est que le C++ exige les prototypes, ce qui veut dire qu'une fonction déclarée

f();
ne prend pas de paramètres, alors qu'en C, on peut passer un nombre arbitraire de paramètres.

Il y a d'autres différences parfois très subtiles. Par exemple

sizeof('x')
vaut

sizeof(char)
en C++, alors qu'en C, cela vaut

sizeof(int)
Un autre exemple est celui des étiquettes de structures qui sont stockées dans le même namespace que les autres identificateurs. Là où le C exige la déclaration explicite d'une structure, cela devient redondant en C++. Par exemple, l'écriture suivante est valide en C++ mais est redondante, alors qu'elle est obligatoire en C.

typedef struct Fred Fred;

Quelques caractéristiques du langage C++ d'un point de vue 'business'
auteur : Marshall Cline
  • Le C++ bénéficie d'une large base installée, ce qui veut dire qu'il y a un support de plusieurs vendeurs pour les outils, environnements, services de consultance, ...
  • Le C++ permet aux développeurs de fournir des interfaces simplifiées, ce qui réduit la quantité de défauts rencontrés lorsqu'elles sont réutilisées.
  • Le C++ permet d'exploiter l'intuition des développeurs grâce à l'utilisation de la surcharge d'opérateur, ce qui permet de réduire la courbe d'apprentissage pour les utilisateurs.
  • Le C++ permet de "localiser l'accès" à une partie du logiciel, ce qui réduit la charge de travail causée par les changements.
  • Le C++ permet de réduire le compromis fiabilité / utilisabilité, donc le coût d'utilisation ou de réutilisation du logiciel.
  • Le C++ permet de réduire le compromis fiabilité / vitesse, donc d'améliorer la qualité sans dégradation des performances.
  • Le C++ offre les techniques d'héritage et d'appel dynamique, ce qui permet d'appeler du nouveau code à partir de code plus ancien, permettant donc d'ajouter de nouvelles fonctionnalités ou d'adapter vos programmes à la demande du marché.


C++ est-il un langage parfait ?
auteur : Marshall Cline
Le C++ n'a pas été créé pour démontrer à quoi ressemblait un langage Orienté Objet parfait. Il a été conçu pour être un outil pratique, pour répondre à des problèmes pratiques.
Il présente quelques défauts, mais les seuls endroits où il serait judicieux d'apporter des modifications, pour atteindre la perfection, n'auraient qu'un but purement académique, ce qui n'est pas le but du C++.


Le C++ est-il un meilleur langage que .... ?
auteur : Marshall Cline
Il s'agit sûrement de la question qui génère le plus de bruit par rapport à l'information utile qui en ressort. Veuillez lire ce qui suit avant de vous lancer dans ce genre de débat.

Dans 99% des cas, le choix d'un langage de programmation est fait en fonction de considérations financières ou commerciales, mais pas en fonction des considérations techniques.
Les choses réellement importantes qui pèsent lors de la décision sont la présence d'un environnement de développement, la possibilité de faire fonctionner le logiciel sur la machine cible, les licences, la disponibilité de développeurs expérimentés, de consultants, sans oublier la "culture de l'entreprise".
Ces considérations financières et commerciales jouent souvent un rôle plus important que la vitesse de compilation, la vitesse d'exécution, le typage dynamique ou le typage statique, etc ....

Quiconque argumente en faveur d'un langage par rapport à un autre de façon purement technique (c'est-à-dire en ignorant les éléments commerciaux) s'expose à être traité de 'technicien extrémiste' et à ne pas être écouté.


Le C++ est-il un langage pratique ?
auteur : Marshall Cline
Oui, C++ est un langage pratique.
Dans le monde de l'industrie logicielle, C++ est vu comme un outil solide, mature et sans surprises. Il est largement utilisé et supporté par l'industrie, ce qui le valorise d'un point de vue productif en général.


Puis-je utiliser des bibliothèques écrites en C dans mes programmes C++ ?
auteur : LFE
oui, il est tout à fait possible d'utiliser des bibliothèques écrites en C dans un programme C++ pour autant qu'elles soient déclarées correctement dans les fichiers d'en-tête en utilisant le extern "C" qui indique que la fonction doit être considérée comme du code C et non C++.

extern "C" { 
   char* maFonctionC_1(); 
   void maFunctionC2( char *param1); 
}

precedent    sommaire    suivant   

Consultez les autres F.A.Q's

Valid XHTML 1.1!Valid CSS!


Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduit en français ici.
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.
Certaines parties de ce document sont sous copyright Marshall Cline Les codes sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Pour le reste, ce document constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Ce document issu de http://www.developpez.com est soumis à trois licences, en fonction des contributeurs :
- Les contributions de Clément Cunin et LFE sont soumises aux termes de la la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies des contributions de Clément Cunin et LFE tant que cette note apparaît clairement :
"Ce document issu de http://www.developpez.com est soumis à la licence GNU FDL traduite en français ici. Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement".
- Les contributions de Marshall Cline sont sous copyright
- Pour ce qui est des autres contributions : Copyright © 2005 Developpez LLC : Tous droits réservés Developpez LLC. Aucune reproduction, ne peut en être faite sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com