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

Langages de programmation Discussion :

C/C++ légendes urbaines ?


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 61
    Par défaut C/C++ légendes urbaines ?
    bonjour,
    J'espère ne pas troller le forum avec ma question. Je voudrais simplement des réponses...
    On m'a dit que pour toucher au hardware le langage C était conseillé par rapport au C++
    On m'a dit que l'exécution d'un programme écrit en C était plus rapide qu'en C++. Pouvez vous me le confirmer?
    Pour programmer de webcam (externe en USB et intégrée) vous prendriez quoi objectivement le C ou le C++?

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Ce sont des légendes urbaines: Fonctionnellement*, le C++ est un superset du C et un des principes du C++ est qu'on ne paye pas ce qu'on n'utilise pas.

    Ainsi, dans un code C++, tu peux tout-à-fait écrire un passage critique "façon C", car le langage en lui-même n'a pas d'impact sur les performances. Par contre, certaines fonctionnalités ont un impact (les codes template prendront sûrement plus de place en mémoire, les fonctions virtuelles ont un niveau d'indirection en plus, etc.) mais à part dans certains cas critiques, le gain en maintenabilité est supérieur à la perte en performance.

    *mais pas au niveau de langage lui-même: Nombreux codes C ne compilent pas en C++

    En fait, pour tout je prendrais le C++, car il est beaucoup plus facile d'éviter les fuites de mémoire et les pointeurs vers de la mémoire désallouée.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    On m'a dit que pour toucher au hardware le langage C était conseillé par rapport au C++
    Ca dépend de ce qu'on appelle toucher au hardware. Si c'est appeller des APIs qui communiquent avec le hardware, ça peut se faire même en Visual Basic. Ces APIs par contre, elles, sont la plupart du temps écrites en C. Parfois c'est juste "mieux" comme ça. Parfois on n'a tout simplement pas le choix.

    On m'a dit que l'exécution d'un programme écrit en C était plus rapide qu'en C++. Pouvez vous me le confirmer?
    Si le programme écrit en C est bien écrit. Juste programmer en C ne garantit pas d'obtenir les meilleures performances. Pareil avec le langage machine. Ce n'est pas parce que tu programmes en langage machine que ton programme sera plus rapide que si tu l'avais écrit dans un langage de haut niveau. Faire un truc qui marche en utilisant le langage machine est une chose. Optimiser le code en est une autre. Et c'est pareil en C. Par contre, si tu l'utilises bien, c'est sûr qu'il te donnera les meilleures perfs en effet.

  4. #4
    Membre confirmé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 61
    Par défaut
    Merci pour ta réponse... toucher au hardware:cas concret de ce matin, j'ai retrouvé une webcam qui est vieille et qui n'est pas prise en charge par windows 7 . Elle est prise en charge par contre par mon Ubuntu (enfin elle marche via VLC). Je voulais donc l'utiliser dans un programme... et je me demandais si le C convenait mieux que le C++, je n'ai rien.
    Question subsidiaire: pourquoi on programme linux en C quand on fait de la programmation système?
    deuxième question: Oui je crois que je confonds vitesse d'exécution et optimisation, y'a t-il des tutoriels pour savoir optimiser le code?
    Merci

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Citation Envoyé par Spirale21 Voir le message
    Elle est prise en charge par contre par mon Ubuntu (enfin elle marche via VLC). Je voulais donc l'utiliser dans un programme... et je me demandais si le C convenait mieux que le C++,
    Dans ton cas, ca sera pareil.
    VLC doit utiliser des primitives "standard" qui font que la webcam fonctionne. On parle aussi de driver generiques.

    Question subsidiaire: pourquoi on programme linux en C quand on fait de la programmation système?
    Parce que Linux est ecrit en C. C++ n'existait pas a l'epoque, et depuis c'est reste.
    Est-ce qu'on pourrait ecrire un OS en C++ : oui, on en ecrit bien en Java (JavaOS).

    Oui je crois que je confonds vitesse d'exécution et optimisation, y'a t-il des tutoriels pour savoir optimiser le code?
    Surement oui, mais c'est principalement de l'algorithmique, plus ou moins fine. ATTENTION : il ne sert a rien d'optimiser un programme avant de l'ecrire : c'est souvent du temps perdu. Il faut concevoir le programme correctement, l'ecrire, puis le profiler (regle des 80/20 : on passe 80% du temps dans 20% du code). Ensuite, tu sais donc quelle partie optimiser (les 20%).
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  6. #6
    Membre confirmé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Décembre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2011
    Messages : 61
    Par défaut
    merci des réponses, c ce que "j'attendais"

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

Discussions similaires

  1. [Ecran] CRT+LCD légende urbaine?
    Par Pedro dans le forum Périphériques
    Réponses: 5
    Dernier message: 14/09/2006, 00h07
  2. [VBA-E]Changer la "légende" d'une feuille
    Par illight dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 09/02/2006, 15h46
  3. Formulaire : Légende d'une étiquette
    Par sebfag dans le forum Access
    Réponses: 20
    Dernier message: 25/01/2006, 13h51
  4. Réponses: 2
    Dernier message: 19/01/2006, 19h33
  5. Etat - Modifier la légende d'une étiquette
    Par _developpeur_ dans le forum IHM
    Réponses: 9
    Dernier message: 27/10/2005, 13h03

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