[Thème] Débuter en C++ moderne

120 views
Skip to first unread message

Guillaume Belz

unread,
Jan 31, 2014, 4:01:25 PM1/31/14
to cpp-...@googlegroups.com
Salut à tous

Une autre thématique proposée pour une rencontre C++ : un ensemble de présentation/cours pour les débutants, pour apprendre les bases du C++ avec une approche moderne (C++11/1y, bonnes pratiques de codage et de conception, etc). Le langage C++ serait abordé avec une approche pédagogique (donc en excluant les notions problématiques évitables), mais également l'écosystème du C++ (savoir utiliser des bibliothèques, les outils de compilation, de validation du code, de documentation, de partage du code, etc).
Ce thème pourrait se dérouler sur plusieurs séances (pour laisser le temps aux participants d'assimiler les notions abordées et ne pas donner trop d'informations en une seule fois), avec une forte implication des participants (par exemple avec des séances de travaux pratiques sur des projets-exercices ou sur leurs propres projets).

Qu'en pensez vous ?

Luc Hermitte

unread,
Feb 11, 2014, 4:23:42 AM2/11/14
to cpp-...@googlegroups.com
Salut,

En espérant ne pas être trop HS par rapport à ta question car elle me fait penser à un sujet connexe.

Il peut y avoir plusieurs approches/questions:
- "débutez en C++ moderne" (pour ceux qui ne connaissent pas le C++)
- ou "modernisez votre C++" pour ceux qui en sont toujours au C/C++ aka C with classes.

Et vient ensuite la question de ce que l'on entend par "moderne". Jusqu'au C++11, mon acceptation de "moderne", c'était RAII + lib standard. Et pas grand chose de plus. J'avais écrit un truc à ce sujet pour le taf' (https://thor.si.c-s.fr/blogs/cs-blogs-techniques/#urn:md5:a7dc48a340cd43c09c1180dd99234483)

Maintenant, avec le C++11, on peut enseigner un C++ simplifié (merci auto, les for-range loops, ...).
Mais le premier truc à faire passer, c'est que le C++ peut être simple à manipuler (grâce au RAII et à la SL) si on veut casser les a priori et son image. Après, il est certain qu'il y a plein de choses à maitriser pour l'utiliser correctement, mais beaucoup de ces mêmes choses sont à maitriser dans les autres langages (SRP, LSP, ...). C'était le sens de ma préface dans le livre de Philippe qui sort bientôt. Je m'égare.

Albert

unread,
Feb 11, 2014, 5:18:34 AM2/11/14
to cpp-...@googlegroups.com
Salut,

Je suis plutôt pour l'option "modernisez votre C++". A mon avis, viser
un public débutant n'est pas essentiel (et beaucoup plus compliqué
qu'une simple histoire de langage). Je pense qu'il vaut mieux partir des
pratiques existantes et montrer comment les pratiques 'modernes' au sens
de Luc-v98 : RAII + SL.
C++11 simplifie encore l'abord du langage mais attention, les
compilateurs ne sont pas disponibles pour toutes les plateformes.
Si le contact avec le monde académique doit être maintenu, c'est quand
même l'idée de construire une communauté baignant dans des projets
industriels pour les outiller au mieux dans les développements auxquels
nous sommes confrontés et pour apporter des matériaux concrets pour
propager ces bonnes pratiques.

Frédéric Degraeve

unread,
Feb 12, 2014, 7:51:14 AM2/12/14
to cpp-...@googlegroups.com
Ca serait intéressant de mettre en avant les nouvelles bonnes pratiques du C++11 (niveau pas débutant mais on reste simple quand même).
Le but est d'avancer par rapport au 98 non? Honnêtement, si c'est pour se faire expliquer la RAII, je ne suis pas sûr que ça motive les troupes.

-1 sur l'écosystème du C++ ou alors un sondage pourrait être fait en amont si tous les gens sont ok avec telle plate-forme...

Il faudrait prendre en compte l'état des compilateurs dans les réunions. Si des mises à jours de compilateurs sortent, ça pourrait être l'occasion de faire une réunion pour parler de cette nouvelle fonctionnalité disponible (son nom? quoi? comment l'utiliser? caveat?).

ps : Nouvel arrivant dans le groupe (Merci à la pub de Joël à la conf MsTechDays d'hier). J'espère ne pas être à côté de la plaque sur la discussion. ;)

Guillaume Belz

unread,
Feb 12, 2014, 11:40:52 AM2/12/14
to cpp-...@googlegroups.com
Merci pour vos interventions
N'oubliez pas que pour ce genre de thématique, ce n'est pas quelque chose qui sera réglé en une seule présentation. Nous pourrons/devrons faire cela sur plusieurs rencontres ou des "grosses" rencontres. De plus, cela dépendra des intervenants.
Donc il n'est pas nécessaire d'exclure les options dans cette discussion (le but des discussions est surtout de récolter des idées et avoir les avis, la décision finale sera fera par les organisateurs de chaque rencontre)

Par contre, je crois que cela pose la question de comment garantir la qualité des interventions ? Beaucoup de pratiques du C++11 ne sont pas encore fixées ou adoptées (par exemple, l'utilisation des auto donné dans les GOTW 92 et 93, qui les utilisent ? Qui est d'accord avec toutes les règles ? Ou voir http://fr.openclassrooms.com/forum/sujet/c-11-auto-une-alternative-aux-templates où les différents intervenants n'ont pas forcement les mêmes points de vue).
Et il vient naturellement les questions sur quelles sont ces bonnes pratiques et sur la formation de membres du FrUG

Guillaume

Loïc Joly

unread,
Feb 13, 2014, 5:31:22 PM2/13/14
to Frédéric Degraeve, cpp-...@googlegroups.com
Le 12/02/2014 13:51, Frédéric Degraeve a écrit :
> Ca serait intéressant de mettre en avant les nouvelles bonnes
> pratiques du C++11 (niveau pas débutant mais on reste simple quand même).
> Le but est d'avancer par rapport au 98 non? Honnêtement, si c'est pour
> se faire expliquer la RAII, je ne suis pas sûr que ça motive les troupes.

Le RAII, peut-être pas (encore que je tombe régulièrement du code qui en
bénéficierait), mais comment le C++11 fait évoluer la manière de mettre
en œuvre le RAII (en particulier unique_ptr), déjà plus.

>
> ps : Nouvel arrivant dans le groupe (Merci à la pub de Joël à la conf
> MsTechDays d'hier). J'espère ne pas être à côté de la plaque sur la
> discussion. ;)

C'était Loïc et non pas Joël, mais ce n'est pas grave ;)

---
Loïc

Reply all
Reply to author
Forward
0 new messages