IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > Caractéristiques du langage
        Quelles sont les caractéristiques du langage C++ ?
        Le C++ assure-t'il la compatibilité avec le C ?
        Quelques caractéristiques du langage C++ d'un point de vue 'business'
        C++ est-il un langage parfait ?
        Le C++ est-il un meilleur langage que .... ?
        Le C++ est-il un langage pratique ?
        Puis-je utiliser des bibliothèques écrites en C dans mes programmes C++ ?

rechercher
precedent    sommaire    suivant    telechargermiroir


Quelles sont les caractéristiques du langage C++ ?
auteurs : Aurélien 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++ ?
auteurs : LFE, gege2061
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++.

#ifdef __cplusplus
extern "C" {
#endif
 
   char* maFonctionC_1 (void); 
   void maFunctionC2 (char *param1); 
 
#ifdef __cplusplus
}
#endif
 

rechercher
precedent    sommaire    suivant    telechargermiroir

Consultez les autres F.A.Q's


Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2008 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.