Developpez.com

Le Club des Développeurs et IT Pro

Linus Torvalds fustige des développeurs du noyau Linux

Pour des styles de commentaires qu'il qualifie de « dégoûtants » et visuellement déséquilibrés

Le 2016-07-11 16:24:26, par Michael Guilloux, Chroniqueur Actualités
Linus Torvalds vient encore une fois de faire parler de lui, et comme vous le savez probablement déjà, ses interventions viennent pour remettre les choses en ordre. Le seigneur de Linux ne manque pas aussi de le faire à sa manière, avec un peu de grossièreté, mais de sorte que son message soit bien reçu par ceux à qui il s’adresse.

Aux dernières nouvelles, dans un message adressé à la liste de diffusion du noyau Linux il y a quelques jours, monsieur Torvalds a fustigé des développeurs qui utilisent un style de commentaires qu’il qualifie de « dégoûtant », « déséquilibré », et de « merde ». En matière de commentaires, Linus a une préférence pour les commentaires multilignes équilibrés et symétriques traditionnels de style C. Pour lui, si les développeurs du noyau ne peuvent pas gérer ce style de commentaires et qu’en lieu et place, ils utilisent ce qu’il appelle « de la merde dégoûtante déséquilibrée », alors il faudrait aller jusqu’au bout vers le mode C++. Pour être plus clair, Linus Torvalds recommande trois modèles :

Modèle a :
Code :
/* Ceci est un commentaire */
Modèle b :
Code :
1
2
3
4
/*
 * Ceci est également un commentaire, mais il peut maintenant être proprement
 * réparti sur plusieurs lignes
 */
Modèle c :
Code :
// Cela peut être une seule ligne. Ou plusieurs. Selon votre choix.
Sa préférence pour ces trois modèles se justifie par le fait qu’ils sont visuellement équilibrés. Linus Torvalds tolère également un autre style de commentaires multilignes qui n’est cependant pas du style du noyau Linux.

Modèle d :
Code :
1
2
/* Ceci est une alternative au format multiligne
Linus estime que ce ce n’est pas horrible, mais pas le style du noyau */
Ces styles de commentaires présentent également une certaine symétrie que le créateur du noyau Linux apprécie bien. Mais il semble que certains développeurs du noyau n’aient adopté aucun de ces « formats sains », mais plutôt d’autres que Linus ne veut pas du tout voir.

Ce que Linus ne veut pas voir :
Code :
1
2
3
/* Ceci est un style de commentaire que Linus ne veut pas voir
 * et dont on devrait se débarrasser selon lui
 */
Ce qu’il ne veut absolument pas voir :
Code :
1
2
/* Ceci est un style de commentaire que Linus ne veut absolument pas voir
 * c’est visuellement asymétrique */
Si vous faites partie de ces développeurs qui utilisent ces deux derniers styles, le seigneur de Linux dit ne pas comprendre pourquoi ces gens « pensent que leurs styles particulièrement laids sont très bien ». D’après Torvalds, « ce sont les versions qui sont les plus visuellement déséquilibrées de tous les styles de commentaires communs, et n'ont pas d'avantages réels. »

Cette nouvelle diatribe vient compléter le long palmarès du créateur du noyau Linux. Pour vous rafraichir la mémoire, on peut encore citer le fameux « Fuck you ! » adressé à NVIDIA pour une incompatibilité du matériel de la société, ou encore des propos agressifs contre un développeur de Red Hat pour avoir proposé un patch pour le support du Secure Boot dans le Kernel. Bien avant cela en 2012, Torvalds a violemment attaqué OpenSUSE et un an encore en arrière, il qualifiait le langage C++ d’horrible. Dans l’un de ses derniers coups de gueule datant de juillet 2015, c’est l’équipe Gmail de Google qui a payé les frais du comportement de l’américain d’origine finlandaise. Linus Torvalds les a ouvertement fustigés à travers un post Google+ dans lequel il critique l’impertinence du filtre anti-spam de Gmail.

Après tout, il faut dire que les remarques de Linus Torvalds sont le plus souvent très pertinentes, même si de nombreuses personnes n’apprécient pas sa manière de les dire. Qu’en est-il donc de cette nouvelle remarque au sujet des styles de commentaires ?

Source : Liste de diffusion du noyau Linux

Et vous ?

Qu’en pensez-vous ?

Voir aussi :

Linus Torvalds blâme l'équipe Gmail de Google, après avoir constaté que plus de 30 % de ses spams étaient en fait des mails légitimes
  Discussion forum
51 commentaires
  • tomlev
    Rédacteur/Modérateur
    Bref, Torvalds nous apporte encore une nouvelle confirmation (s'il en était encore besoin) qu'il est une personne absolument détestable (pour rester poli). Il est bourré de TOCs, cherche à imposer ses préférences personnelles à tout le monde, et est totalement fermé à l'idée que sa conception des choses n'est pas forcément universelle, comme le montre cette phrase :

    le seigneur de Linux dit ne pas comprendre pourquoi ces gens « pensent que leurs styles particulièrement laids sont très bien »
    Le jour où Torvalds ne dirigera plus le développement du kernel, je pense que la communauté Linux poussera un grand soupir de soulagement...

    Je suis bien conscient qu'il a apporté de grandes choses à l'informatique, notamment Linux et Git... mais il semble croire que ça lui donne le droit d'être odieux, et personne n'ose le remettre à sa place.
  • jlliagre
    Modérateur
    Et vous ?

    Qu’en pensez-vous ?
    Linux a été créé par Linus Torvalds et il n'a jamais délégué à qui que ce soit la gouvernance de ce projet. C'est à dire qu'il est clairement le seul maître à bord. C'est *son* projet. Même s'il l'a rapidement mis sous une licence open-source, il n'est pas du tout obligé d'accepter toutes les contributions extérieures, et pourrait même toutes les refuser s'il le voulait. Il a cependant bien sûr choisi d'en accepter beaucoup, mais il relit et valide beaucoup d'entre-elles et ne délègue une partie de ces validations qu'à une groupe très restreints de contributeurs.

    La relecture de code écrit par quelqu'un d'autre est un tâche souvent ingrate. Il est souvent très difficile d'apprécier le fond quand on est perturbé par la forme. C'est l'une des raisons pour lesquelles la quasi-totalité des gros projets logiciels définit ses propres conventions de codage. Torvalds à documenté les siennes dans un document ( https://www.kernel.org/doc/Documenta...on/CodingStyle ) et il y est écrit, le style de codage est très personnel et je ne force personne à adhérer à mon point de vue, mais c'est ce qui va bien pour tout ce que je dois maintenir. Il esr donc clair, vu que Torvalds peut être amené un jour ou l'autre à maintenir à peu près n'importe quelle partie du code de Linux, que tous les contributeurs doivent respecter les règles qu'il définit. Il existe cependant peut-être d'autres documents car le CodingStyle rejette les commentaires du style C++ ( // commentaire ) alors que Torvalds les accepte dans son mail.

    Torvalds est un "benevolent dictator", un dictateur éclairé donc, mais dictateur quand même. Ceux qui contribuent au code de Linux doivent le faire en connaissance de cause. Ceux qui ne sont pas contents de cette dictature sont libres d'aller travailler sur un autre projet ou de créer un fork de Linux et définir d'autres règles de codage et de gouvernance...
  • SylvainPV
    Rédacteur/Modérateur
    Sympa l'ambiance dans la mailing list... c'est ça la synergie d'équipe façon Linus, insulter ses collègues de retardés mentaux drogués au LSD pour une astérisque en trop dans un commentaire ?

    Ceci dit ça n'a pas l'air d'avoir choqué le reste de l'équipe. Peut-être une habitude chez le grand patron ? Ou un humour douteux ?
  • David_g
    Membre éclairé
    Envoyé par SylvainPV
    Sympa l'ambiance dans la mailing list... c'est ça la synergie d'équipe façon Linus, insulter ses collègues de retardés mentaux drogués au LSD pour une astérisque en trop dans un commentaire ?
    Ceci dit ça n'a pas l'air d'avoir choqué le reste de l'équipe. Peut-être une habitude chez le grand patron ? Ou un humour douteux ?
    Oh bah heureusement il a beaucoup de gens payés par leurs entreprises pour le supporter. je pense que sinon par pur passion, cela doit rester difficile de s'accrocher à le supporter.
    Perso il y a des phrases qu'il a dit, mon manager me la sort je ferais une faute professionnelle mais il mouchera rouge.
  • tomlev
    Rédacteur/Modérateur
    Envoyé par shkyo
    Mais tout le monde n'a pas forcément besoin de savoir comment est "rangée" la mémoire...
    Tout le monde, non, mais quand tu développes un système d'exploitation, ça peut servir
  • Thorna
    Membre éprouvé
    Lui aussi, il vieillit, le Linus. Plutôt que de "s'insurger" contre certains types de commentaires, il ferait bien de relire ses sources Linux dont 9 dixièmes des pages ne sont quasiment pas commentées du tout : un mauvais style de commentaire vaut infiniment mieux que pas de commentaire du tout !
  • LapinGarou
    Membre confirmé
    Si seulement les commentaires etaient le problème principal... Je dirais qu il n a que ca a faire. Pourquoi il ne se penche pas sur l ordonnanceur de taches (cf article je sais plus ou sur developpez) pour ameliorer les perfs sur multi cœurs ?

    Le probleme principal de Linux, cest Linus...
  • derderder
    Membre averti
    Envoyé par sazearte
    Je parlais de la mémoire, pas de l’ordonnancement des processus, mais la situation est encore pire
    Il n'a pas été maj depuis 20ans, la dernière modif fut faite pas Linus torvald se vantant que son code était le meilleur jusqu’à aujourd'hui ou on voit que (avec les architectures multicœur) c'est de la merde. Je croit que les prochaines versions du noyaux devrait implémenté un nouvelle algorithme (faisant gagner 20-30% de perf en plus).

    Quand je dis nouvelle algorythme faut le comprendre dans le sens de remplacement, car les algo d’ordonnancement n'ont pas évoluer depuis 30ans.
    FIFO
    Round-robin
    Completely Fair Scheduler
    Shortest job first
    Earliest deadline first scheduling

    Les prochains algo qu'on inventera je pense qu'en plus de prendre en compte la priorité des processus, prendrons en compte le cœur du processeur.
    Pour moi la prochaine évolution des processeurs, se sera des processeurs avec 10-20 cœur spécialisé dans des instructions précises (sa commence à se faire sur smartphone, ou on à des processeurs 10 core, certains spécialisé)
    Pas modifié depuis 20 ans ? Pas vraiment... http://www.computerworld.com/article...ot-faster.html

    Et oui les dernieres versions améliore encore plus l'ordonnancement.

    Et contrairement à ce que tu sembles penser, il y a sans cesse de nouveaux algos de sheduling: http://www.sciencedirect.com/science...68494610003078

    Pour les processeurs des smartphones, on n'a pas de processeur spécialisé ( hormis pour les gpu qui n'ont rien à voir ) mais beaucoup de processeurs de faible puissance et de faible consomation, plutôt qu'un gros coeur puissant mais inutile 99% du temps et drainant la batterie...
  • abriotde
    Membre chevronné
    Envoyé par RaphaelG
    je n'aime pas la balise //.
    Moi c'est l'inverse j'aime pas trop /* et */ car tu ne peux pas les imbriquer et en debug c'est casse pieds.

    Je m'explique : Dans mon code j'ai des commentaire, mais parfois pour du debug, j'ai besoin de virer une grosse partie du programme pour savoir, si je peux le mettre hors de cause... Et alors faire un /* et un */ marche très bien sauf s'il y a déjà du commentaire utilisant le */ car alors le */ arrête mon commentaire au lieu de le poursuivre jusqu'à la fin. Pour faire simple le problème c'est que l'on ne peux pas imbriquer les commentaires . Un solution est de faire du if(1==0){ ... } mais ça ne marche qu'a l'intérieur d'une fonction a l'extérieur il y a bien la solution du #ifndef DEBUG... mais c'est moins clair et en cas de debug il faut être sur de son coup parce que les cas ou on cherche longtemps sur un bug qui n'en est pas un mais juste un test mal fait...
  • 23JFK
    Membre expert
    Prochain débat tabulation versus espace.

    Cela étant, si l'on choisit de programmer dans l'un des langages de la famille C/C++/Java, c'est que l'on doit être un minimum sensible à l'apparence visuel du code source et surtout la symétrie que permet la syntaxe de ces langages.