Journal Comment devenir programmeur

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
22
24
mar.
2016

Bonjour à tous,

En début d'année, un dépôt est apparu sur Github contenant le contenu du livre « How to be a Programmer » de Robert L. Read. Ce livre s'intéresse surtout à la partie sociale du travail de programmeur, mais moins à la partie technique.

Cette version communautaire contient également une traduction en chinois simplifié, le tout en licence CC-BY-SA 4.0.

Ce texte contient des conseils moins communs, mais qui s'étendent bien plus qu'au seul métier de programmeur.

De plus, une version française est inexistante, alors pour ceux que la traduction intéresser, c'est une idée !

  • # Lancement d'un projet Framalang ?

    Posté par  . Évalué à 6.

    Fin 2012, le livre Libres conseils avait été traduit assez vite et plutôt efficacement. (http://framablog.org/2012/12/13/libres-conseils-0/) Si l'expérience recommence, j'en suis.

  • # Traduction faite

    Posté par  (site web personnel) . Évalué à 10.

    De plus, une version française est inexistante, alors pour ceux que la traduction intéresser, c'est une idée !

    comment être un programmeur : commencer par apprendre à lire (et écrire) l'anglais technique, afin de pouvoir communiquer avec la quasi-totalité des programmeurs et développements intéressants et non pas seulement avec des projets franco-français avec leur noms de fonction en français, et par la même occasion pouvoir lire "how to be a programmer" dans une version déjà existante (le niveau d'anglais à avoir ne semble pas bien élevé). Vous découvrirez par la même occasion qu'installer vous outils de développement en français est la dernière chose à faire si vous pensez chercher de l'aide sur Internet, la recherche avec le message d'erreur du compilo en anglais vous donnant des résultats bien plus pertinents que le même message traduit en français.

    PS : défenseurs du français comme langue trop bien pour communiquer avec le monde (ha ha), lâchez-vous :).

    • [^] # Re: Traduction faite

      Posté par  . Évalué à 10. Dernière modification le 24 mars 2016 à 18:40.

      C’est bien vrai. C’est quand même fou qu’il y ait encore des informaticiens qui ont l’audace de communiquer autrement qu’en anglais. Il est probablement urgent que tu écrives au éditeurs francophones pour leur inspirer la honte de publier des livres d’info en non-anglais. Ça va sûrement les intéresser, ton opinion ! Les Chinois aussi n’ont rien compris apparemment.

      Au fait, qu’est-ce que tu fais ici à t’abaisser à communiquer en non-anglais ?

      Pour ma part, j’ai remarqué que je retenais mieux ce que je lisais en français qu’en anglais, malgré toute la doc que j’ai pu bouffer en anglais. J’ai certainement un grave problème.

      • [^] # Re: Traduction faite

        Posté par  . Évalué à 6. Dernière modification le 24 mars 2016 à 23:20.

        Tiens justement je me demandais: les chinois, ils codent comme nous où ils utilisent un truc du même style que leur langue écrite (basé sur des images et des représentations)?
        ma question dois surement paraître stupide ^ ^

        Donation Bitcoin : 1N8QGrhJGWdZNQNSspm3rSGjtXaXv9Ngat

        • [^] # Re: Traduction faite

          Posté par  (site web personnel) . Évalué à 4.

          bin les chinois savent parler anglais, ont du mandarin en ascii (des trigrammes permettant d'avoir une discussion compréhensible par eux malgré l'ascii).

          Je traînais sur #hk en 1992 et bien souvent je me suis trouvé dans des discussions avec ce nouvel idiome traduisant les caractères chinois en trigrammes, alors que les 3/4 du temps les discussions avaient lieu en anglais. Suivre la rétrocession de Hong-Kong à la Chine a été très intéressant : tous ceux avec qui j'ai discuté y voyaient une capacité à apporter à la Chine un peu de liberté et ne le craignait que peu, étant par nature partie prenante de la Chine malgré son enfermement dans un système capitaliste par nature, les dictatures n'étant pas à l'abri de l'économie mondiale.

          • [^] # Re: Traduction faite

            Posté par  . Évalué à 1.

            et puis il y a les autres, ces fils et filles de paysans qui partent pour les villes.
            Et eux non ils ne parlent, ni n’écrivent, ni ne codent en anglais, tout y est en chinois sans sous-titres.
            Il y a pléthore de github chinois où on peut voir les deux cas dans toute leur splendeur. Des dev qui ont fait de grosses études et qui parlent parfaitement américain, et des devs qui ont fait ce qu'ils ont pu, et qui le font dans leur langue traditionnelle.

            • [^] # Re: Traduction faite

              Posté par  . Évalué à 3. Dernière modification le 25 mars 2016 à 22:02.

              tout y est en chinois sans sous-titres.

              C'est marrant que tu soulignes ça, parce qu'en Chine, tout est souvent sous titré par des charactères chinois puisque le Mandarin n'est pas parlé nativement par une bonne proportion de la population. :) Par contre, s'ils ne se comprennent pas toujours oralement, ils ont l'avantage d'avoir une "langue écrite" commune.

              • [^] # Re: Traduction faite

                Posté par  . Évalué à 1.

                oui c'est vrai ! ils ont tellement de dialectes ! Au passage, on notera que cela ne les a pas empêché de réussir à faire l'unité de l'empire, so far, bien que les régionalités culturelles y reste très forte.

                Ceci dit, je sous entendais des sous titre en globish, pour le reste du monde, car je ne parle ni n'écrit Mandarin / Cantonnais / etc / etc / etc

    • [^] # Re: Traduction faite

      Posté par  . Évalué à 7.

      Moi je dirais : apprends à programmer car ça n'a rien à voir avec l'anglais. Le code ça n'est pas une langue ce sont des langages de programmation fait pour décrire des algorithmes et c'est bien moins subtile qu'une langue faite pour communiquer. Ce que tu dis est aussi faux que de dire qu'il faut parler italien pour faire de la musique. « Piano » veux dire « doucement » et « forte » veux dire « fort », ça ne fait pas une langue. « If » veux dire « si » et « else » veux dire sinon. Il faut moins d'une seconde pour le comprendre. Une langue c'est aussi et surtout de la culture. La pauvreté du langage employé dans les commentaires de code ou les tickets en témoigne, c'est la honte et c'est souvent bien moins efficace que d'essayer de se comprendre chacun dans sa langue. Le problème c'est que les anglophones refusent obstinément d'apprendre d'autres langues et pensent qu'ils vont pouvoir nous imposer la leur. C'est faux et le nombre de pages en anglais en baisse constante en témoigne. Depuis l'arrivé de la Chine, du Brésil… l'anglais se prend une belle claque et ça fait plaisir. De plus les statistiques sont faussées par tous ces développeurs qui se la pète « Aille speek inglishe », je me refuse à appeler anglophone ces baragouinages qui ressemblent plus à du code qu'à de la communication. Je ne suis pas un ordinateur donc parles moi mieux. J'ai un traducteur pour faire ce genre d'âneries. « Anglais technique » quelle bonne blague, je connaissais pas cette langue.

      Peut être parles tu très bien l'anglais et c'est sûr que c'est plus facile de lire une doc dans ces conditions. Malheureusement il y a autant de mauvaises docs et de mauvais conseils sur les sites anglophones que francophones. Pour l'instant il y en a juste moins mais ça ne va pas durer. Surtout si comme on le voit certaines personnes pensent comme moi que c'est quand même plus facile de lire une doc dans sa propre langue. En plus quand on traduit on le fait pour les autres, c'est altruiste, ça me va bien.

      Donc ça me parait un très mauvais conseil que tu donnes là. Si tu es passé par le système scolaire français, dans lequel on t'as forcé à apprendre l'anglais alors que ça n'est pas obligatoire, ton niveau est largement suffisant pour coder.

      Le français n'est pas trop bien pour communiquer avec le monde. Ce qui est très bien (pourquoi trop c'est bizarre comme expression) c'est de faire l'effort de comprendre l'autre et que l'autre fasse l'effort de te comprendre. Quand tu auras appris quelques langues tu découvriras qu'elles se ressembles toutes comme les langages de programmation. Au bout d'un moment tu pourras facilement parler avec n'importe qui.

      Par contre ce que je trouve très juste c'est que si le langage que tu choisis utilise des mots clés et noms de fonctions en anglais, pour un souci de cohérence, c'est bien mieux d'utiliser toi aussi des noms de variables, de fonctions… en anglais bien sûr. C'est même une règle d'or pour moi à ne jamais enfreindre. Le souci principale c'est la cohérence et de respecter le travail commencé par d'autres. L'autre gros problème c'est la non prise en charge de l'UTF8 dans bien des langages de programmation. Mais tu peux déjà faire des programmes dans la langue que tu veux par exemple en LISP. Tu peux renommer toutes les fonctions du langage et appeler les tiennes comme tu veux. On peut même imaginer à l'avenir que ton éditeur de texte t'affiche le code dans ta langue avec quelques programmes prévus pour ça. Tu peux créer un dialecte…

      Mon avis c'est que le mieux serait d'utiliser des symboles plutôt que des mots dans les langages de programmation. Comme on le fait en clojure par exemple avec « λ » qui veux dire « function » si tu est anglophone et « fonction » si tu es francophone.

      • [^] # Re: Traduction faite

        Posté par  (site web personnel) . Évalué à 2.

        oui Mathesis_universalis Dieu parle en symboles mathématiques, si je caricature (à peine), Einstein a indique que Dieu ne joue pas aux dés (c'est mitigé, encore actuellement, même si l'église ne s'est pas prononcé, j'ai côtoyé des jésuites qui n'étaient pas au courant alors qu'ils sont censés être une des élites)

        Pour Voyager1, le message le plus compliqué à comprendre est sans doute la représentation de l'homme et de la femme :-) Ce serait bien qu'un ou deux extra-terrestres nous fasse un retour un de ces jours (et pas dans 10000 ans, vu qu'ils viennent régulièrement d'après TMC et RMC découverte)

        • [^] # Re: Traduction faite

          Posté par  . Évalué à 2. Dernière modification le 25 mars 2016 à 01:11.

          Ah la mathésis universalis ou la caractéristique universelle de Leibniz ! Elle en a fait couler de l'encre :

          Deux mots seulement sur l’art de combi­ner les signes ; ce que je vais en dire, sans être d’une bien grande importance, n’est pas précisément à dédaigner. Les termes dont je me sers pour expli­quer ces principes présentent, par leur extrême sim­plicité, une analogie frappante avec les signes. Leibniz vantait fort une caractéristique dont il était l’inventeur ; tous les savants ont regretté qu’elle fût ensevelie avec ce grand homme. Ce regret m’est une occasion de dire mon sentiment sur l’art combinatoire. J’avoue que dans ces paroles du grand philosophe, je crois apercevoir le testament du père de famille dont parle Esope : étant sur le point d’expirer, il dé­clara en secret à ses enfants qu’il avait un trésor caché quelque part dans son champ, mais, surpris par la mort, il ne put leur indiquer l’endroit où il l’avait en­foui ; ce fut pour les enfants l’occasion de fouiller leur champ avec la plus grande ardeur, de le creuser et de le retourner en tous sens ; tant et si bien que, quoi que trompés dans leurs espérances, ils finirent par se trouver plus riches de la plus grande fécondité de leur champ. Nul doute que ce ne soit là le seul fruit à retirer de la recherche de ce mécanisme inventé par Leibniz, si l’on doit s’en occuper encore.

          Kant, Explication nouvelle des premiers principes de la connaissance métaphysique

          Elle fût effectivement remise au goût du jour par Frege et son idéographie, suivi par Russell. Néanmoins, je considère que les résultats d'incomplétude de Gödel (ou son équivalent informatique : le problème de l'arrêt) ont mis un terme définitif à la quête d'une telle langue. Comme le disait Wittgenstein : « ce que le langage signifie, cela ne se dit pas, cela se montre ». Mais, les enfants et héritiers qui ont creusé et retourné dans tous les sens ce sont effectivement retrouvés plus riches de la fécondité de leur champ : ce n'est point ici que l'on soutiendra le contraire. ;-)

          Et puis ces recherches ont grandement inspiré le \lambda-calcul, et donc tous les langages avec paradigme fonctionnel : Lisp, Scheme, Clojure, Haskell, OCaml… et quoi que de mieux que ce paradigme pour incarner la théorie kantienne du schématisme (cf. Critique de la Raison Pure) et comprendre ce qu'un kantien entend derrière le concept de schème. \o/

          Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

          • [^] # Re: Traduction faite

            Posté par  (site web personnel) . Évalué à 3.

            Ah tiens, Gödel justement c'est plutôt pour moi un exemple qu'il est possible de trouver un langage dans les maths pour exprimer des démonstrations, un peu comme Turing aussi (plus proche de l'informatique).

            Il y a notamment GEB les brins d'une guirlande éternelle qui apporte une vision unifiée des maths, de la musique, de la biologie, de la philosophie, de l'histoire des sciences, de la littérature (magicien d'Oz…) et de la science fiction. Bon c'est 800 pages, mais je l'ai lu 3 fois : en français, en anglais puis de nouveau en français (je ne lis pas l'allemand :/)

            Concernant Wittgenstein je ne le connaissais pas, je verrai quand j'aurai lu quelques uns de ses écrits :-) vu ce que tu en dis, c'est sans doute un auteur qui va me plaire :D
            Pour Kant : attention, ton addiction risque de te perdre dans des paradis perdus, c'est particulièrement abstrait et des cas particuliers, vrais mais difficilement généralisables àmha.

      • [^] # Re: Traduction faite

        Posté par  (Mastodon) . Évalué à 4.

        Je pense qu'il parlait de l'intérêt de la communication entre personnes, et pas du langage lui-même.

        afin de pouvoir communiquer avec la quasi-totalité des programmeurs et développements intéressants

        Et là je le rejoins complètement.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Traduction faite

          Posté par  . Évalué à 4.

          Je pense qu'il parlait de l'intérêt de la communication entre personnes[…]

          De la part de zenitram, ça ne peut qu'être une boutade. La communication ce n'est pas qu'une histoire de langage. 2 interlocuteurs peuvent très bien parler la même langue, si c'est pour se sortir des vacheries sans chercher le compromis, il n'y a pas de communication.

          Et ce ne sont pas quelques projets assez énormes pour être hyper attractifs malgré leur dictateur bienveillant qui ne sait pas communiquer qui vont me contredire.

          Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: Traduction faite

        Posté par  . Évalué à 3.

        Par contre ce que je trouve très juste c'est que si le langage que tu choisis utilise des mots clés et noms de fonctions en anglais, pour un souci de cohérence, c'est bien mieux d'utiliser toi aussi des noms de variables, de fonctions… en anglais bien sûr.

        Et là je me retrouve avec des tonnes de code en franglais même pas compréhensible, qu'on soit Anglais, Français, Chinois, ou autre.

        Conseil au codeur : merci de ne pas """traduire""" le champ lexical du client dans le code en "anglais", encore moins quand on ne comprend pas le champ lexical du client en premier lieu.

        Finalement, l'utilisation de la langue française aurait rendu le code vraiment plus lisible. D'autant que dans le cas qui me préoccupe, le client est français, son champ lexical pour son domaine est en français, les mainteneurs sont français, etc. Déjà qu'il faut traduire le métier et les termes du client, pourquoi s'emmerder comme des cons avec de l'anglais qu'on ne maîtrise pas ?!

        Faut traduire deux fois chaque ligne de code, maintenant ! C'est complètement idiot.

        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

        • [^] # Re: Traduction faite

          Posté par  (site web personnel) . Évalué à -5.

          Finalement, l'utilisation de la langue française aurait rendu le code vraiment plus lisible.

          Pour les francophones. Soit pas foule dans le monde.

          D'autant que dans le cas qui me préoccupe, le client est français, son champ lexical pour son domaine est en français, les mainteneurs sont français, etc.

          Il faut alors espérer que le produit restera pourri afin qu'il reste restreint aux seuls français ayant eu l'idée (géniale, car seuls les français ont l'idée) de gérer ce logiciel.

          Sinon ben après c'est un long, très long nettoyage à faire…

          Perso, je préfère imaginer que mon code a une valeur mondiale plutôt que locale, enfin chacun arrête ses espoirs où il veut, certes, on est tous libres de choisir de se fermer des portes.

          PS: "+28/-20" pour le commentaire initial, impressionnant comment on peut imaginer un commentaire inutile et utile en même temps. A moins que ce soit juste un "je suis piqué au vif, je clique sur inutile car ça ne va pas dans mon sens" :). J'avoue être surpris, je m'attendais à l'inverse vu que ça fait plus souvent réagir les gens qui veulent "sauver" la langue française que les gens qui ont fait le deuil et vivent avec ce qui existe.

        • [^] # Re: Traduction faite

          Posté par  . Évalué à 3. Dernière modification le 26 mars 2016 à 12:31.

          Déjà qu'il faut traduire le métier et les termes du client, pourquoi s'emmerder comme des cons avec de l'anglais qu'on ne maîtrise pas ?!

          Parce que tout le code purement technique (non métier) a d’énorme chance d’être en anglais (serverConnection, fileHandler, jsonParser,…), et que se retrouver avec un mélange de termes anglais et français, c’est assez atroce.

          À ma connaissance il n’y a aucun métier spécifique à la francophonie, donc normalement en ouvrant un dictionnaire tu devrais pouvoir trouver des traductions propres pour ton vocabulaire métier. Et en faire un glossaire. Ce qui au final clarifiera probablement les choses relativement à une situation « vu qu’on est fait en français pas besoin d’un glossaire » pour se retrouver avec 5 développeurs qui ont compris et utilisent les termes métiers de manière subtilement différente (mais en français donc c’est plus clair, n’est-ce-pas ?)

          • [^] # Re: Traduction faite

            Posté par  . Évalué à 4.

            Je suis tout à fait d'accord. Mais à condition de maîtriser un minimum l'anglais, de se mettre d'accord sur les termes à employer pour traduire le métier en anglais, etc. …

            Quand on ne maîtrise pas du tout ni la "langue" du client ni la langue anglaise, et qu'on a décidé de ne pas avoir de méthode de travail correcte (pas de convention, des noms réutilisés pour signifier des choses différentes, des conventions de nommage différentes, etc…) on ne fait pas de "franglais" non-maintenable, c'est tout.

            "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

        • [^] # Re: Traduction faite

          Posté par  . Évalué à -2. Dernière modification le 26 mars 2016 à 13:01.

          « Le souci principale c'est la cohérence et de respecter le travail commencé par d'autres. »

          Sors ton fork du langage en français. Là ça serait cohérent. Si tu fais le boulot jusqu'au bout j'ai rien contre mais là c'est à moitié. Et puis c'est quand même pas trop dure de regarder dans un dico pour traduire un mot. Il faut pas abuser, ton code c'est pas de la littérature quand même. Tu as aussi les commentaires pour pour indiquer en français ce que tu as voulu dire comme ça tout le monde est content. Même les anglophones mettent des commentaires, ça rend le code moins obscure, n'est-ce pas ? À moins que tu fasses de la Programmation lettrée. Et encore dans ce cas si le langage des algos est anglais et le blabla en français (ou autre moi j'ai pas parlé seulement du français) je vois pas le souci. Plusieurs langues c'est de la richesse pas des emmerdes. Faut juste « respecter le travail commencé par d'autres ». Et si tu refuses obstinément d'apprendre une autre langue tu fais comme les autres.

          Ce qu'on appelle à tort des mots dans les langages de programmation sont en fait des symboles. Si tu as un problème avec le formalisme tu auras forcément des problèmes pour coder.

          • [^] # Re: Traduction faite

            Posté par  . Évalué à 0. Dernière modification le 26 mars 2016 à 13:08.

            Sors ton fork du langage en français.

            Ce n'est pas langue française (ni anglaise) qui me gêne. Au contraire.

            Ce qui me gêne, c'est un code baragouiné en "franglais" illisible parce que on a pas été foutu de sortir un glossaire et de se mettre d'accord sur :
            1) la signification de tel ou tel mot utilisé par le client (résultat : réutilisation pour dire plusieurs notions différentes)
            2) sa traduction en anglais (résultat : plusieurs traductions différentes se retrouvent dans le code)
            3) une exigence minimum de maîtrise de l'anglais ET du français
            4) des conventions de nommage, un glossaire commun.

            Bref, les bases quoi.

            un commentaire

            Un commentaire, c'est une défaite. Ton code n'est pas assez clair, donc tu as mis un commentaire.
            Qu'il va falloir bien écrire, synchroniser avec le code, etc. …

            Faites gaffe avec les commentaires. ;-)

            "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

            • [^] # Re: Traduction faite

              Posté par  . Évalué à 1.

              Et comment tu fais pour les accents ? En français je sais pas comment on fait pour être lisible sans les accents, la cédille et les apostrophes.

              Un commentaire, c'est une défaite. Ton code n'est pas assez clair…

              Je suis complètement d'accord avec ça sauf dans le cas où c'est pas possible d'être clair et il y a des cas, tu nous en donnes un ici. Ensuite ça va quand même sacrément plus vite de lire une doc. J'en veux pour preuve que les codes les plus utilisés le sont souvent parce que ce sont les mieux documentés et c'est fait dans le code (sauf si tu veux perdre du temps). C'est pas toujours les meilleurs je suis d'accord. En même temps quand tu es rapide et bien organisé tu as le temps d'écrire de la doc. Quand tu es désorganisé ou que tu fais le travail de 4 personnes c'est pas toujours évident. Donc souvent les commentaires et la doc c'est un gage de qualité. Il faut simplement penser que la choses la plus importante c'est le code et qu'on met pas la charrue avant les bœufs. Pour que ça marche bien il faut quand même la charrue et les bœufs.

            • [^] # Re: Traduction faite

              Posté par  . Évalué à 9.

              Un commentaire, c'est une défaite. Ton code n'est pas assez clair, donc tu as mis un commentaire.

              Ce genre de mentalité rend le débbugage fatiguant. Un bout de code, pour savoir ce qu'il fait, c'est simple je lis le code en question.
              Par contre quand je veux savoir ce qu'il est censé faire, sans commentaires ça devient tout de suite plus long.

              • [^] # Re: Traduction faite

                Posté par  . Évalué à -2. Dernière modification le 26 mars 2016 à 14:10.

                Par contre quand je veux savoir ce qu'il est censé faire, sans commentaires ça devient tout de suite plus long.

                Et le nom de la fonction, alors ?

                Window.Close(), t'as besoin d'un commentaire pour savoir ce que c'est censé faire ?

                "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

                • [^] # Re: Traduction faite

                  Posté par  . Évalué à 8.

                  Dans le nom de la fonction, t'arrives aussi a indiquer si les parametres peuvent etre null, les valeurs causant une exception, des particularites d'implementations (approximations faites pour des raisons de performances ou que sais je encore)?

                  Linuxfr, le portail francais du logiciel libre et du neo nazisme.

                  • [^] # Re: Traduction faite

                    Posté par  . Évalué à 2. Dernière modification le 26 mars 2016 à 19:04.

                    Ce que le code est censé faire, ce n'est pas tout ce que tu décris.

                    Le nom de la fonction décrit succinctement ce que le code est censé faire (ou pour une "query" à quel question il est censé répondre).

                    Après, évidemment que la documentation tu ne va pas l'écrire là dedans.

                    "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

                    • [^] # Re: Traduction faite

                      Posté par  . Évalué à 2.

                      Super, je vais pouvoir renommer mes noms de politiques d'ordonnancement de threads en

                      typedef enum {
                        ROUND_ROBIN, 
                        ROUND_ROBIN_RANDOM_STEAL, 
                        ROUND_ROBIN_RNDROB_STEAL,
                        PUSH_THREADS_UNTIL_QUEUE_IS_FULL_THEN_GO_TO_NEXT_QUEUE,
                        PUSH_THREADS_UNTIL_QUEUE_IS_FULL_THEN_GO_TO_NEXT_QUEUE_RANDOM_STEAL,
                        PUSH_THREADS_UNTIL_QUEUE_IS_FULL_THEN_GO_TO_NEXT_QUEUE_RNDROB_STEAL,
                      } Policies;

                      … Ou alors, j'écris un truc du genre

                      typedef enum {
                         RNDROB,               // Round-robin policy: push thread in scheduler, then move on to next queue
                         RNDROB_RDMSTEAL,      // RNDROB + random stealing of tasks if idle
                         RNDROB_RNDROBSTEAL,   // RNDROB + steal in a specific order
                         PUSHFULL,             // Fill a thread queue until it's full, then move on to next thread queue
                         PUSHFULL_RDMSTEAL,    // PUSHFULL + random stealing
                         PUSHFULL_RNDROBSTEAL, // PUSHFULL + ordered stealing
                      } Policies;
                      • [^] # Re: Traduction faite

                        Posté par  . Évalué à 1.

                        Du moment que tu ne les appels pas :
                        Policy_1
                        Policy_2
                        Policy_3

                        je pense que ça ira. ;-)

                        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

                        • [^] # Re: Traduction faite

                          Posté par  . Évalué à 4.

                          Mais tu vois ce que je veux dire ? Pour moi, les commentaires sur les structures de données, ou bien qui précèdent la définition d'une fonction sont une pratique saine. Idem pour un point de code qui risque d'être idiomatique plus loin dans le code, ou pour quelqu'un qui connaît le domaine que le code modèle. Par exemple, il m'est déjà arrivé d'écrire un truc du genre (en Perl) :

                          open my $fh, '<', $filename or die "Couldn't open $filename: $!";
                          # this is idiomatic. More info: <url>
                          my $raw;
                          {
                              local $/;
                              $raw = <$fh>;
                          }
                          
                          # do something with full-text-as-string in $raw

                          Le "slurp" est un idiome qu'on retrouve dans plein de bouquins / articles qui parlent de Perl. Du coup, plein de gens ont même créé une fonction pour « généraliser » le procédé, mais c'est tellement rapide à écrire que la plupart du temps personne ne s'emmerde à faire ça. Comme je savais que des stagiaires auraient peut-être à relire cette partie du code, j'ai rajouté une URL qui explique ce que ça fait, mais c'est vraiment uniquement pour eux que j'ai fait ça. Et je ne le fais que dans le fichier qui sera le plus vraisemblablement ouvert en premier. Dans les autres je ne m'embête pas.

                          • [^] # Re: Traduction faite

                            Posté par  . Évalué à 3. Dernière modification le 30 mars 2016 à 20:17.

                            Pour moi, les commentaires sur les structures de données, ou bien qui précèdent la définition d'une fonction sont une pratique saine.

                            Tant que le commentaire est justifié, ok.

                            Et je n'ai pas dit que c'était à bannir dans tous les cas (c'est fou le nombre de gens qui lisent trop vite sur linuxfr…)

                            Mais les commentaires c'est pas gratuit. Faut les maintenir. Bien les écrire, etc. …

                            Si on peut avoir un code plus clair qui se passe de commentaire (pas toujours possible évidemment, mais c'est un but à avoir), c'est mieux.

                            Et ce qui est beaucoup trop commun, c'est le mauvais commentaire.

                            Celui qui dit le contraire du code (car il n'a pas été mis à jour)
                            Celui qui ne veut rien dire.
                            Celui dans lequel son auteur passe sa colère plutôt que de documenter le code
                            Celui qui répète le code
                            Celui qui est du code commenté alors qu'on a des gestionnaires de version pour retrouver l'ancien code
                            Celui qui n'est que confettis :

                            #############################
                            # SUPER PROGRAM !!          #
                            #############################

                            Celui qui met uniquement le nom de l'auteur (on s'en fout un peu)
                            Celui qui met un copyright "machin" alors que c'est pas justifié (pour faire style, quoi)
                            Celui qui est un TODO oublié depuis longtemps et obsolète
                            etc …

                            Je sais pas, je dois être le seul a être tombé sur du code pourri agrémenté de commentaires pourris pour relever un peu le goût ?

                            "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

                            • [^] # Re: Traduction faite

                              Posté par  (site web personnel) . Évalué à 3.

                              Je sais pas, je dois être le seul a être tombé sur du code pourri agrémenté de commentaires pourris pour relever un peu le goût ?

                              non non, mais àmha peu de monde regarde ce qui est livré dans les logiciels propriétaires et qui contient plein de libre…
                              en vrai, je pense que peu de monde pratique réellement le devops ou ne serait-ce que ce qui a précédé (XP, SCRUM, du vrai agile pas celui vu en entreprise quoi où les stand up meetings durent parfois 1 heure… c'te lose… vécu hein entre 2 cafés et une clope du matin, heureusement que je ne suis que l'architecte sur le projet)

                            • [^] # Re: Traduction faite

                              Posté par  . Évalué à 1.

                              Marrant, on est passé de "un commentaire c'est une défaite, ton code n'est pas assez clair" à "se passer de commentaire c'est pas toujours possible, et les commentaires, faut pas les écrire à la truelle".

                              Linuxfr, le portail francais du logiciel libre et du neo nazisme.

                              • [^] # Re: Traduction faite

                                Posté par  . Évalué à 2.

                                Ouais, deux manières de dire la même chose : que c'est pas gratuit.

                                "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

                • [^] # Re: Traduction faite

                  Posté par  . Évalué à 1.

                  C’est sûr que si tu prends un exemple trivial…

                  • [^] # Re: Traduction faite

                    Posté par  . Évalué à 1.

                    Bah moi au moins j'en avais un, d'exemple… :p

                    "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

              • [^] # Re: Traduction faite

                Posté par  . Évalué à 1.

                Merci. Je voulais aller un peu dans son sens mais j'avais oublié ce problème. Gros problème.

        • [^] # Re: Traduction faite

          Posté par  (Mastodon) . Évalué à 2.

          Finalement, l'utilisation de la langue française aurait rendu le code vraiment plus lisible.

          Déja tenté: https://fr.wikipedia.org/wiki/LSE_%28langage_de_programmation%29

        • [^] # Re: Traduction faite

          Posté par  . Évalué à 3.

          Je trouve qu'utiliser l'anglais pour les noms des variables, fonctions, etc., dans le code, c'est une pratique saine (mais comme tu le fais remarquer, du « vrai » anglais, et donc il faut éviter les faux amis, etc.). Par contre, des commentaires dans la langue de l'équipe qui programme, ça ne me choque pas (et c'est même mieux que de tenter de parler anglais si on n'a pas un niveau assez bon).

          • [^] # Re: Traduction faite

            Posté par  . Évalué à 5.

            Par contre, des commentaires dans la langue de l'équipe qui programme, ça ne me choque pas

            Ben, ça dépend de la portée du projet, dans openOffice/libreOffice il y a eu une campagne de traduction des commentaire de l’allemand -> l’anglais.

            • [^] # Re: Traduction faite

              Posté par  . Évalué à 3.

              Oui, parce que l'équipe voulait pouvoir élargir son nombre de contributeurs. Du coup, le seul moyen de faire ainsi est de choisir une langue qui est comprise par le plus grand nombre de développeurs potentiels.

              Cependant, j'ai des anecdotes, comme par exemple une connaissance qui bossait (en Europe) pour une boite japonaise. Il préférait quand les dév japonais commentaient en Japonais, vu que leurs tentatives d'écrire en Anglais rendaient souvent le code incompréhensible.

            • [^] # Re: Traduction faite

              Posté par  (site web personnel) . Évalué à -1.

              Pour l'exemple, tu as 5 jours de retard ;-)
              https://linuxfr.org/users/jiehong/journaux/comment-devenir-programmeur#comment-1649422

              (comme quoi la forme, ça compte, les notes sont différentes malgré le même exemple donné :), tout est question de forme)

              • [^] # Re: Traduction faite

                Posté par  . Évalué à 2.

                Oups, pris en flagrant délit de survol d’un commentaire de Zenitram… je te prie de m’en excuser ;-)

              • [^] # Re: Traduction faite

                Posté par  . Évalué à 4.

                Parce que (comme souvent :-P) tu apportes une info intéressante et factuelle (LO 4.4 qui vire les commentaires en Allemand) et juste après tu fais une remarque pleine de condescendance en disant que tu toi tu as la vision d'être le roi du monde du code alors que les autres se contentent d'être maires ou chefs de collectivités locales (comment ça, j'exagère ?)1.

                Ceci étant dit, je reste sur mon avis précédent : le contexte joue énormément. Le logiciel (libre) utilisé pour implémenter le serveur des impôts, etc., aura certes des parties qui pourraient, peut-être, à terme, être réutilisées dans un autre logiciel pour implémenter un autre type de logiciel qui soit servira à la déclaration d'impôts d'autres gens, ou bien à implémenter un autre type de logiciel côté serveur qui s'interfacerait avec les serveurs de l'État français. Mais en règle générale, le contexte est franco-français, payé par et pour les Français, et je ne vois pas vraiment en quoi commenter en Anglais servira à qui que ce soit au final (au contraire, si jamais des formules, hypothèses, etc., sont exprimées dans les commentaires, on pourra ainsi plus facilement les copier-coller à un non-informaticien spécialiste des impôts et qui sans doute a un niveau limite en Anglais2).

                A contrario, le soft que tu développes a clairement un contexte transnational : il est logique que tu commentes en Anglais, car ça encourage les contributions/corrections de bugs, tout en permettant de distribuer le tout à des clients non-francophones ou germanophones. Maintenant, je me dis que si une équipe chinoise développait un soft pour le marché chinois, elle n'en aurait absolument rien à faire (au moins au début) de développer en Anglais : (1) Le niveau en anglais de la plupart des chinois n'est franchement pas top, et (2) leur marché est déjà potentiellement composé de 1,3 milliard de client (et plus raisonnablement/de façon plus réaliste, sans doute ~300—500 millions). C'est à peu près ce qui se passe avec les clones de Facebook & co en Chine.


                1. Bon en fait je voulais répondre à cette partie (sur LO) et j'ai juste oublié  

                2. Je sous-estime p'tet les gens des impôts pour le coup. 

    • [^] # Re: Traduction faite

      Posté par  . Évalué à 2.

      Et pourquoi pas programmer en espéranto, ou en lojban ?

  • # IEML

    Posté par  . Évalué à 1.

    Je signal aussi (peut être pas complètement dans le sujet) mais que si les recherches de Pierre Lévy sur le langage et le dictionnaire IEML aboutissent (je ne sais pas où il en est) on aurait à terme plus besoin (mais toujours envie) d'apprendre d'autres langues pour en savourer le contenu.
    C'est un langage de programmation capable d'exprimer les concepts des langages humains. Si on y ajoute des rédacteurs et des lecteurs de toutes les langues (voir le fonctionnement de pandoc par exemple) on pourrait avoir le traducteur parfait.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.