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

C++ Discussion :

Qu'est-ce qui vous plait en C/C++ ?


Sujet :

C++

  1. #1
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut Qu'est-ce qui vous plait en C/C++ ?
    Bonjour
    Tout est dans le titre !
    C'est juste une "enquête" pour savoir pourquoi vous programmez en C/C++ ?
    Qu'est-ce qui vous plait ?
    Merci
    Omnes Vulnerant Ultima Necat
    Bye

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    C ne me plait pas vraiment.
    C++ par contre, si.
    Boost ftw

  3. #3
    Expert éminent

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Points : 6 911
    Points
    6 911
    Par défaut
    Citation Envoyé par Shugo78
    C'est juste une "enquête" pour savoir pourquoi vous programmez en C/C++ ?
    C/C++ n'est pas un langage, c'en est deux.

    Je les utilise parce que c'est les langages dans lesquels sont écrits les programmes sur lesquels je travaille.

    Qu'est-ce qui vous plait ?
    Le domaine d'application. Je changerais sans problèmes de langage, beaucoup plus facilement de domaine.

    Au sujet des langages: le pragmatisme qui a présidé à leur conception.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Question assez facile pour moi...


    Déjà C/C++ comme il l'a déjà été dit, n'est pas un langage, il y'a le C et le C++. Personnellement, je n'aime pas le C++ comme tout autres langages orientés objet, j'aime pas trop la POO ou du moins le concept de classe ou d'héritage multiples, surcharge d'opérateur et j'en passe !

    Je lui préfère le C car très proche de la machine et j'aime me sentir proche de ma machine Plus sérieusement (mais ca l'était tout de même avant), le C est légé, très peu de mots-clé, pas de concept objet, même si j'en utilise souvent les règles dans mes projets car cela permet tout de même une meilleure structuration de mes programmes ou bibliothèques perso.

    Je pense que le fait de savoir que j'utilise un langage qui permet tout ce que mon cerveau me dit et imagine (le C++ le permettrais tout autant, je ne le dénigre pas pour ca) et aussi qu'il est à la base des systèmes d'exploitation que nous connaissons aujourd'hui renforce un peu plus mon attachement à ce langage !

    Après je pense que c'est avant tout une histoire de goût mais moi je n'aime pas le C, j'en suis fan
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 54
    Points : 76
    Points
    76
    Par défaut
    Personnellement, j'adore le C++ esssentiellement grace aux templates. C'est fous tout ce que l'on peut faire avec cela . Et puis, cela amène au concept de programmation générique, qui pour moi est aussi important que la programmation orientée objet, et permet de résoudre des problèmes de façon bien plus propre que les langages seulement orientés objet.
    Et puis, comme dit plus haut c'est un langage qui reste proche de la machine et ne cherche pas à résoudre des problèmes à ma place, mais me laisse au contraire plus de liberté (y compris celle de se planter, c'es tce que beaucoup lui repproche).

  6. #6
    Membre éprouvé
    Avatar de Shugo78
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 119
    Points : 1 001
    Points
    1 001
    Par défaut
    Merci de vos réponses
    Je souhaitais (bien que non-explicitement) parlé du C ET du C++ par la notation C/C++, bien que je l'admet, cela pouvait faire croire que les deux langages ne faisait qu'un
    Personellement, j'ai beacoup utilisé C puis il y a quelquies années(4 de mémoires ), je suis passé au C++ en même temps que la P.O.O, ce que j'aime avec ces c'est leur légéreté, pas de mot clès superflu , mais ce qui en fait, parfois, des langages, comment dire dense !
    Mais j'aime ça donne aussi de la légéreté !
    Ce que j'aimerais avoir, c'est pourquoi les gens (comme moi ) continue le C ou/et le C++ ? Pourquoi ne pas prendre d'autres langages ?
    Merci encore
    Omnes Vulnerant Ultima Necat
    Bye

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par Shugo78
    Ce que j'aimerais avoir, c'est pourquoi les gens (comme moi ) continue le C ou/et le C++ ? Pourquoi ne pas prendre d'autres langages ?
    Pour moi la raison en est simple ! Sans compter le fait que j'adore le C, je programme avec ce langage car il est très portable, on peut aussi bien programmer pour Windows que pour Linux, Mac OS X, Amiga, BeOS, Unix et j'en passe !

    On peut également ajouter le fait qu'aujourd'hui ce langage est étendu grâce à des bibliothèque toujours aussi portables comme GTK+ pour la GUI, SDL pour les jeux et le multimedia en générale et bien d'autres. L'avantage de ceci, c'est que ça permet de laisser le choix au programmeur de ce qu'il veut utiliser ce qui ne serait pas le cas par exemple avec Delphi, Visual Basic, C#, Java (qui reste néanmoins tout aussi portable si tant est qu'on trouve une JVM sur son OS), etc...

    Pour moi le C est un langage simple une fois qu'on le maîtrise alors pourquoi changer pour un langage tout aussi portable mais de plus haut niveau. Bien sûr, des langages comme Python ou Java par exemple permettent de programmer plus rapidement car il faut avouer que leur Framework sont bien fournis mais ce ne sont pas des langages 100% compilés.

    Mon avis est simple, le C est un langage simple, légé, qui demande beaucoup de rigueure, il est très souple, permet une liberté quasi totale, on est libre d'utiliser ce qu'on veux comme bibliothèques additionnelles, c'est un langage compilé.

    Je pense que même de nos jours il est rare de trouver un aussi bon compromis !
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Bonjour,

    Pour ma part, je suis plutôt C++, mais je ne refuse pas d'écrire de temps en temps un peu de C pour autant.
    Ce que j'aime dans le C++, c'est toutes les possibilités qu'il nous offre. Il a été assez bien conçu pour pouvoir nous permettre de résoudre des problèmes et de concevoir des logiciels ou bibliothèques d'autant de manières que l'on veut, ou presque
    On a les programmations procédurale, orientée objet, générique, et l'on peut mélanger le tout sans problème. Une fois que l'on est dans le C++, il est dur d'en sortir. J'ai beau apprendre de temps à autres un autre langage, le C++ demeure largement au dessus. C'est un coup de coeur.
    Et puis tout ce qui est fait en C++ aujourd'hui, c'est impressionnant.

  9. #9
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Personellement, je suis pas sectaire...

    Entre le C pour les petits utilitaires tout bêtes en ligne de commande (mais j'utilise de moins en moins).

    Le C++ (moteur de jeu, processing image/video) pour la rapidité d'exécution.
    Parfois un peu d'asm pour certains trucs très particuliers (une fonction d'interpolation de deux arrays de quaternions par exemple).

    Le Java (webapps) pour son approche de la POO (hélas, en Java = program once, debug everywhere).

    Mais de plus en plus C#, qui réussit le tour de force de garder la puissance OO de Java, tout en étant très proche du C++ (et compatible) et donc plus rapide. Dommage que les sectaires anti-M$ ne voient dans C# qu'un "language de M$".....
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  10. #10
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 353
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 353
    Points : 1 417
    Points
    1 417
    Par défaut
    en C++ on a tous les principes objets, mais on peut pour une raison de cout memoire, ou de performance, s'en passer sans que cela puisse nous porter préjudice.

    et puis c'est le seul a etre deterministe dans sa libération de la memoire...

  11. #11
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 352
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 352
    Points : 20 359
    Points
    20 359
    Par défaut
    Citation Envoyé par nicroman
    Dommage que les sectaires anti-M$ ne voient dans C# qu'un "language de M$".....
    Je ne suis pas du tout un anti-M$ mais C# et .NET me donne des boutons et j'y arrive pas y'a rien à faire ; pour moi c'est du langage préfabriqué pour les gens qui ne veulent pas trop s'investir dans la programmation du code "managed".

    Déjà que Visual Basic 6 c'était éprouvant et catastrophique comme outil pour faire des projets mais Java et C# j'arrive toujours pas à être convaincu
    Vous tous essayez de me convertir à Java et .NET !

  12. #12
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Les choses intéressantes en C++ sont :
    - La gestion des ressources propre et déterministe, grâce aux exceptions, au RAII, et à la redéfinition des sémantiques de valeur,
    - L'accès direct à la mémoire,
    - La méta-programmation.

    Bref, C++ permet de construire des abstractions de haut niveau et à haute performance à partir de concepts de bas niveau, le tout avec des ressources bien gérées.
    Boost ftw

  13. #13
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par epsilon68
    en C++ on a tous les principes objets, mais on peut pour une raison de cout memoire, ou de performance, s'en passer sans que cela puisse nous porter préjudice.
    Je suis pas du tout d'accord avec ça... le développement C++ est très orienté "procédure" (les réminiscences du C), ce qui, par définition n'est pas compatible avec la POO

    Il n'y a pas beaucoup de "vrais" langages objets... Personnellement je n'en connais que 3 (et je n'ai jamais pu en essayer que 2): Eiffel, Smaltalk, et mon inconnu: Ruby.
    Maintenant, il y a des langages orientés "objets" (mais tout n'y est pas un objet, comme le corps des fonctions par exemple): Java, C#, Python,...
    Et puis ceux, comme le C++, orientés "procédure", avec des extensions pour gérer le polymorphisme et la réusabilité...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  14. #14
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 353
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 353
    Points : 1 417
    Points
    1 417
    Par défaut
    tu connais le C++ ?
    As-tu juste essayé ou bien vraiment fait des projets concrets ?

  15. #15
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Le fait que "tout soit objet" dans un langage ne veut pas dire que c'est le langage orienté objet.

    Le C++ propose tout ce dont il est nécessaire pour programmer OO. Eiffel et Smalltalk proposent peut-être d'autres choses, mais je pense que le C++ offre assez de possibilités de POO pour que l'on puisse parler de lui comme langage dans lequel on peut programmer OO.

    Et en plus, la programmation générique est également de mise en C++...

  16. #16
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Maintenant, il y a des langages orientés "objets" (mais tout n'y est pas un objet, comme le corps des fonctions par exemple)
    Que les types soient primitifs ou soient des structures, cela ne change rien en C++, puisqu'ils ont les mêmes sémantiques. (contrairement à Java)
    De plus, la méta-programmation de C++ permet de même de travailler avec n'importe quels types.
    Boost ftw

  17. #17
    Membre éclairé Avatar de befalimpertinent
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    561
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2007
    Messages : 561
    Points : 833
    Points
    833
    Par défaut
    Pour les plus :
    surement un des langages les plus puissants
    permet un contrôle quasi-totale du développeur sur les ressources système (héritage du C oblige)

    Mais j'y vois aussi quelques points noirs :
    le C++ doit être un des langages les plus difficiles à parser pour un compilo (tout ce qui est template et j'en passe) ce qui fait que je ne sais même pas s'il en existe un qui respecte la norme à 100 % ( ... en attendant C++0x). Quelqu'un peut confirmer sur ce point ?
    Linux > *

  18. #18
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Il y en a un.
    Boost ftw

  19. #19
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Comeau ?

  20. #20
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 611
    Points
    30 611
    Par défaut
    Salut,

    Récemment, quand j'ai parlé du C++ avec un (vieil) informaticien, qui connait sans doute bien mieux cobol ou fortran, il s'est écrié "C++, c'est write once, read never"...

    Tout cela parce qu'il a eu le malheur de travailler avec quelqu'un qui, une fois qu'il avait fini son programme, s'amusait à supprimer toute mise en page de son code

    Il est vrai que l'on peut lui reprocher certains de ses raccourcis, voire, le fait qu'il autorise des lignes "kilometriques", contenant dans le meilleur des cas plusieurs instructions et dans le pire, plusieurs blocs d'instructions, pourquoi pas imbriqués...

    Pour ma part, j'apprécie particulièrement le C et le C++ parce que:
    • Ils tiennent parmis les rares langages qui ne dépendent pas du seul bon vouloir d'une société unique, comme c'est le cas de VB, de java ou de C#. Leur évolution est donc le fruit de concesus pour lesquels plusieurs sons de cloches ont été entendu, et il n'y a aucun risque qu'une société se décide un jour à modifier une license d'utilisation pour lui fournir des termes inacceptables
    • Ce sont des langages compilés, et ils ne nécessitent donc pas de framework particulier (sauf souhait particulier, cela va de soi), de machine virtuelle ou autre pour etre exécutés
    • Il permettent tout et le reste: que ce soit le pilotage d'un µ par port com, l'attaque d'un SGBDR, la gestion de fichiers, ou la création d'applications embarquées, rien n'est impossible... Meme le fait de se planter royalement est possible
    • Les bibliotheques existantes et à venir permettent de s'attaquer à tout ce qu'un programmeur peut avoir un jour ou l'autre de faire
    • La compatibilité entre les différentes versions de la norme est globalement bien mieux assurée que pour quantité d'autres langages
    • Si on utilise des bibliotheques portables, on crée des applications portables
    • Sans doute bien d'autres raisons...
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

Discussions similaires

  1. TCE : Qu'est ce qui vous a fait voté non
    Par pmithrandir dans le forum Politique
    Réponses: 22
    Dernier message: 07/07/2013, 20h56
  2. Qu'est-ce qui vous motive à contribuer à un projet open-source ?
    Par Katleen Erna dans le forum Actualités
    Réponses: 41
    Dernier message: 28/08/2010, 02h52
  3. [Ce qui vous fait rire] tout est dans le tag.
    Par Muesko dans le forum La taverne du Club : Humour et divers
    Réponses: 14
    Dernier message: 07/11/2007, 18h25

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