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 :

Apprendre le C & C++, un bon choix ?


Sujet :

C++

  1. #21
    Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    Dire qu'il faut apprendre le C++ quand le C est maitrisé le fait passer pour un pré-requis. Ce n'était p-e pas ce que tu voulais formuler, mais c'est ce qui en ressort.
    En effet, c'est pas ce que je voulais dire.
    C'est juste histoire de connaître le langage. Quand je dis acquis, c'est juste les bases à savoir les chaînes de caractères, les pointeurs, tableaux et tout ce qui va avec.

    Citation Envoyé par Davidbrcz Voir le message
    Beaucoup connaissent la syntaxe du langage, peu le pratique régulièrement et encore moins le pratique bien. Le C tend à devenir un langage de niche pour spécialistes.
    Tot à fait d'accord !

    Citation Envoyé par Davidbrcz Voir le message
    Btw ingénieur informatique, c'est très large comme concept, ca veut tout et rien dire en même temps. Un admin système est autant un ingénieur informatique qu'un mec qui fait de l'embarqué qu'un autre qui code un logiciel de gestion. Aucun d'entre eux n'a recu la même formation de base et n'utilise les même outils.
    Je ne connais pas assez le milieux pro pour continuer sur cette remarque, mais pour moi le C est un langage très enseigné dans les écoles d'ingénieur, donc ça reste un langage très connu !

  2. #22
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Citation Envoyé par FyndWyre Voir le message
    En effet, c'est pas ce que je voulais dire.
    C'est juste histoire de connaître le langage. Quand je dis acquis, c'est juste les bases à savoir les chaînes de caractères, les pointeurs, tableaux et tout ce qui va avec.
    Et encore...

    Typiquement, les chaines de caractères en C++ ne devraient être utilisées que sous la forme de... std::string, qui est... propre à C++.

    Les tableaux (statiques), oui, mais bon... cela n'a rien de particulièrement difficile... Pour les tableaux de taille dynamiques, il est largement préférable d'utiliser std::vector qui est aussi... propre à C++.

    Enfin, pour les pointeurs, il ne deviennent intéressants en C++ que lorsque tu souhaite manipuler une collection d'objets qui dérivent d'une classe de base et que tu souhaite profiter du polymorphisme. Autrement dit, on peut ne les apprendre qu'au chapitre... 20 et quelques sur 40 (si pas encore plus tard )

    Ta manière de présenter les choses est, justement, la démonstration de ce que david disait: une connaissance de C lorsqu'on apprend C++ est plus souvent une source de problèmes et d'embrouilles qu'une solution, car, justement, on attrape des habitudes qui n'ont strictement aucune raison d'être

    C'est la raison pour laquelle je plaide pour commencer par un apprentissage des bases de la programmation (séquentielle et orientée objets, selon le langage que l'on s'apprête à apprendre) valide pour n'importe quel langage avant de s'attaquer à l'apprentissage d'un langage en particulier.

    Mais ca, c'est un autre débat
    Je ne connais pas assez le milieux pro pour continuer sur cette remarque, mais pour moi le C est un langage très enseigné dans les écoles d'ingénieur, donc ça reste un langage très connu !
    Oulàlà...Enseigné est peut être un bien grand mot ...

    Abordé est sans doute souvent plus juste (re ).

    Et, pour ce que j'en sais, il y a beaucoup de profs qui sont relativement mécontents de devoir enseigner C plutôt que pascal comme... langage "de découverte"

    Il faut en effet comprendre que bien que C soit un langage exlcusivement séquentiel, il se place parmi les plus complexes dans sa catégorie.

    A l'extrême limite, bien que plus verbeux, je me demande presque si COBOL n'est pas encore plus facile (Et pourtant, COBOL n'est vraiment pas un langage qui ait les faveurs du public, à l'heure actuelle )
    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

  3. #23
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut

    Citation:
    Je ne connais pas assez le milieux pro pour continuer sur cette remarque, mais pour moi le C est un langage très enseigné dans les écoles d'ingénieur, donc ça reste un langage très connu !
    Oulàlà...Enseigné est peut être un bien grand mot ...
    je suis d'accord, En général c'est plutôt survolé qu'enseigné (valable pour presque tous les langages).

    Parfois ce qui s'intéressent vraiment à la programmation pendant leur cursus arrivent apprendre un ou deux langages car ils travaillent sur des projets informatiques personnel en parallèle ou sont passionné à ce moment.
    Mais il sont un poignée dans une école de 300, les autres ont juste les notions (parfois pas) et apprennent à développer pendant leur stage de fin d'étude ou pendant leur premier job.


    Ensuite je confirme un remarque c'est que le C donne de mauvaises habitude pour le C++, j'ai parfois du mal a me débarrasser des miennes c'est pour dire .

  4. #24
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Par défaut
    Citation Envoyé par koala01 Voir le message
    C'est la raison pour laquelle je plaide pour commencer par un apprentissage des bases de la programmation (séquentielle et orientée objets, selon le langage que l'on s'apprête à apprendre) valide pour n'importe quel langage avant de s'attaquer à l'apprentissage d'un langage en particulier.
    C'est vrai que dans mon cas, c'est fortement conseillé. D'ailleurs, vu que je trouve pas de livre pour débutant (vraiment débutant), autant apprendre les bases puis prendre un livre plus approprié.
    Koala01, as-tu des livres à me conseillé ? Car étant encore lycéen, je ne peux apprendre cela que par des livres. :/

  5. #25
    Membre éclairé
    Inscrit en
    Août 2010
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 68
    Par défaut
    Citation Envoyé par Aladore Voir le message
    par contre je vais réagir sur ce que tu as dit au niveau de la programmation sur GPU. Je ne sais pas pour OpenCL, mais pour Cuda tu n'est pas obligé d'utiliser le C++. En effet, NVIDIA propose Cuda pour Fortran, et des communautés pour Python (PyCuda) par exemple.
    Attention, je pense que tu confonds la partie "runtime" et la partie "kernels".
    Le runtime CUDA a été pensé pour être appelé depuis C ou C++ mais possède des wrappers... mais seulement le runtime ! pyCuda est un wrapper CUDA, mais tes kernels CUDA ils restent écrits en "C" ou "C++" (avec quelques mots clefs en plus)
    Pour OpenCL, c'est pareil, l'API a été pensée pour C. Il existe des bindings officiels C++ avec des namespaces (pour faire joli au milieu de ton code C++), et un jour (ou peut etre que ça existe déjà), on aura des bindings pour d'autres langages comme python. MAIS les kernels restent écrits en un pseudo C.

    Par contre, tu as raison, il existe bien un compilo Fortran/CUDA, mais c'est payant bien que soutenu par nvidia (http://www.pgroup.com/resources/cudafortran.htm)

    Bref, pour faire de la programmation sur GPU, connaitre les mécanismes du C ou du C++ est indispensable !

  6. #26
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    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 296
    Par défaut
    Je rejoins l'avis déjà énoncé : Si on peut éviter le C avant le C++, c'est bien mieux sur un plan pédagogique -- même si je reste persuadé qu'il doive être appréhendé par des futurs développeurs (mais préférentiellement pas avant le C++). Voir le Python/ruby/lisp/prolog en parallèle, pourquoi pas. D'autant que tous apportent quelque chose pour la partie avancée du C++. Voir autre chose avant n'est pas plus idiot non plus.

    @OP, il semblerait que JmL soit encore dispo ici: http://www.renaud-bray.com/Livres_Pr...A%2C2742936521 (merci google) et probablement d'occas ici et ailleurs. Attention, pour Linux il faut contacter l'auteur, et dans tous les cas penser à obtenir la version des sources qui marche sur le site de l'auteur (le CD a été traduit à tord, et beaucoup de travers)

    En second livre (comment ça, j'ignore royalement la "bible" de Budd et Hortsman (que je ne connais, bien qu'ils ne semblent pas suivre l'ordre historique, ce qui est un plus)), j'attendrais le P:PnPuC++ dont la traduction est pour bientôt.
    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...

  7. #27
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 8
    Par défaut
    Ah merci ! Je vais commander de suite.
    Mais euh, comme disais-je dessus, j'y connais rien en programmation. De ce fait, autant apprendre les bases de la programmation pour être bien dans le bain. Koala01 a raison, apprendre les bases de la programmation est important pour mieux comprendre.
    Donc, je me pose cette question (encore une fois xD) : Quel livre me conseillez-vous pour apprendre les bases de la programmation ?

Discussions similaires

  1. Réponses: 15
    Dernier message: 16/05/2005, 10h31
  2. Réponses: 3
    Dernier message: 24/12/2004, 17h22
  3. bon choix , choix de la configuration materielle
    Par madmortal dans le forum Débuter
    Réponses: 15
    Dernier message: 16/08/2004, 21h18
  4. Réponses: 3
    Dernier message: 28/07/2003, 22h01

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