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 :

Est-ce une bonne idée de commencer le C++ en tant que premier language de programmation


Sujet :

C++

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2022
    Messages : 1
    Par défaut Est-ce une bonne idée de commencer le C++ en tant que premier language de programmation
    Bonjour, je suis un étudiant âgé de 19 ans, et en ce moment, je me pose la question, à savoir quel langage de programmation apprendre, sachant que je débute juste, j'ai quelques notions ARDUINO, mais ça ne va pas plus loin que ça, j'ai toujours voulu apprendre le c++, j'ai donc commencé en faisant des petits programmes sympa, puis je me suis posé la question si je faisais le bon choix, je ne pense pas que c'est un "mauvais" choix, car de ce que j'ai compris même si je n'utiliserai jamais ce langage pour travailler le fait de l'avoir appris m'apportera des notions de programmations non négligeables.
    On m'a aussi conseillé d'apprendre le python en premier, ce qui ne me dérangerait pas, mais je sais que le python n'est pas forcément le meilleur langage pour apprendre à être un bon programmeur.
    Peut-être que je me trompe, mais c'est ce que j'ai compris.

    J'aimerais pourquoi pas développer des jeux vidéos, créer des applications, travailler dans la robotique...

    Merci de votre réponse et de votre temps
    Passez une bonne journée

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Bonjour,

    Pour prendre de bonnes bases, je pense qu'il faut un langage procédural, a typage statique et interprété.
    Le problème est que dans les langages à la mode, je n'en vois aucun qui ait les 2 dernières caractéristiques!

    Comme tu l'as écrit, Python n'est peut être pas la bonne solution et pour les mêmes raisons Javascript ou Php ne seraient pas mieux.
    Quant à C++, la base nécessaire est lourde, et le fait qu'il ait des "undefined behaviours" n'aide pas un débutant.
    Il y a aussi Java, Kotlin and co, et C#. Leur côté objet est intéressant à connaître, dommage qu'ils ne soient pas interprétés.
    Oublions le C, qui ne permet pas de faire rapidement des choses intéressantes.
    J'ai cité les langages que je connais (je connais aussi des assembleurs, Lisp, Logo, Basic, mais bof), et sincèrement en premier langage je ne saurais en conseiller aucun. J'ai appris avec Pascal et je pense que ça m'a donné de bonnes bases, mais ça n'est pas l'avenir ;-)

    D'autres, je l'espère, auront un meilleur avis (Julia? Rust? Elixir? TypeScript?, ...)

  3. #3
    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
    Salut,

    Il n'y a, pour être honnête, pas vraiment de "mauvais langage" pour apprendre la programmation.

    Certains présenteront peut-être "plus de facilités" que d'autres, ce qui est certainement un avantage dans certaines situations, mais qui présente l'inconvénient majeur de permettre de faire l'impasse sur toute une série de notions plus "générales", à cause justement de leur facilité apparente.

    De mon avis personnel, et qui bien sur n'engage que moi, ces langages "simples" devraient d'avantage être destinés à l'apprentissage des gens qui ne feraient pas du développement informatique leur priorité absolue.

    Par exemple, aux physiciens / chimistes et autres chercheurs qui auraient "juste" besoin de pouvoir programmer un "petit truc vite fait" qui puisse les aider dans leur "travail de tous les jours".

    Par contre, pour les gens qui font du développement leur priorité absolue, qui envisage de "passer tout leur temps" dans le développement informatique, je crois que c'est un mauvais service à leur rendre de commencer par ce genre de langage "plus simple". Mais laisse moi t'en expliquer la raison:

    Le ** bon ** développeur informatique sera celui qui est en mesure d'intégrer le fait que tous les langages de programmation ne sont jamais que des conventions qui permettent à l'humain d'arriver à se faire comprendre par quelque chose "d'aussi bête qu'un ordinateur".

    Le ** bon ** développeur informatique sera celui qui arrivera à se rendre compte que tous les langages utilisent les mêmes concepts, respectent les mêmes principes et qu'il n'y a au final que la manière dont ces concepts et principes sont mis en oeuvre qui peut changer d'un langage à l'autre.

    A mon sens, le principal problème des langages "les plus simples" ou "les plus faciles à apprendre", c'est qu'ils ne donnent que "peu de raisons" à l'apprenant de s'intéresser et d'essayer de comprendre "suffisamment" ces concept et ces principes que pour arriver à les appliquer de manière adéquate.

    L'avantage du C++ est qu'il n'entre clairement pas dans cette catégorie des langage "les plus simples". Au contraire, il entre très certainement dans la catégorie des "langages les plus complexes".

    De plus, il prend le contrepied de nombreux langages par sa philosophie dans le sens où c'est l'un des très rares langages à partir du principe que développeur sait ce qu'il fait, alors que les autres auraient généralement tendance à le considérer comme un "imbécile absolument pas fiable".

    Et c'est ce qui fait sa force, car tu auras systématiquement deux, trois, parfois même quatre possibilités différentes de faire la même chose et d'arriver au même résultat.

    Seulement, toutes ces possibilités vont généralement se comporter de manière différente, même si le résultat final est identique. Si bien que, pour être en mesure de choisir "en connaissance de cause" la "meilleure solution" dans la situation dans laquelle tu te trouve à un instant T, il faut que tu sois en mesure de comprendre les différences intrinsèques qu'il peut y avoir entre les différentes possibilités.

    Or, pour pouvoir comprendre ces différences, ben, tu n'auras sans doute pas d'autre choix que ... de t'intéresser et de comprendre les différents concepts et principes mis en oeuvre par les différentes possibilités.

    Comme, au final, cette meilleure compréhension des concepts et des principes peut malgré tout également s'appliquer au "langages les plus simples", le fait d'avoir pris l'habitude de te poser des questions au sujet de ces principes et de ces concepts fera sans doute de toi un bien meilleur développeur -- tous langages confondus -- que si tu avais "cédé à la facilité" et ... ignoré l'existence même de ces principes et concepts.

    Et tous ces "langages les plus simples" tendent justement à te permettre d'ignorer ces concepts et principes, le bénéfice de commencer par le C++ semble ... évident

    Enfin, il faut savoir que, s'il est -- effectivement -- tout à fait possible d'avoir une courbe d'apprentissage "facile à suivre" en C++, il ne faut malheureusement pas se leurrer: C++ est en très (trop) bonne position dans le classement des langages les plus mal appris.

    Il y a en effet, encore à l'heure actuelle, beaucoup trop de cours, de livres et de tutos en tous genres qui nous présentent le C++ comme "l'évolution du C", et qui tentent du coup de nous l'apprendre "comme si on apprenait le C".

    Or, cela fait vingt ans et plus qu'un "bon" apprentissage du C++ devrait effectivement se baser sur le principe que le C++ est un langage totalement différent du C, qui a "simplement le bon gout" de supporter (plus ou moins) ce que le C nous permet de faire.

    Au final, C++ n'est clairement pas "un mauvais choix" dans le cadre de l'apprentissage d'un premier langage. Du moins, pour les gens qui font du développement informatique leur priorité.

    Le principal problème est de trouver des ressources capables de te l'apprendre ** correctement ** ...
    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

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Si tu n'as presque jamais fait de programmation, Python peut être un bon choix.

    La syntaxe est très simple, tu arrives facilement à faire des actions assez complexes, il y a des modules pour faire tout et n'importe quoi. Il y a donc largement de quoi faire pour débuter. De plus, c'est un langage que tu utiliseras probablement dans ta vie, quelque soit le domaine (de l'informatique) dans lequel tu évolueras.

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/05/2009, 21h50
  2. Etude ds un pays anglophone est ce une bonne idée?
    Par solaar dans le forum Etudes
    Réponses: 4
    Dernier message: 17/03/2009, 19h59
  3. Réponses: 2
    Dernier message: 27/01/2009, 22h45
  4. [Python] Est-ce une bonne idée d'utiliser des modules pour stocker des objets ?
    Par Neolander dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 05/04/2008, 14h45
  5. Est ce une bonne idée utiliser Java?
    Par solaar dans le forum Langage
    Réponses: 8
    Dernier message: 22/03/2008, 16h28

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