Journal C ou C++, tel est la question

Posté par  .
Étiquettes : aucune
0
10
nov.
2003
Salut mon ch'ti journal.

Voilà, étant développeur à temps plein depuis maintenant 3 ans, je me suis
aperçu que j'avais une ENORME lacune.

Depuis ma formation en IUT, (il y a dejà 5 ans) je n'ai jamais refait de
developpement en C (j'ai fais du VB (désolé) et j'suis sur Kylix maintenant).

Alors, je me suis mis recemment au C/C++ et gtk histoire d'apprendre les
2 en meme temps, pour compliquer un peu la chose.

Mais voilà, pour faire du developpement (LIBRE biensur) avec GTK,
mieux vaut-il utiliser du C ou du C++.

Lequel de ces 2 "parents" est le plus utilisé dans la communauté.

Je pense que c'est le C mais dans ce cas, y a t'il une raison particulière
ou alors est ce uniquement par "habitude".

Merci mon ch'ti journal.

PS : Au fait, j'ai réussi a faire marché ma carte video Kiro mais le DRI ne
fonctionne QUE pour root (c'est un peu génant non ??) alors que j'ai
bien mis la section "dri" avec un mode 0666 dans le XF86Config-4.
  • # Re: C ou C++, tel est la question

    Posté par  (site web personnel) . Évalué à -4.

    c: programmation fonctionnelle
    c++: programmation objet

    'et là, tout est dit" :)
    • [^] # Re: C ou C++, tel est la question

      Posté par  . Évalué à 2.

      Merci, je connais quand meme la difference entre le C et le C++ mais ca me dis
      pas pourquoi la plupart des developpement Linux sont fait en C (ex: GTK je crois)
      • [^] # Re: C ou C++, tel est la question

        Posté par  (Mastodon) . Évalué à 5.

        Le C++ a été standardisé plus tard, et pendant longtemps il n'y avait pas de bon compilateur C++ libre, donc ça compliquait beaucoup la "portabilité". Le problème est peut-être résolu maintenant.

        En ce qui concerne GTK, c'est du C à la base, et si tu veux faire du C++ il faudra utiliser des bindings pas forcément complètement à jour. Mais en principe ça ne pose pas problème.

        Ceci dit, si tu es habitué à VB et Kylix (erk), tu seras sûrement plus à l'aise avec des langages de haut niveau comme Ruby ou Python, qui ont tous les deux des bindings GTK, et sont largement portables.
      • [^] # Re: C ou C++, tel est la question

        Posté par  (site web personnel) . Évalué à -2.

        "je connais quand meme la difference entre le C et le C++ ": bah dis le et ca ira mieux.

        Moi je comprends (à la lecture) que tu as fait du C il y a 5 ans, et jamais de C++.

        Alors merci les moinssages ...
    • [^] # Re: C ou C++, tel est la question

      Posté par  . Évalué à 6.

      Ah non, le C ce n'est pas du tout de la programmation fonctionnelle. C'est de la programmation imperative, comme le bon vieux fortran (meme si le C est un peu mieux...).

      D'ailleurs un langage peut etre fonctionnel et objet:Smalltalk, CLOS...
  • # Re: C ou C++, tel est la question

    Posté par  (site web personnel) . Évalué à 5.

    Mais voilà, pour faire du developpement (LIBRE biensur) avec GTK,
    mieux vaut-il utiliser du C ou du C++.


    Avec Gtk : C
    Avec Gtkmm : C++ (http://www.gtkmm.org/(...))

    Lequel de ces 2 "parents" est le plus utilisé dans la communauté.

    Je pense que c'est le C mais dans ce cas, y a t'il une raison particulière
    ou alors est ce uniquement par "habitude".


    C'est bien le C, mais à mon avis, pas pour la raison que tu indique. C'est plutôt parce que les compilateurs C sont disponibles sur toutes les plate-formes et fonctionnent très bien. A l'inverse, avec C++ il y a de nombreuses disparités (certains points de la norme ne sont pas gérés, grosses différences dans la STL, etc...).
  • # Re: C ou C++, tel est la question

    Posté par  . Évalué à 2.

    c'est nouveau le C/C++ ?

    sincèrement si tu ne connais pas le C++ reste au C. sinon sans vrai formation (on investissement personnel et financier), tu vas faire du « C avec des cout », bref rien de très constructifs. t'es en face de 2 langages différents et donc la conception d'un programme diffère selon le langage.

    donc reste au C, d'ailleurs on peut toujours se perfectionner en C, explorer le C99 ...
  • # Re: C ou C++, tel est la question

    Posté par  . Évalué à 3.

    Merci a tous pour vos reponse, j'apprend donc le C pour faire des belles
    appli graphique en GTK.

    Pour ce qui est du Ruby et Python, j'ai pas trop envi pour le moment,
    il faut déjà que je me remette au C qui est incontournable je pense ;-)
    et ensuite que j'étudi le PHP qui m'a l'air très interressant :-)

    Je vous plussoi tous virtuellement (j'ai pas encore le droit de voter :'-().
    • [^] # Re: C ou C++, tel est la question

      Posté par  . Évalué à 1.

      tu connais pas du tout le C ?
      • [^] # Re: C ou C++, tel est la question

        Posté par  . Évalué à 1.

        si je connai un peu , c'était le support de cours a l'IUT mais
        ca fait 5 ou 6 ans que j'en ai pa fait alors forcement, j'ai un peu oublié ;-)
        • [^] # Re: C ou C++, tel est la question

          Posté par  . Évalué à 2.

          L'un des meilleurs cours de C++ qui soient disponibles est à mon goût celui de Christian Casteyde, à qui l'on doit également les premiers pilotes pour le modem ADSL F@st 800 de Sagem:

          http://casteyde.christian.free.fr/cpp/cours/index.html(...)

          Je pense également, comme pas mal de monde, qu'il vaut mieux apprendre d'abord le C, bien le maîtriser, puis attaquer le C++. Le C est également le langage le plus proche de celui de la machine, après l'assembleur. C'est utile pour comprendre le fonctionnement de bas niveau d'un ordinateur, ce qui devient indispensable pour optimiser des programmes écrits dans un langage plus « évolué ».

          Lequel de ces deux « parents » est le plus utilisé dans la communauté ? Sans aucun doute le C. A cause de son âge, mais surtout parce que C et Unix sont intimement liés (conçus par les mêmes personnes et à peu près au même moment).

          http://www.linuxfr-france.org.invalid/prj/jargonf/index/C.html(...)
          http://www.linuxfr-france.org.invalid/prj/jargonf/U/Unix.html(...)

          Je te conseille également (et là un certain nombre de personnes vont probablement me jeter des cailloux) de voir un bout de programmation X-lib, histoire de voir que l'on peut implémenter un modèle objet sans avoir un langage spécialement dédié à cela.

          Je ne saurais trop te conseiller de bien maitriser ces langages, au moins le C, en tout cas. Beaucoup de programmeurs débutants font leur domaine de prédilection de langages orientés objets récents, spécialement Java. Quand on leur demande quelles sont les raisons qui les ont poussés à faire ce choix, ils invoquent en général la portabilité ou un jeu de classes séduisant (ce qui est vrai en soi) mais la véritable raison est en général inavouée: Le Java, c'est comme le C/C++ mais sans se faire chier avec les pointeurs. Il va sans dire que je t'encourage fortement à ne pas adopter cette solution de facilité et de t'efforcer au contraire à en utiliser le maximum dans tes exercices. Les pointeurs ne sont pas spécifiques au C, mais sont un concept fondamental en programmation: connaître l'adresse en mémoire d'une donnée. Ne pas maîtriser ce genre de chose constitue une grave lacune chez un programmeur.

          Enfin, pour GTK, commence par le C. Tu peux même utiliser des outils comme GLADE ( http://glade.gnome.org(...) ) pour générer des interfaces avec un environement style VB, puis générer le code associé et le remplir. Par la suite, tu l'écriras toi-même depuis zéro.

          Bon courage.
    • [^] # Re: C ou C++, tel est la question

      Posté par  (Mastodon) . Évalué à 1.

      Avis personnel, le PHP n'a absolument rien d'intéressant, et son seul atout est d'être installé chez la plupart des hébergeurs gratuits. Ça le rend presque incontournable pour les développements Web, mais en tant que langage, il est plutôt lourd, pas très bien structuré et pas vraiment intuitif comparé à Ruby ou autres.
  • # Re: C ou C++, tel est la question

    Posté par  (site web personnel, Mastodon) . Évalué à 4.

    PS : Au fait, j'ai réussi a faire marché ma carte video Kiro mais le DRI ne
    fonctionne QUE pour root (c'est un peu génant non ??) alors que j'ai
    bien mis la section "dri" avec un mode 0666 dans le XF86Config-4.


    adduser mon_user video

    puis relancer X

    Mes livres CC By-SA : https://ploum.net/livres.html

  • # Re: C ou C++, tel est la question

    Posté par  . Évalué à 2.

    Mon avis: regarde le C et C++.
    La connaissance prealable du C est un enorme avantage lorsque tu commences a apprendre le C++. Tu vas vite voir si la programmation objet te plait ou pas. Si tu aimes les trucs genre: "j'ai une architecture generique qui me permet de manipuler n'importe quel type de format d'image", le C++ est fait pour toi :)

    L'interface avec GTK se fait de toute facon tres bien en C et en C++ (soit directement soit avec GTKmm).
  • # Re: C ou C++, tel est la question

    Posté par  . Évalué à 1.

    De toute façon, C++ est une post-imcrémentation de C, donc il a beau rajouter tout plein de chose, il a toujours la même valeur.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.