Voir toute la discussion dans une seule page
Ecrit par
Mathieu STEFANI le mardi 13 décembre 2011 dans le thème :
C++
Bonjour à tous,
Comme le dit le sujet, j'écris ce post pour parler et débattre autour de l'apprentissage et l'enseignement _moderne_ du C++.
En effet, comme vous le savez sans doute, dans la majorité des cursus informatiques (tout du moins, en France), l'on retrouve toute une partie sur l'apprentissage de la programmation, et sur le C++.
De mon point de vue, il s'agit de l'un des langages les plus complexes à appréhender, ce qui rend son enseignement très délicat. Les cours dispensés dans les différentes écoles se doivent d'être rigoureux, en réduisant le plus possible les approximations que l'on pourrait y trouver..
Cependant, de ma propre constatation, au sein du corps enseignant, rares sont les enseignants à se tenir au gout du jour (l'informatique étant un secteur évoluant très vite), et à imposer une réelle rigueur dans les cours dispensés aux élèves. Au final, on se retrouve donc avec un cours plutôt approximatif, aux exemples mal choisis et idioms et pratiques courantes pas toujours respectées.
C'est pour cela que je souhaite instaurer le débat, avec des personnes d'expérience, venant de l'industrie même, et ayant dans la plupart des cas vu évoluer le langage, voire son enseignement (dans les différents bouquins, cours, ...). En outre, avec l'arrivée récente du nouveau standard C++11, cela risque de remettre pas mal de choses et de cours en question..
Pensez-vous qu'il est pour l'instant trop prématuré d'introduire certaines notions et fonctionnalités de C++11 dans les cours actuels ? Pensez-vous que cela rentre dans le cadre de la « renaissance » du C++, et doit donc faire parti de l'enseignement moderne du C++ ? A l'heure actuelle, rares sont les bouquins ayant été mis à jour pour C++11 (à part les bouquins faisant état de TR1). Cela ne risque donc t-il pas de poser un problème au niveau des ressources disponibles pour les étudiants ?
D'autre part, certains cours de C++ se basent et supposent, de la part des étudiants, qu'ils possèdent déjà des bases en C. Ainsi, ces cours reposent sur des notions acquises en C. Pensez-vous qu'aujourd'hui, en 2011, cela a t-il encore réellement un sens ? Scott Meyers nous disait que l'utilisation de C++ rassemblait 4 entités :
- le C
- L'orienté objet
- La programmation générique avec les templates
- la STL
Est-il donc encore, en 2011, réellement productif et justifié de passer par la case « C » avant d'introduire le C++ ?
Enfin, si aujourd'hui, on vous demandait d'enseigner le C++, quelles seraient les lignes directrices de votre cours ? Quel serait le « plan » de votre cours ? Passeriez-vous du temps pour « vérifier » les acquis du C, ou bien vous concentreriez-vous exclusivement sur le C++, ses pratiques et ses idioms en évoquant les parties héritées du C lorsqu'il le faut ?
Si je pose ces questions, c'est car j'aimerais récolter l'avis de personnes ayant passé de nombreuses années dans l'industrie, et non pas seulement dans le domaine accadémique. Les deux ne sont, selon moi, pas incompatible, et peuvent travailler ensemble.
Cordialement.
Classé sous : cours,
enseignement,
apprentissage,
moderne,
bouquins