IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Normalisation C++ Discussion :

Quand utiliser le C++ et quand utiliser plutôt le C pour un problème ?


Sujet :

Normalisation C++

  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2026
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2026
    Messages : 2
    Par défaut Quand utiliser le C++ et quand utiliser plutôt le C pour un problème ?
    Bonjour, ma question risque d'être un peu bête ; je suis apprenti et j'ai commencé par le C avant d'apprendre le C++. Je connais un peu mieux le C que le C++ actuellement. Étant donné que le C++ est une amélioration du C ; depuis le « C with class » jusqu'au C++ moderne de maintenant, ma question est la suivante*: dois-je tout faire mes projets en C++ et laisser le C ? Par exemple, si j'ai un problème de développement ou un projet, comment savoir que pour faire telle partie de l'application, ça sera mieux en C et l'autre sera mieux avec le C++ moderne d'aujourd'hui. Et enfin, quel sont les domaines approfondir en C et C++.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 169
    Billets dans le blog
    4
    Par défaut
    J'ai fait un parcours similaire, il y a une vingtaine d'années, et ma conclusion lors, et encore plus désormais, serait : C++, qui permet plus de choses plus aisément (destructeurs, templates, ... en particulier depuis C++11 et la move-semantic) et m'offrait/m'offre plus d'opportunités professionnelles
    À moins de travailler sur une architecture spécifique ne possédant pas de compilateur C++ et où seul le C est disponible, je travaille en C++
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 483
    Par défaut
    Étant donné que le C++ est une amélioration du C
    Il ne faut pas voir ça comme ça. Au départ le C++ était une surcouche du C, mais après les 2 langages ont divergés.

    Historiquement, il fallait plus de puissance pur faire du C++ (on parle d'une époque ou la RM était réduite ainsi que le puissance CPU par rapport à nos jours).

    Maintenant, on peut aussi utiliser le C++ avec l'embarqué.

    c'est bien de connaitre les 2, mais en tant qu'apprenti, mieux vaut investir sur le C++ je pense.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre Expert

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2013
    Messages
    1 740
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2013
    Messages : 1 740
    Par défaut
    Bonjour,

    Plus on connaît de langages mieux c'est. Cela permet de choisir celui le plus adapté au besoin. La plupart des langages permettent de tout faire mais, selon les domaines, avec plus ou moins de facilité et d'efficience.

    Plus le nombre de langages maîtrisé est grand, plus l'apprentissage d'un nouveau langage devient facile, car ils s'inspirent les uns des autres.

    Prenons un exemple tellement intégré que nous y pensons rarement. Pourquoi l'affectation se fait toujours vers la gauche alors que le résultat de l'expression à affecter (à droite) n'est connu qu'après son exécution. À l'origine, c'était parce que cela permettait simplement au compilateur de savoir à l'avance le type du résultat. Aujourd'hui, il serait possible sans grande difficulté d'avoir une affectation à droite qui ouvrirait en plus des possibilités d'affectations en cascade. Mais le pli est pris.

    Le C++ est un langage plus généraliste que le C. Son spectre d'emploi fonctionnel est donc plus large. Mais C reste un outil préférentiel pour les programmations au ras du matériel que ce soit des éléments systèmes, des pilotes ou de l'embarqué. L'usage du C++ sur l'embarqué fait frémir les puristes, car ce domaine, relativement pauvre en ressources, incite fortement à utiliser un style C pour éviter les hauts niveaux d'abstraction plus consommateurs qu'offre le C++. Avec la montée en puissance des MPU, cela pourrait se révéler rapidement faux, mais pas nécessairement au profit du C++. Les langages interprétés (encore plus gourmands en ressources) possèdent l'avantage de permettre des développements très rapides.

    En résumé, ce n'est pas fromage ou dessert, mais fromage et dessert. Et il y a beaucoup de fromages

    Salutations
    Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better. (Samuel Beckett)

  5. #5
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2026
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2026
    Messages : 2
    Par défaut
    "Le C++ est un langage plus généraliste que le C. Son spectre d'emploi fonctionnel est donc plus large. Mais C reste un outil préférentiel pour les programmations au ras du matériel que ce soit des éléments systèmes, des pilotes ou de l'embarqué. L'usage du C++ sur l'embarqué fait frémir les puristes, car ce domaine, relativement pauvre en ressources, incite fortement à utiliser un style C pour éviter les hauts niveaux d'abstraction plus consommateurs qu'offre le C++. Avec la montée en puissance des MPU, cela pourrait se révéler rapidement faux, mais pas nécessairement au profit du C++. Les langages interprétés (encore plus gourmands en ressources) possèdent l'avantage de permettre des développements très rapides".

    Merci beaucoup pour vos reponses. Si j'ai bien compris, et en attendant d'approfondir ces 2 langages pour mieux prendre des decisions, je vais un peu plus m'investir dans le c++ pour le devellopement d'application , jeux video + simulation, creation d'outils et moteur, mais je vais qu'a meme rester dans le c pour la programmation systeme et le systeme embarqué car le c consomme un peu moins de ressources et je pourrais aussi le faire ou apprendre a le faire en c++

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 312
    Par défaut
    Il y a beaucoup de FUD (Fear Incertainty Doubt), et de méconnaissance, autour du C++ dans les domaines systèmes et embarqués. Techniquement il a la possibilité d'être au moins autant (cad "potentiellement plus") léger ou performant que le C.

    Il s'agit de ne pas utiliser les features qui sont connues comme ayant une empreinte plus lourde que les équivalentes en C. Il y a déjà eu beaucoup de débats et de ressources données autour de ces sujets. P.ex. ici, où je recommande vivement les conférences données par Dan Saks: https://www.developpez.net/forums/d1...p/#post8752931

    Depuis 1-2 ans, Khalil Estell a présenté comment améliorer le support des exceptions (et avoir des binaires plus petits en C++ grâce aux exceptions sur des cibles embarquées...) lors de deux confs (plus à venir) -- c'est toujours plus lent que les codes de retours sur la remonté d'erreur. Avec le nom les personnes intéressées pourront trouver les ressources en question sur YouTube.

    Un gros plus 1 à Bousk. Pareil pour moi: quand je n'ai pas le choix pour des raisons techniques. Pour les raisons humaines (les plus courantes), je débats.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quand est-ce qu'on utilise la méthode Prepare pour une requête
    Par aimer_Delphi dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/09/2018, 09h20
  2. Réponses: 4
    Dernier message: 04/04/2014, 10h23
  3. Utiliser plûtot une liste ou une bibliothèque ?
    Par ppol.martine dans le forum SharePoint
    Réponses: 4
    Dernier message: 09/09/2010, 15h07
  4. Utiliser le port parallele pour simuler un digicode
    Par nonoRedDevils dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/12/2003, 14h23
  5. utilisation d'objets ADO pour CMS sur POSTGRESQL7.3.2
    Par turbok dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 10/10/2003, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo