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 ou C++ ? Lequel choisir ?


Sujet :

Langages de programmation

  1. #161
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Citation Envoyé par Woufeil Voir le message
    C'est terrible, dès qu'on dit qu'un paradigme est bien, on nous rétorque que l'autre aussi
    Evidemment, puisqu'on compare les deux ici. Si on donne un argument en faveur de l'un, c'est implicitement en défaveur de l'autre. Enfin, il me semblait. Désolé si je t'ai mal compris.

  2. #162
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    En fait, je crois que l'on va ouvrir une discussion concernant la confrontation entre langage fonctionnel et langage impératif.

    On pourra se défouler à ce moment , on va essayer de rester sur le débat C C++ jusque là.
    Je ne répondrai à aucune question technique en privé

  3. #163
    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 Garulfo Voir le message
    Je pense que tu ne te rends pas comptes à quel point la notation a.f(b) est stressante pour qqs qui a déjà du mal à écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int f (int x, int y) 
    {
        return x+y ;
    }
    Si quelqu'un a un probleme avec les notations, je ne vois pas en quoi l'exposer aux pointeurs beaucoup plus rapidement va resoudre son probleme de comprehension. Si effectivement c'est un gros probleme, mettre une serie de fonctions libres a utiliser au debut (voir ci-dessous) est une solution. Mais bon, tu utiliserais Ada que tu aurais le probleme avec les attributs.

    Note que sur ce sujet, s'il y a une chose a faire passer dans un cours d'informatique, c'est la difference entre concept et notation, objet et representation. Ce n'est pas simple mais tant que ce n'est pas compris, il y aura de gros problemes de comprehension et un manque de capacite a trouver ses propres solutions.

    Maintenant est aussi nécessaire si tu veux pouvoir ouvrir un fichier avec un nom mis dans une string, sachant que les tableaux de caractères sont plus une plaie qu'un plaisir. Encore une fois, il faut que tu te mettes au niveau de personne qui viennent de bio par exemple et qui ont un cours obligatoire en C++... la vie n'est pas toujours drôle pour eux dans ce cours
    C'est une des choses que j'envisagerais serieusement de camoufler dans la bibliotheque utilisee pour le cours. Oui, cela implique d'avoir une bibliotheque a utiliser pour le cours (et naturellement un des objectifs est de comprendre l'implementation de cette bibliotheque au moins pour des choses de ce genre), mais que ce soit en C ou en C++, je ne vois pas comment faire autrement: c'est ca, ou des incantations magiques ou introduire des concepts quand les bases pour les comprendre et en comprendre l'interet ne sont pas la. Une des raisons de ma preference pour le C++, c'est que cette bibliotheque sera beaucoup plus petite.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  4. #164
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par Woufeil Voir le message
    Pour publicStaticVoidMain : tu es sûr que tu te rappelles de tes débuts en informatique ??? Sachant qu'il y a des personnes qui ont moins de 16h de programmation derrière eux (premiers cours, comptez dans les séances l'historique et les divergences), tu veux déjà leur faire apprendre comment accéder aux paramètres de main() ?
    Je me rappelle en effet de mes debuts en info, vu que je suis tjrs à la fac et je t'assure que je n'ai eu aucun problème pour apprendre le C et le bazar qu'il y'a dedans.
    Heure de programmation? En + des heures de TP, ca m'arrive de faire des petits programmes chez moi parce que je crois que les cours,TD et TP ne suffisent pas si on n'apprend pas par soi meme.



    Citation Envoyé par Woufeil Voir le message
    e ne voudrais pas t'avoir comme prof dans une matière que je ne maitrise pas...
    C'est pas que je les défends, mais mes prof (Cours/TD/TP) sont pour la plupart tous des chercheurs ou des étudiants en doctorat.


    a+!!

  5. #165
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Si quelqu'un a un probleme avec les notations, je ne vois pas en quoi l'exposer aux pointeurs beaucoup plus rapidement va resoudre son probleme de comprehension. Si effectivement c'est un gros probleme, mettre une serie de fonctions libres a utiliser au debut (voir ci-dessous) est une solution. Mais bon, tu utiliserais Ada que tu aurais le probleme avec les attributs.
    Qui a parlé de pointeurs ? On ne fait pas de pointeurs dans mon cours.
    Si on faisait du Ada on ferait du pur objet.
    Je préfèrerais Pascal, ou comme je l'ai dit (dans l'ordre du programme), du C plutôt que du C++. Au moins ça serait complètement procédural.

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Note que sur ce sujet, s'il y a une chose a faire passer dans un cours d'informatique, c'est la difference entre concept et notation, objet et representation. Ce n'est pas simple mais tant que ce n'est pas compris, il y aura de gros problemes de comprehension et un manque de capacite a trouver ses propres solutions.
    C'est clair... Et notes bien que c'est très difficile. Comme je le disais, le but d'un premier cours (souvent à tort appelé « de programmation ») n'est certainement pas de voir à fond un langage. Ceci est assez inintéressant. Surtout pour le prof ^_^.

  6. #166
    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 Garulfo Voir le message
    Qui a parlé de pointeurs ? On ne fait pas de pointeurs dans mon cours.
    Tu fais du C sans pointeur? Je serais curieux de voir ton cours et d'avoir aussi plus d'info sur le contexte dans lequel tu le donnes et ce qu'il est sense couvrir.

    Si on faisait du Ada on ferait du pur objet.
    Je préfèrerais Pascal, ou comme je l'ai dit (dans l'ordre du programme), du C plutôt que du C++. Au moins ça serait complètement procédural.
    J'ai du mal a voir ce qui t'empeche du faire du completement procedural en Ada. Et je ne suis pas du tout convaincu par ton unique argument jusqu'a present (la notation, il ne rentre pas en compte pour Ada) en ce qui concerne le C++.

    C'est clair... Et notes bien que c'est très difficile.
    J'en suis conscient. C'est le genre de chose que je n'essaye pas d'expliquer par e-mail ou sur des forums. Et que je dois parfois expliquer en face a face lors d'interview d'embauche a des gens qui sont diplomes et qui ont deja une certaine experience professionnelle,...
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  7. #167
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Tu fais du C sans pointeur? Je serais curieux de voir ton cours et d'avoir aussi plus d'info sur le contexte dans lequel tu le donnes et ce qu'il est sense couvrir.
    On fait du C++ sans pointeur oui. Note bien que ce n'est pas moi qui ai fait le programme ni qui ai choisi le contenu du cours.
    C'est vrai que si ça avait été moi qui aurait choisi on aurait fait du Scheme au lieu de s'emmerder avec des détails de syntaxes. Mais c'est pas le cas.
    Voilà le premier cours :
    http://www.usherbrooke.ca/programmes...IFT/ift159.htm
    Voilà celui qui enseigne les pointeurs :
    http://www.usherbrooke.ca/programmes...IFT/ift339.htm

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    J'ai du mal a voir ce qui t'empeche du faire du completement procedural en Ada.
    Mais rien.. tu lis encore entre les lignes des mots qui n'existent pas
    Je t'ai dit que si on avait choisi ADA on aurait fait de l'objet.
    Je n'ai jamais dit que quelquechose m'empêcherait de faire du procédural.

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Et je ne suis pas du tout convaincu par ton unique argument jusqu'a present (la notation, il ne rentre pas en compte pour Ada) en ce qui concerne le C++.
    TU as le droit de ne pas être convaincu de quoi que tu sois. Avant d'enseigner le C++ j'étais de ton avis. Je comprends bien donc. Ça remet les idées en place d'être confrontée aux difficultés au jour le jour des étudiants qui ne sont pas en informatiques tu sais. Tu fais affaire depuis des années avec des gens qui connaissent et pratiquent l'informatique. QUand tu enseignes à des étudiants en première année, qui n'ont jamais fait de programmation ou presque, ça change beaucoup de chose.

  8. #168
    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 Garulfo Voir le message
    On fait du C++ sans pointeur oui.
    Du C++ je veux bien, c'est justement une des raisons qui font que le C++ me semble plus adapté que le C dans ce cadre....

    C'est vrai que si ça avait été moi qui aurait choisi on aurait fait du Scheme
    J'ai jamais prétendu que le C++ était le meilleur langage pour débuter, quelles que soient les circonstances, juste qu'il était généralement meilleur que le C.

    Voilà le premier cours :
    http://www.usherbrooke.ca/programmes...IFT/ift159.htm
    Voilà celui qui enseigne les pointeurs :
    http://www.usherbrooke.ca/programmes...IFT/ift339.htm
    C'est trop succins pour avoir une idée de ce que ça recouvre exactement. Je parlais plutôt des supports du cours. Je ne vois même pas la durée du cours (il faut probablement décoder 3-1-5).

    Ça remet les idées en place d'être confrontée aux difficultés au jour le jour des étudiants qui ne sont pas en informatiques tu sais. Tu fais affaire depuis des années avec des gens qui connaissent et pratiquent l'informatique. QUand tu enseignes à des étudiants en première année, qui n'ont jamais fait de programmation ou presque, ça change beaucoup de chose.
    Moins les gens sont familier avec l'informatique, moins le C me semble adapté. Mais bon, on ne va pas ressasser les mêmes arguments indéfiniments.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  9. #169
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Du C++ je veux bien, c'est justement une des raisons qui font que le C++ me semble plus adapté que le C dans ce cadre....
    Ce qu'on fait est, comme dans la plupart des premiers cours universitaires, du C avec un peu de syntaxe C++... Donc on peut dire qu'on fait du C sans pointeur. Certes il y a les tableaux, mais il n'y a pas de manipulations d'adresses explicites avec.

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    J'ai jamais prétendu que le C++ était le meilleur langage pour débuter, quelles que soient les circonstances, juste qu'il était généralement meilleur que le C.
    Mais meilleur par rapport à quoi ?
    En général, quand le C++ est le premier langage appris à l'université ou au collège (dans le sens américain), la raison est « c'est le langage le plus utilisé ». C'est d'ailleurs notre argument. Dès qu'on veut autre chose de plus ciblé (apprendre les principes de la programmation-objet, de la programmation-fonctionnel, de la programmation-procédural) on remarque que les choix s'orientent vers un autre langage.

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    C'est trop succins pour avoir une idée de ce que ça recouvre exactement. Je parlais plutôt des supports du cours. Je ne vois même pas la durée du cours (il faut probablement décoder 3-1-5).
    Effectivement ce n'est pas évident. Mais on voit que tu n'as pas l'habitude des codes universitaires Celui-ci est un classique : 3h de cours, 1h de travaux dirigés/lab, 5 heures de travail personnel à la maison, par semaine.

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Moins les gens sont familier avec l'informatique, moins le C me semble adapté. Mais bon, on ne va pas ressasser les mêmes arguments indéfiniments.
    Tu n'as pas complètement tort. En fait, C/C++ pour moi ça se ressemble trop pour que la différence soit fondamental. Si tu veux, on peut le dire ainsi : intuitivement, à force d'enseignement, il me semble que le C est plus approprié que le C++ à l'enseignement pour un débutant. C'est un peu le même genre de choses qui te permettrait de dire, avec énormément de crédibilité vu ton expérience, que par expérience, intuitivement, tu penses que le C++ est le meilleur. Car au final, nous n'avons que des expériences ciblées dans un cadre qui est toujours plus ou moins le même. Personne n'a la sagesse nécessaire pour généraliser de manière exact.

  10. #170
    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 Garulfo Voir le message
    En général, quand le C++ est le premier langage appris à l'université ou au collège (dans le sens américain), la raison est « c'est le langage le plus utilisé ».
    C'est un argument presque sans valeur s'il n'y a pas à courte échéance nécessité d'être compatible avec l'extérieur.

    Effectivement ce n'est pas évident. Mais on voit que tu n'as pas l'habitude des codes universitaires
    J'ai déjà vu trop de variations dans un même pays pour penser décoder sans aide quelque chose d'un autre.

    Celui-ci est un classique : 3h de cours, 1h de travaux dirigés/lab, 5 heures de travail personnel à la maison, par semaine.
    Et il manque le nombre de semaines pour arriver à quelque chose d'utile.

    Tu n'as pas complètement tort. En fait, C/C++ pour moi ça se ressemble trop pour que la différence soit fondamental.
    Tu vas pas être content mais je vais remettre en doute ta compétance en C++ si tu ne vois pas de différences pertinentes dans l'enseignement aux débutants.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  11. #171
    alex_pi
    Invité(e)
    Par défaut
    Je propose l'ouverture d'un pee-contest pour voir lequel des deux pisse le plus loin.

  12. #172
    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 alex_pi Voir le message
    Je propose l'ouverture d'un pee-contest pour voir lequel des deux pisse le plus loin.
    On sait, tu es hors concours
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  13. #173
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    C'est un argument presque sans valeur s'il n'y a pas à courte échéance nécessité d'être compatible avec l'extérieur.
    JE ne te le fais pas dire. Raison pour laquelle je suis contre le C++, car je trouve cet argument douteux.
    Mais bon, on m'ostine que c'est demandé par le service des stages -_-

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Et il manque le nombre de semaines pour arriver à quelque chose d'utile.
    15... ça t'intéresse vraiment on dirait

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Tu vas pas être content mais je vais remettre en doute ta compétance en C++ si tu ne vois pas de différences pertinentes dans l'enseignement aux débutants.
    Et bien remet, remet Il est clair de toute façon que tu es plus expert que moi en C++. Ça ne fait même pas l'ombre d'un doute. Dans ce cas, j'espère que tu ne verras pas de mal que je remette en doute tes compétences à évoluer dans un contexte d'enseignement ? Car je pense que tu ne comprends pas le cadre dans lequel prend place un cours.

    Je ne vois pas de différence pertinente par rapport à tout ce que j'ai dit et qui est visé par le programme. Le seul point qui nécessite C++ est qu'on commence à parler d'objet. Mais pour ce qu'on en dit, je pourrais m'astreindre aux types enregistrements.

  14. #174
    alex_pi
    Invité(e)
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    On sait, tu es hors concours
    Disons que je lache difficilement l'affaire, ok, mais là, ça fait 4 pages de "oui mais moi je fais de l'enseignement" "oui mais moi je sais quand même parce que je suis plus fort" "oui mais moi...". Bref, zéro argument, même pas des tout petits ayant déjà servi, juste... rien ! Sérieux, stop quoi !

  15. #175
    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 Garulfo Voir le message
    JE ne te le fais pas dire. Raison pour laquelle je suis contre le C++, car je trouve cet argument douteux.
    Mais bon, on m'ostine que c'est demandé par le service des stages -_-
    ostiner? typo -- pour quoi? -- ou canadianisme?

    Vouloir qu'il y ait eu une introduction au C ou au C++ avant les stages, ça me semble raisonnable. Mais les stages sont faits quand par rapport à ce cours?

    15... ça t'intéresse vraiment on dirait
    L'enseignement m'intéresse vraiment. Même si ce n'est pas mon métier pour le moment, il l'a été pendant 5 ans dont deux où j'ai enseigné diverses choses dont l'informatique et la programmation à de tout débutants ayant arrêté leur scolarité après les primaires. Mais le contexte de ces deux ans était tellement particulier qu'en extrapoler quelque chose pour d'autres contextes est difficile.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  16. #176
    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 alex_pi Voir le message
    Disons que je lache difficilement l'affaire, ok, mais là, ça fait 4 pages de "oui mais moi je fais de l'enseignement" "oui mais moi je sais quand même parce que je suis plus fort" "oui mais moi...". Bref, zéro argument, même pas des tout petits ayant déjà servi, juste... rien ! Sérieux, stop quoi !
    On a arrêté de chercher à se convaincre, pas encore à se comprendre.
    Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.

  17. #177
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    ostiner? typo -- pour quoi? -- ou canadianisme?
    Terme Québecois, pas Canadien
    Tu ne sais pas que les Québecois sont sensibles sur cette différence
    « s'ostiner » c'est « s'évertuer sans cesse à faire/dire sans bon sens » dirons nous dans notre cas. Il y a un rapport clair avec « s'obstiner » bien sûr.

    Citation Envoyé par Jean-Marc.Bourguet Voir le message
    Vouloir qu'il y ait eu une introduction au C ou au C++ avant les stages, ça me semble raisonnable. Mais les stages sont faits quand par rapport à ce cours?
    [...]
    L'enseignement m'intéresse vraiment. Même si ce n'est pas mon métier pour le moment, il l'a été pendant 5 ans dont deux où j'ai enseigné diverses choses dont l'informatique et la programmation à de tout débutants ayant arrêté leur scolarité après les primaires. Mais le contexte de ces deux ans était tellement particulier qu'en extrapoler quelque chose pour d'autres contextes est difficile.
    Si tu veux, vu que c'est très loin du sujet, je vais te donner plus de renseignement par MP... Parce que ça semble déranger certaines personnes qui ne comprennent pas le sens du mot « débattre »

    D'ailleurs je ne comprends pas que tu t'ostines à nous lire si tu n'aime pas la discussion Alex_pi... serais tu légèrement maso ?
    (notez l'usage du mot « ostiner » encore là )

  18. #178
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 508
    Points
    5 508
    Par défaut
    Citation Envoyé par Garulfo Voir le message
    Si tu veux, vu que c'est très loin du sujet, je vais te donner plus de renseignement par MP... Parce que ça semble déranger certaines personnes qui ne comprennent pas le sens du mot « débattre »
    Ce serait dommage, car ce débat m'intéresse... Je tends à penser que C++ est plus adapté que C pour enseigner les bases de la programmation, notamment parce qu'il permet dans un premier temps de s'abstraire des détails de bas niveau, notamment en valorisant l'usage des types std::string, std::vector, des itérateurs, etc.. J'aime particulièrement l'approche pédagogique utilisée dans l'ouvrage "Accelerated C++", par Andrew Koenig et Barbara E. Moo.

    L'utilisation des types de haut niveau du C++ permet de retarder au maximum l'introduction des pointeurs, des tableaux, des tableaux de caractères, de l'allocation dynamique. En débutant par le C, il est inévitable d'avoir à introduire ces notions déjà lors des premières leçons. Je pense également, et vous semblez d'accord sur ce point, que des langages autres que C++ sont plus adapté à un premier contact avec la programmation. Scheme ou Python (entre autres) sont de bons candidats. Même si j'utilises beaucoup le C, je ne pense pas qu'il soit adapté à ce niveau du cursus de formation.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  19. #179
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    Ce serait dommage, car ce débat m'intéresse... Je tends à penser que C++ est plus adapté que C pour enseigner les bases de la programmation, notamment parce qu'il permet dans un premier temps de s'abstraire des détails de bas niveau, notamment en valorisant l'usage des types std::string, std::vector, [...]
    J'utilise string. Cependant, ça apporte plein de problème supplémentaire au niveau de la cohérence de l'écriture puisque c'est un objet. Avant, le cours utilisait juste des tableaux (et toujours pas de pointeurs, les tableaux étant statiques dans les exemples). Les changements de syntaxes – o.f() au lieu de f(o) – génèrent incroyablement de problème. Je crois que vous seriez surpris pour la plupart puiqu'en général nous avons tous surmonté ce problème très vite

    Un vecteur n'est pas plus simple à comprendre qu'un tableau de toute façon. Le tout s'apparentant à la suite en math. Mais c'est vrai que ça simplifie bien la vie. Lorsque j'ai voulu l'intégrer c'est un autre problème qui s'est posé : si on ne le voit pas dans ce cours, alors le suivant doit le voir entrainant un retard. Comme je l'ai dit, faire un programme cohérent et qui tient dans le temps imparti (« programme » dans le sens les cours formant le cursus) c'est très difficile.

    Les itérateurs c'est encore un autre problème : ça demande une bonne compréhension du paradigme impératif. Et beaucoup d'étudiants pensent encore comme en math sans s'en rendre compte. Les structures de données complexes sont vus dans un cours suivant. On s'en tient à des petits type d'enregistrements (struct) et les classes qui correspondent. Pas grand chose donc.

  20. #180
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    Python
    J'en ai déjà parlé sur le forum : nous avions discuté dans notre département de la pertinence de prendre Python en premier langage (et en justifiant que c'était maintenant très utilisé en industrie, puisque c'est ce qui nous fait garder C++).
    Puis, on a remarqué le problème de la création d'attribut de manière dynamique. Alors on a oublié. C'est trop gênant hélas. C'est dommage car je l'aurais bien pris moi.
    Voir ici
    D'ailleurs c'était une réponse à Thierry. Je suppose qu'il s'en rappelle très bien.

Discussions similaires

  1. VARCHAR & CHAR - comment savoir lequel choisir !?
    Par Thierry8 dans le forum Requêtes
    Réponses: 15
    Dernier message: 18/12/2005, 21h54
  2. Lequel choisir???
    Par t_om84 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 27/10/2004, 15h02
  3. Curseur et lock : Les différence & lequel choisir
    Par BilTCD dans le forum Access
    Réponses: 2
    Dernier message: 22/10/2004, 15h03
  4. [FEDORA] Lequel choisir entre Fedora i386 et x86 pour un xeon?
    Par Oberon dans le forum RedHat / CentOS / Fedora
    Réponses: 7
    Dernier message: 13/07/2004, 15h52
  5. [Conseil] Glut vs SDL, lequel choisir
    Par Mathieu.J dans le forum GLUT
    Réponses: 15
    Dernier message: 08/06/2004, 09h47

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