Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

CppCon : Bjarne Stroustrup annonce le projet C++ Core Guidelines
Pour aider les développeurs à utiliser le C++ moderne de façon plus effective

Le , par Stéphane le calme

9PARTAGES

8  0 
Durant la conférence annuelle de la communauté C++ CppCon dont la session 2015 se tient à Bellevue (Washington, USA), le professeur de sciences informatiques danois Bjarne Stroustrup a annoncé le début d’un nouveau projet open source sur GitHub qui ambitionne d’aider les développeurs à utiliser de façon plus effective le C++ moderne. Par « C++ moderne », les auteurs entendent C++11 et C++14 (et bientôt C++17).

C++ Core Guidelines, le projet en question, a pour auteurs initiaux Bjarne Stroustrup et Herb Sutter, un expert reconnu du langage C++ qui n’en est d’ailleurs pas à son premier ouvrage. Des experts issus d’entreprises et organisations comme CERN, Microsoft, Morgan Stanley et bien d’autres ont également apporté leurs contributions. Le projet n’en est qu’à l’état « 0.6 » et les contributions sont toujours bienvenues car, comme le souligne Stroustrup, « nous avons besoin d’aide ».

Le danois a avancé que « les lignes directrices sont axées sur les questions des problèmes relativement de haut niveau comme les interfaces, la gestion des ressources, la gestion de la mémoire et la concurrence. Ces règles s’appliquent à l’architecture de l’application mais également à la conception de la bibliothèque. Suivre ces règles vous permettra d’écrire des programmes C++ qui n’ont statiquement pas d’erreurs de type, n’ont pas de fuites de ressources et attrapent plus d’erreurs logiques de programmation que ce qui se fait actuellement. Vous pouvez le faire sans une perte de performance et sans limiter la puissance expressive du C++. Cela soutient la thèse générale selon laquelle la récupération de mémoire n’est ni nécessaire ni suffisante pour assurer la qualité d’un logiciel. Notre C++ Core Guidelines rend un tel code plus facile à écrire que celui des anciens modèles de C++ et la sécurité pourra être validée par des outils qui devraient bientôt être disponible en open source ».

Les auteurs précisent qu’ils sont moins concernés par les problèmes qui sont relativement de bas niveau comme les conventions de nommage et les styles d’indentation.

Ils préviennent également que « vous pourrez trouver quelques-unes des règles contraires à vos attentes ou même contraires à votre expérience. Si nous ne vous avions pas proposé de modifier votre style de développement d’aucune façon, alors nous aurions échoué ! S’il vous plaît essayez de vérifier ou d’infirmer ces règles ! En fait, nous aimerions avoir un retour sur certaines de nos règles avec des mesures ou de meilleures exemples ».

« Vous trouverez quelques-unes de ces règles évidentes voire allant de soi. S’il vous plaît, souvenez-vous que l’un des objectifs d’un guide est d’aider quelqu’un qui a moins d’expérience, qui vient d’un background différent ou qui a utilisé un autre langage ».

Même si le dépôt GitHub n’a pas été officiellement annoncé, il est déjà disponible et ce depuis la semaine dernière.

dépôt GitHub

Source : CppCon

Et vous ?

Qu'en pensez-vous ?

Forum C++

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de prgasp77
Membre émérite https://www.developpez.com
Le 24/09/2015 à 14:02
Citation Envoyé par born to code Voir le message
Bonjour, je m'appelle benjamin e'tudiant a l'ecole superieure d'informatique salama(Lubumbashi-RDC), j'ai un faible pour le c++ ... Pourriez-vous me donner une liste detaille'e d'ouvrages qui m'aideront a devenir un expert confirme' senior en c++ ? Pour l'instant, j'ai lu seulement le livre de Mathieu Nebra(programmez avec le langage c++) et y a-t-il un risque de ne connaitre qu'un seul langage( je vous prie d'etre franc avec moi)? Mais aussi dans quels domaines un programmeur doit-il exceller?
Très facile :


Source : http://abstrusegoose.com/249
7  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 23/09/2015 à 2:32
Une très bonne initiative.

Citation Envoyé par Stéphane le calme Voir le message
Les auteurs précisent qu’ils sont moins concernés par les problèmes qui sont relativement de bas niveau comme les conventions de nommage et les styles d’indentation.
Les tailles d'indentations sont pourtant un vrai problème. Les tailles d'indentation sont comme les bises quand on se salue, où personne n'a jamais le même nombre. Perso je milite pour le '\t' comme unité universelle d'indentation. Plus de problèmes de 2, 4, 8 ou un autre nombre d'espaces, ce serait un unique '\t' pour tout le monde quelque soit le langage.
3  0 
Avatar de Luc Hermitte
Expert éminent sénior https://www.developpez.com
Le 23/09/2015 à 11:36
\t n'est pas portable aux forums, imprimantes, console (grep cout *.cpp), etc. A moins d'avoir un écran très large et de ne pas se soucier du fait que nos yeux+cerveau gèrent mieux les textes qui sont sur des lignes courtes.

De plus, il faut distinguer indentation et alignement. Et \t ne permet pas d'aider à aligner. Seuls les espaces peuvent le faire. Dans le meilleur des mondes, il faut les deux pour ces deux problématiques, et un éditeur qui sache gérer ça (je sais qu'il y a ce qu'il faut dans emacs pour ça, mais je n'ai jamais vu les autres outils se vanter de savoir résoudre ce problème -- je n'exclus pas qu'il puisse en exister)

Mais bref, OSEF royalement de ça. Ce qui compte c'est un style unis dans un projet. Il y a bien d'autres problématiques bien plus critiques en C++.

-------------

Sinon, c'est une bonne initiative, bien qu'il y ait des trucs que je trouve bizarres dans l'histoire. Typiquement l'utilisation du non_nullable (ou un nom comme ça), alors qu'une référence (const ou non) fait très bien l'affaire.
3  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 23/09/2015 à 16:35
Citation Envoyé par air-dex Voir le message
Perso je milite pour le '\t' comme unité universelle d'indentation.
Sans que ça tourne au débat tabulation vs espaces, la tabulation n'a pas une distance standard et ça devient vraiment horrible à gérer lorsque tu ouvres ton projet avec un autre éditeur de texte. Je me souviens d'un projet où j'avais utilisé des indentations avec Eclipse, l'enseignant a ouvert le document sous gedit et voyait le code apparaitre 3km à droite de l'écran. Depuis c'est simple, rien ne m'empêche d'utiliser la touche tabulation, je fais juste en sorte de configurer l'IDE pour que cela génère des espaces.
4  1 
Avatar de dragonjoker59
Expert éminent sénior https://www.developpez.com
Le 24/09/2015 à 12:01
Citation Envoyé par born to code Voir le message
... Pourriez-vous me donner une liste detaille'e d'ouvrages qui m'aideront a devenir un expert confirme' senior en c++ ? ...
J'adore cette phrase. Expert confirmé senior... C'est pas le temps qui te permet de te définir comme tel? J'ai du mal à croire qu'un ou plusieurs bouquins puissent t'amener là...
3  0 
Avatar de Matthieu Vergne
Expert éminent https://www.developpez.com
Le 24/09/2015 à 13:37
Citation Envoyé par born to code Voir le message
Pourriez-vous me donner une liste detaille'e d'ouvrages qui m'aideront a devenir un expert confirme' senior en c++ ?
Citation Envoyé par oodini Voir le message
Lire du Sutter, du Meyers, du Josuttis, ou de l'Alexandrescu, ça peut aider, tout de même.
Pas beaucoup :
- expert : question de pratique, la lecture est nécessaire mais pas suffisante pour devenir expert
- confirmé : question de reconnaissance, on peut dire ce qu'on veut mais ce sont les autres qui confirme qu'on a le niveau
- senior : question d'âge, mais si tu souhaites déjà avoir les cheveux blancs tu peux demander une coloration chez le coiffeur

Benjamin, y'a pas de secret. Tu pourras lire tous les livres du monde, ça ne te donnera ni expertise, ni certification. Documente-toi pour savoir, expérimente pour savoir faire, et bosse pour aligner tes compétences sur les besoins du marché, avec l'ouverture d'esprit suffisante pour apprendre de nouvelles choses selon les besoins. L'expertise viendra avec ta motivation à faire toujours mieux, et la confirmation avec la reconnaissance des gens pour ton travail. Y'a pas de raccourci, et ceux qui te diront le contraire sont soit des gens qui ont quelque chose à te vendre, soit des gens qui sont eux-même loin d'être expert, confirmé et senior. Une expertise ça se construit et ça se renouvelle chaque jour.
3  0 
Avatar de koala01
Expert éminent sénior https://www.developpez.com
Le 24/09/2015 à 15:00
Salut,
Citation Envoyé par born to code Voir le message
Bonjour, je m'appelle benjamin e'tudiant a l'ecole superieure d'informatique salama(Lubumbashi-RDC), j'ai un faible pour le c++ ... Pourriez-vous me donner une liste detaille'e d'ouvrages qui m'aideront a devenir un expert confirme' senior en c++ ? Pour l'instant, j'ai lu seulement le livre de Mathieu Nebra(programmez avec le langage c++) et y a-t-il un risque de ne connaitre qu'un seul langage( je vous prie d'etre franc avec moi)? Mais aussi dans quels domaines un programmeur doit-il exceller?
En fait, tu parles très certainement des titres que tu vois au dessus du profile de chaque personne qui participe à une discussion.

Ces "titres" sont purement internes au forums et permettent de "donner une idée" du nombre d'interventions intéressantes que chaque personne a pu faire sur le forum.

Tu l'auras remarqué, chaque profile indique le nombre de messages écrits par la personne et le nombre de "points" qu'elle a pu obtenir au travers de ses messages. Le principe est simple : chaque fois que tu écris un message (que ce soit pour poser une question ou pour proposer une réponse), tu augmente ton nombre de messages de 1 (et, si mes souvenirs sont bons, ton nombre de points de 1 également), chaque fois que quelqu'un vote "+1" ou "-1", tu gagnes (ou tu perds) un point supplémentaires.

La publication d'articles, de tickets de blog et d'actualités (si tu devient rédacteur sur le forum) te permet d'ailleurs de gagner encore plus de points

Enfin, la modération a tout à fait le droit de te retirer des points lorsqu'elle dois réagir à un comportement de ta part qui risque de nuire à la bonne entente sur le forum.

Certains "niveaux" ne nécessitent qu'un certain nombre de message, peu importe qu'il s'agisse de questions ou de réponses, d'autres niveaux sont donnés en fonction du nombre de points que tu as obtenus.

Mais, si tu regarde le profile affiché à gauche de chaque intervention tu verra également la date d'inscription de chaque intervenant du forum, et tu te rendras compte que la plupart de ceux qui ont le titre de "membre expert confirmé senior" sont inscrits depuis plusieurs années et ont tous plusieurs milliers de messages (et d'avantage de points encore).

Le système est expliqué bien plus précisément dans le forum, mais il faudra chercher un peu, car je n'ai plus l'adresse exacte sous la main , mais, en un mot comme en cent : donne des réponses intéressantes, participe à la vie du forum et conduit toi bien. Si tu le fais durant plusieurs années, tu auras également le statut de "membre confirmé expert"
3  0 
Avatar de Médinoc
Expert éminent sénior https://www.developpez.com
Le 25/09/2015 à 10:57
Citation Envoyé par Gugelhupf Voir le message
rien ne m'empêche d'utiliser la touche tabulation, je fais juste en sorte de configurer l'IDE pour que cela génère des espaces.
Sûrement pas, ceux qui utilisent des espaces doivent souffrir autant que ceux qui auront à maintenir leur code ensuite*. Si je dois presser quatre/huit fois une touche fléchée/Backspace/etc. pour passer d'un indent à l'autre, j'espère bien que celui qui a mis ces espaces là a eu à presser quatre/huit fois "espace" pour me soumettre à cette horreur!

*Qui peuvent être de violents psychopathes, c'est bien connu.
3  0 
Avatar de Joel F
Membre chevronné https://www.developpez.com
Le 25/09/2015 à 15:28
Citation Envoyé par Luc Hermitte Voir le message

Sinon, c'est une bonne initiative, bien qu'il y ait des trucs que je trouve bizarres dans l'histoire. Typiquement l'utilisation du non_nullable (ou un nom comme ça), alors qu'une référence (const ou non) fait très bien l'affaire.
une référence ne se rebind pas (aka changer ce que ca référence), non_nullable si.
3  0 
Avatar de Arzar
Membre émérite https://www.developpez.com
Le 22/09/2015 à 21:44
Pour info ces guidelines font souvent référence à des constructions qui ne sont pas dans le langage ou la STL (array_view, string_view, not_null<> etc), mais qui sont disponible dans la GSL (guideline support library), dont le dépot github est :
https://github.com/Microsoft/GSL
2  0 
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web