In article <4c8745cd$0$10193$,
Wykaaa wrote:Un code limpide avec des noms de variables bien choisies, des
parenthèses dans les expressions, etc. n'a pas besoin de commentaires.
Les commentaires sont souvent là pour exprimer de façon non formelle ce
qu'un mauvais programmeur n'a pas pu exprimer de façon clair en
formalisant dans sa programmation.
Il ne faut pas, non plus, négliger la lourdeur de la tâche de
maintenance des commentaires quand le code change.
ce que tu dis ne s'applique que si tu as des specs et une analyse independante
dont tu es sur qu'elles vont rester avec le code.
Par exemple, si tu fais du calcul numerique, tu fais comment pour ecrire
toute la preuve de ton calcul avec les marges d'erreurs directement dans
ton code ? tu mets des tonnes d'assert ? ca ne va pas suffire a expliquer
pourquoi telle valeur est < 1e-6
classique, tu vas le nommer algo_from_numerical_recipes_1985edition_p253 ?
Il y a quand meme un point ou ca devient absurde et ou ecrire de vrais
commentaires va faire du sens...
In article <4c8745cd$0$10193$ba4acef3@reader.news.orange.fr>,
Wykaaa <wykaaa@yahoo.fr> wrote:
Un code limpide avec des noms de variables bien choisies, des
parenthèses dans les expressions, etc. n'a pas besoin de commentaires.
Les commentaires sont souvent là pour exprimer de façon non formelle ce
qu'un mauvais programmeur n'a pas pu exprimer de façon clair en
formalisant dans sa programmation.
Il ne faut pas, non plus, négliger la lourdeur de la tâche de
maintenance des commentaires quand le code change.
ce que tu dis ne s'applique que si tu as des specs et une analyse independante
dont tu es sur qu'elles vont rester avec le code.
Par exemple, si tu fais du calcul numerique, tu fais comment pour ecrire
toute la preuve de ton calcul avec les marges d'erreurs directement dans
ton code ? tu mets des tonnes d'assert ? ca ne va pas suffire a expliquer
pourquoi telle valeur est < 1e-6
classique, tu vas le nommer algo_from_numerical_recipes_1985edition_p253 ?
Il y a quand meme un point ou ca devient absurde et ou ecrire de vrais
commentaires va faire du sens...
In article <4c8745cd$0$10193$,
Wykaaa wrote:Un code limpide avec des noms de variables bien choisies, des
parenthèses dans les expressions, etc. n'a pas besoin de commentaires.
Les commentaires sont souvent là pour exprimer de façon non formelle ce
qu'un mauvais programmeur n'a pas pu exprimer de façon clair en
formalisant dans sa programmation.
Il ne faut pas, non plus, négliger la lourdeur de la tâche de
maintenance des commentaires quand le code change.
ce que tu dis ne s'applique que si tu as des specs et une analyse independante
dont tu es sur qu'elles vont rester avec le code.
Par exemple, si tu fais du calcul numerique, tu fais comment pour ecrire
toute la preuve de ton calcul avec les marges d'erreurs directement dans
ton code ? tu mets des tonnes d'assert ? ca ne va pas suffire a expliquer
pourquoi telle valeur est < 1e-6
classique, tu vas le nommer algo_from_numerical_recipes_1985edition_p253 ?
Il y a quand meme un point ou ca devient absurde et ou ecrire de vrais
commentaires va faire du sens...
Marc Espie a écrit :
Si cette valeur est un standard pour l'algorithme ou pour le domaine
industriel concerné, je suis d'accord que ça ne fait pas de mal
d'indiquer par un commentaire la référence à ce standard.
Grady Booch disait que le code doit se lire comme de l'anglais (ou du
français pour nous).
des paramètres formels lors de l'appel, ça donne des choses comme ceci :
empiler(l_element=>mon_element, sur=>ma_pile)
le paramètre de type Element s'appelle l_element et le paramètre de type
Pile s'appelle... sur !
Evidemment j'ai donné un exemple trivial pour illustrer mais rien que
ça, je te garantis que ça réduit beaucoup les commentaires.
Marc Espie a écrit :
Si cette valeur est un standard pour l'algorithme ou pour le domaine
industriel concerné, je suis d'accord que ça ne fait pas de mal
d'indiquer par un commentaire la référence à ce standard.
Grady Booch disait que le code doit se lire comme de l'anglais (ou du
français pour nous).
des paramètres formels lors de l'appel, ça donne des choses comme ceci :
empiler(l_element=>mon_element, sur=>ma_pile)
le paramètre de type Element s'appelle l_element et le paramètre de type
Pile s'appelle... sur !
Evidemment j'ai donné un exemple trivial pour illustrer mais rien que
ça, je te garantis que ça réduit beaucoup les commentaires.
Marc Espie a écrit :
Si cette valeur est un standard pour l'algorithme ou pour le domaine
industriel concerné, je suis d'accord que ça ne fait pas de mal
d'indiquer par un commentaire la référence à ce standard.
Grady Booch disait que le code doit se lire comme de l'anglais (ou du
français pour nous).
des paramètres formels lors de l'appel, ça donne des choses comme ceci :
empiler(l_element=>mon_element, sur=>ma_pile)
le paramètre de type Element s'appelle l_element et le paramètre de type
Pile s'appelle... sur !
Evidemment j'ai donné un exemple trivial pour illustrer mais rien que
ça, je te garantis que ça réduit beaucoup les commentaires.
Grady Booch disait que le code doit se lire comme de l'anglais (ou du
français pour nous). En Ada, par exemple, comme on peut nommer les nom
des paramètres formels lors de l'appel, ça donne des choses comme ceci :
empiler(l_element=>mon_element, sur=>ma_pile)
le paramètre de type Element s'appelle l_element et le paramètre de type
Pile s'appelle... sur !
Evidemment j'ai donné un exemple trivial pour illustrer mais rien que
ça, je te garantis que ça réduit beaucoup les commentaires.
Grady Booch disait que le code doit se lire comme de l'anglais (ou du
français pour nous). En Ada, par exemple, comme on peut nommer les nom
des paramètres formels lors de l'appel, ça donne des choses comme ceci :
empiler(l_element=>mon_element, sur=>ma_pile)
le paramètre de type Element s'appelle l_element et le paramètre de type
Pile s'appelle... sur !
Evidemment j'ai donné un exemple trivial pour illustrer mais rien que
ça, je te garantis que ça réduit beaucoup les commentaires.
Grady Booch disait que le code doit se lire comme de l'anglais (ou du
français pour nous). En Ada, par exemple, comme on peut nommer les nom
des paramètres formels lors de l'appel, ça donne des choses comme ceci :
empiler(l_element=>mon_element, sur=>ma_pile)
le paramètre de type Element s'appelle l_element et le paramètre de type
Pile s'appelle... sur !
Evidemment j'ai donné un exemple trivial pour illustrer mais rien que
ça, je te garantis que ça réduit beaucoup les commentaires.
En general, ca leur fait aussi un choc la premiere fois que je leur montre
du "vrai" code. En particulier, ils sont toujours surpris du fait qu'il y
a tres peu de commentaires, [...]
En general, ca leur fait aussi un choc la premiere fois que je leur montre
du "vrai" code. En particulier, ils sont toujours surpris du fait qu'il y
a tres peu de commentaires, [...]
En general, ca leur fait aussi un choc la premiere fois que je leur montre
du "vrai" code. En particulier, ils sont toujours surpris du fait qu'il y
a tres peu de commentaires, [...]
Alexandre Bacquart écrivit :a - b - c
L'expression en tant que telle n'a rien à voir avec l'associativité, que
ce soit en maths ou en C. La seule règle à suivre est que ça s'applique
de gauche à droite.
Mmmm. Et le fait que lire de gauche à droite puisse donner le même
résultat que lire de droite à gauche, cela s'appelle comment, en maths ?
Autrement dit, parce que - n'est évidemment pas une opération
associative, tu as besoin d'une règle _conventionnelle_, en l'occurrence
qu'il faille lire de gauche à droite.moindre petite subtilité, ni même une paire de parenthèses qui, soit dit
en passant, rajoutent une autre règle à suivre.
La position de JKB, c'est justement le rejet de la règle de la lecture
de gauche à droite, et son corrolaire, l'utilisation d'une _autre_
règle, celle des parenthèses : mais il ne s'agit pas d'une règle
supplémentaire, elle remplace.
ce qu'on appelle du code auto-documenté.
Pour moi, le « code auto-documenté » à base de constructions implicites
est une lubie qui cache beaucoup de paresse de la part des programmeurs
et induit beaucoup de perte de temps pour des questions existentielles
au moment de la phase débogage ; là où c'est drôle, c'est quand il se
trouve que la même personne est à la fois le programmeur auto-
documentant et celui qui se pose des questions au débogage ;-)
Par contre, je crois que des formulation comme (a-b)-c ou a-(b+c) sont
effectivement auto-documentées, rajoutant explicitement une information
C'est surtout vrai lorsque, comme dans le premier cas, elles sont
syntaxiquement inutiles, donc n'ont de portée sémantique qu'à
destination de celui qui lit, comme n'importe quel commentaire.
Maintenant, imagine qu'on récupère ce contexte dans un autre langage
fortement typé (au hasard, C++)
On est pas dans le bon groupe donc on est HS, mais bon, on a toujours le
droit de s'amuser en passant.et qu'on veuille changer les types de
l'expression par des types dont la soustraction EST associative (au
hasard, des quaternions).
Euh, là je crois que tu dérapes.
Les opérations des ordinateurs ne
peuvent pas opérer sur des ensembles infinis (enfin, pas dans des
conditions habituelles) ; et le fait que les ensembles soient finis fait
qu'il y a beaucoup moins d'associativité que tu ne sembles le penser ;
ainsi l'addition des flottants n'est clairement pas associative
(a=grand, b=-grand, c=petit, résultat petit dans un sens et 0 dans
l'autre) ; idem pour les entiers signés dans certains cas de débordement.
On a beau jeu de dire que l'associativité se fait de gauche à droite.
C'est toi qui le dit ! Ne t'en déplaise, la clé, c'est qu'on apprend
d'abord à lire de gauche à droite (en occident du moins c'est très
répandu),
Intéressant. Tu as des références, s'il te plait ?
D'abord, si effectivement nous lisons et écrivons les lettres de gauche
à droite, en ce qui concerne les nombres écrits en chiffres, c'est le
contraire, nous écrivons de droite à gauche (on rajoute le chiffre
supplémentaire à gauche) ; de plus, cet ordre qui vient du sanscrit (la
langue, qui fonctionne comme l'allemand, dvâ-trimçat et zwei-und-dreißig
au lieu de trente-deux) est le même pour les Indiens, les Arabes et les
Européens, alors même que le sens d'écriture des lettres (différent) a
fait modifier la forme des chiffres ; le sens de lecture des nombres lui
dépend complètement des langues, cf. supra.
En ce qui concerne les opérateurs, la seule chose que cela évoque pour
moi, c'est qu'en (ancien) français, on disait « b ôté de a » (ou
soustrait, ou /restado/ en espagnol), avant que la lecture mathématique
« a moins b » ne s'impose (?) récemment.
Évidemment, cela correspond surtout au mot utilisé, en français et en
espagnol nous utilisons un verbe (ôter, soustraire, /restar/) dont le
c.o.d. est la petite quantité qui est ôtée du tas, c.o.i., ce qui donc
influence directement la lecture.
Tous ces ordres sont donc millénaires.
L'ordre de lecture d'expressions algébriques complexes est lui
probablement nettement plus récent, mais je n'ai pas de sources claires.
Par exemple, je ne sais pas comment les Indiens (qui avaient une culture
essentiellement orale) groupaient les opérations multiples, et je ne
sais pas plus comment faisaient les Arabes, qui en mathématiques ont
beaucoup hérités des Indiens (sens flou, donc) et des Grecs (qui
écrivaient au départ en boustrophédon, ce qui fixe encore moins).
Donc, as-tu des références sur le phénomène de fixation de cet ordre de
lecture ? (et ses possibles variations au cours des siècles, ce qui
serait encore plus probant).
Que je sorte de l'école primaire [...], je sais ce que fait a - b - c.
Dans ce cas, le fait est que tu le sais parce que tu viens juste
d'apprendre la convention ! Au milieu de l'école primaire, les élèves ne
savent pas comment traiter une expression comme a-b-c ; et c'est au
programme du dernier cours de primaire que l'on commence à leur
apprendre qu'il faut le lire de cette manière, en leur expliquant bien
qu'il s'agit d'une convention... qui a le grand mérite de bien
fonctionner avec les machines à calculer.
Le truc rigolo, c'est que les parenthèses, par contre, leur sont
expliquées plus tôt, et donc que la convention de lecture leur est
expliqué grâce aux parenthèses (du moins ici en Espagne).
Ah, et de plus la notion de variables ou d'inconnues (a, b et c), cela
n'est pas à la portée des élèves sortant de l'école primaire, il faut
que ce soit des vrais nombres pour qu'ils l'appréhendent.
Alexandre Bacquart écrivit :
a - b - c
L'expression en tant que telle n'a rien à voir avec l'associativité, que
ce soit en maths ou en C. La seule règle à suivre est que ça s'applique
de gauche à droite.
Mmmm. Et le fait que lire de gauche à droite puisse donner le même
résultat que lire de droite à gauche, cela s'appelle comment, en maths ?
Autrement dit, parce que - n'est évidemment pas une opération
associative, tu as besoin d'une règle _conventionnelle_, en l'occurrence
qu'il faille lire de gauche à droite.
moindre petite subtilité, ni même une paire de parenthèses qui, soit dit
en passant, rajoutent une autre règle à suivre.
La position de JKB, c'est justement le rejet de la règle de la lecture
de gauche à droite, et son corrolaire, l'utilisation d'une _autre_
règle, celle des parenthèses : mais il ne s'agit pas d'une règle
supplémentaire, elle remplace.
ce qu'on appelle du code auto-documenté.
Pour moi, le « code auto-documenté » à base de constructions implicites
est une lubie qui cache beaucoup de paresse de la part des programmeurs
et induit beaucoup de perte de temps pour des questions existentielles
au moment de la phase débogage ; là où c'est drôle, c'est quand il se
trouve que la même personne est à la fois le programmeur auto-
documentant et celui qui se pose des questions au débogage ;-)
Par contre, je crois que des formulation comme (a-b)-c ou a-(b+c) sont
effectivement auto-documentées, rajoutant explicitement une information
C'est surtout vrai lorsque, comme dans le premier cas, elles sont
syntaxiquement inutiles, donc n'ont de portée sémantique qu'à
destination de celui qui lit, comme n'importe quel commentaire.
Maintenant, imagine qu'on récupère ce contexte dans un autre langage
fortement typé (au hasard, C++)
On est pas dans le bon groupe donc on est HS, mais bon, on a toujours le
droit de s'amuser en passant.
et qu'on veuille changer les types de
l'expression par des types dont la soustraction EST associative (au
hasard, des quaternions).
Euh, là je crois que tu dérapes.
Les opérations des ordinateurs ne
peuvent pas opérer sur des ensembles infinis (enfin, pas dans des
conditions habituelles) ; et le fait que les ensembles soient finis fait
qu'il y a beaucoup moins d'associativité que tu ne sembles le penser ;
ainsi l'addition des flottants n'est clairement pas associative
(a=grand, b=-grand, c=petit, résultat petit dans un sens et 0 dans
l'autre) ; idem pour les entiers signés dans certains cas de débordement.
On a beau jeu de dire que l'associativité se fait de gauche à droite.
C'est toi qui le dit ! Ne t'en déplaise, la clé, c'est qu'on apprend
d'abord à lire de gauche à droite (en occident du moins c'est très
répandu),
Intéressant. Tu as des références, s'il te plait ?
D'abord, si effectivement nous lisons et écrivons les lettres de gauche
à droite, en ce qui concerne les nombres écrits en chiffres, c'est le
contraire, nous écrivons de droite à gauche (on rajoute le chiffre
supplémentaire à gauche) ; de plus, cet ordre qui vient du sanscrit (la
langue, qui fonctionne comme l'allemand, dvâ-trimçat et zwei-und-dreißig
au lieu de trente-deux) est le même pour les Indiens, les Arabes et les
Européens, alors même que le sens d'écriture des lettres (différent) a
fait modifier la forme des chiffres ; le sens de lecture des nombres lui
dépend complètement des langues, cf. supra.
En ce qui concerne les opérateurs, la seule chose que cela évoque pour
moi, c'est qu'en (ancien) français, on disait « b ôté de a » (ou
soustrait, ou /restado/ en espagnol), avant que la lecture mathématique
« a moins b » ne s'impose (?) récemment.
Évidemment, cela correspond surtout au mot utilisé, en français et en
espagnol nous utilisons un verbe (ôter, soustraire, /restar/) dont le
c.o.d. est la petite quantité qui est ôtée du tas, c.o.i., ce qui donc
influence directement la lecture.
Tous ces ordres sont donc millénaires.
L'ordre de lecture d'expressions algébriques complexes est lui
probablement nettement plus récent, mais je n'ai pas de sources claires.
Par exemple, je ne sais pas comment les Indiens (qui avaient une culture
essentiellement orale) groupaient les opérations multiples, et je ne
sais pas plus comment faisaient les Arabes, qui en mathématiques ont
beaucoup hérités des Indiens (sens flou, donc) et des Grecs (qui
écrivaient au départ en boustrophédon, ce qui fixe encore moins).
Donc, as-tu des références sur le phénomène de fixation de cet ordre de
lecture ? (et ses possibles variations au cours des siècles, ce qui
serait encore plus probant).
Que je sorte de l'école primaire [...], je sais ce que fait a - b - c.
Dans ce cas, le fait est que tu le sais parce que tu viens juste
d'apprendre la convention ! Au milieu de l'école primaire, les élèves ne
savent pas comment traiter une expression comme a-b-c ; et c'est au
programme du dernier cours de primaire que l'on commence à leur
apprendre qu'il faut le lire de cette manière, en leur expliquant bien
qu'il s'agit d'une convention... qui a le grand mérite de bien
fonctionner avec les machines à calculer.
Le truc rigolo, c'est que les parenthèses, par contre, leur sont
expliquées plus tôt, et donc que la convention de lecture leur est
expliqué grâce aux parenthèses (du moins ici en Espagne).
Ah, et de plus la notion de variables ou d'inconnues (a, b et c), cela
n'est pas à la portée des élèves sortant de l'école primaire, il faut
que ce soit des vrais nombres pour qu'ils l'appréhendent.
Alexandre Bacquart écrivit :a - b - c
L'expression en tant que telle n'a rien à voir avec l'associativité, que
ce soit en maths ou en C. La seule règle à suivre est que ça s'applique
de gauche à droite.
Mmmm. Et le fait que lire de gauche à droite puisse donner le même
résultat que lire de droite à gauche, cela s'appelle comment, en maths ?
Autrement dit, parce que - n'est évidemment pas une opération
associative, tu as besoin d'une règle _conventionnelle_, en l'occurrence
qu'il faille lire de gauche à droite.moindre petite subtilité, ni même une paire de parenthèses qui, soit dit
en passant, rajoutent une autre règle à suivre.
La position de JKB, c'est justement le rejet de la règle de la lecture
de gauche à droite, et son corrolaire, l'utilisation d'une _autre_
règle, celle des parenthèses : mais il ne s'agit pas d'une règle
supplémentaire, elle remplace.
ce qu'on appelle du code auto-documenté.
Pour moi, le « code auto-documenté » à base de constructions implicites
est une lubie qui cache beaucoup de paresse de la part des programmeurs
et induit beaucoup de perte de temps pour des questions existentielles
au moment de la phase débogage ; là où c'est drôle, c'est quand il se
trouve que la même personne est à la fois le programmeur auto-
documentant et celui qui se pose des questions au débogage ;-)
Par contre, je crois que des formulation comme (a-b)-c ou a-(b+c) sont
effectivement auto-documentées, rajoutant explicitement une information
C'est surtout vrai lorsque, comme dans le premier cas, elles sont
syntaxiquement inutiles, donc n'ont de portée sémantique qu'à
destination de celui qui lit, comme n'importe quel commentaire.
Maintenant, imagine qu'on récupère ce contexte dans un autre langage
fortement typé (au hasard, C++)
On est pas dans le bon groupe donc on est HS, mais bon, on a toujours le
droit de s'amuser en passant.et qu'on veuille changer les types de
l'expression par des types dont la soustraction EST associative (au
hasard, des quaternions).
Euh, là je crois que tu dérapes.
Les opérations des ordinateurs ne
peuvent pas opérer sur des ensembles infinis (enfin, pas dans des
conditions habituelles) ; et le fait que les ensembles soient finis fait
qu'il y a beaucoup moins d'associativité que tu ne sembles le penser ;
ainsi l'addition des flottants n'est clairement pas associative
(a=grand, b=-grand, c=petit, résultat petit dans un sens et 0 dans
l'autre) ; idem pour les entiers signés dans certains cas de débordement.
On a beau jeu de dire que l'associativité se fait de gauche à droite.
C'est toi qui le dit ! Ne t'en déplaise, la clé, c'est qu'on apprend
d'abord à lire de gauche à droite (en occident du moins c'est très
répandu),
Intéressant. Tu as des références, s'il te plait ?
D'abord, si effectivement nous lisons et écrivons les lettres de gauche
à droite, en ce qui concerne les nombres écrits en chiffres, c'est le
contraire, nous écrivons de droite à gauche (on rajoute le chiffre
supplémentaire à gauche) ; de plus, cet ordre qui vient du sanscrit (la
langue, qui fonctionne comme l'allemand, dvâ-trimçat et zwei-und-dreißig
au lieu de trente-deux) est le même pour les Indiens, les Arabes et les
Européens, alors même que le sens d'écriture des lettres (différent) a
fait modifier la forme des chiffres ; le sens de lecture des nombres lui
dépend complètement des langues, cf. supra.
En ce qui concerne les opérateurs, la seule chose que cela évoque pour
moi, c'est qu'en (ancien) français, on disait « b ôté de a » (ou
soustrait, ou /restado/ en espagnol), avant que la lecture mathématique
« a moins b » ne s'impose (?) récemment.
Évidemment, cela correspond surtout au mot utilisé, en français et en
espagnol nous utilisons un verbe (ôter, soustraire, /restar/) dont le
c.o.d. est la petite quantité qui est ôtée du tas, c.o.i., ce qui donc
influence directement la lecture.
Tous ces ordres sont donc millénaires.
L'ordre de lecture d'expressions algébriques complexes est lui
probablement nettement plus récent, mais je n'ai pas de sources claires.
Par exemple, je ne sais pas comment les Indiens (qui avaient une culture
essentiellement orale) groupaient les opérations multiples, et je ne
sais pas plus comment faisaient les Arabes, qui en mathématiques ont
beaucoup hérités des Indiens (sens flou, donc) et des Grecs (qui
écrivaient au départ en boustrophédon, ce qui fixe encore moins).
Donc, as-tu des références sur le phénomène de fixation de cet ordre de
lecture ? (et ses possibles variations au cours des siècles, ce qui
serait encore plus probant).
Que je sorte de l'école primaire [...], je sais ce que fait a - b - c.
Dans ce cas, le fait est que tu le sais parce que tu viens juste
d'apprendre la convention ! Au milieu de l'école primaire, les élèves ne
savent pas comment traiter une expression comme a-b-c ; et c'est au
programme du dernier cours de primaire que l'on commence à leur
apprendre qu'il faut le lire de cette manière, en leur expliquant bien
qu'il s'agit d'une convention... qui a le grand mérite de bien
fonctionner avec les machines à calculer.
Le truc rigolo, c'est que les parenthèses, par contre, leur sont
expliquées plus tôt, et donc que la convention de lecture leur est
expliqué grâce aux parenthèses (du moins ici en Espagne).
Ah, et de plus la notion de variables ou d'inconnues (a, b et c), cela
n'est pas à la portée des élèves sortant de l'école primaire, il faut
que ce soit des vrais nombres pour qu'ils l'appréhendent.
Bonjour,
Le 08/09/2010 17:55, Marc Espie a écrit :En general, ca leur fait aussi un choc la premiere fois que je leur montre
du "vrai" code. En particulier, ils sont toujours surpris du fait qu'il y
a tres peu de commentaires, [...]
Est-ce possible d'avoir un lien url (ou un copié-collé) correspondant à
un exemple de "vrai" code commenté dans les proportions que vous
décrivez ? Je serais tout simplement curieux de voir dans quelle mesure,
c'est "peu" commenté.
Bonjour,
Le 08/09/2010 17:55, Marc Espie a écrit :
En general, ca leur fait aussi un choc la premiere fois que je leur montre
du "vrai" code. En particulier, ils sont toujours surpris du fait qu'il y
a tres peu de commentaires, [...]
Est-ce possible d'avoir un lien url (ou un copié-collé) correspondant à
un exemple de "vrai" code commenté dans les proportions que vous
décrivez ? Je serais tout simplement curieux de voir dans quelle mesure,
c'est "peu" commenté.
Bonjour,
Le 08/09/2010 17:55, Marc Espie a écrit :En general, ca leur fait aussi un choc la premiere fois que je leur montre
du "vrai" code. En particulier, ils sont toujours surpris du fait qu'il y
a tres peu de commentaires, [...]
Est-ce possible d'avoir un lien url (ou un copié-collé) correspondant à
un exemple de "vrai" code commenté dans les proportions que vous
décrivez ? Je serais tout simplement curieux de voir dans quelle mesure,
c'est "peu" commenté.
Est-ce possible d'avoir un lien url (ou un copié-collé) correspondant à
un exemple de "vrai" code commenté dans les proportions que vous
décrivez ? Je serais tout simplement curieux de voir dans quelle mesure,
c'est "peu" commenté.
www.openbsd.org, source by web. Gratouillez dans des trucs maintenus par
le projet.
Il y a des cas ou il traine encore des commentaires, c'est juste qu'on n'a
pas pris le temps de faire plus propre. ;-)
Est-ce possible d'avoir un lien url (ou un copié-collé) correspondant à
un exemple de "vrai" code commenté dans les proportions que vous
décrivez ? Je serais tout simplement curieux de voir dans quelle mesure,
c'est "peu" commenté.
www.openbsd.org, source by web. Gratouillez dans des trucs maintenus par
le projet.
Il y a des cas ou il traine encore des commentaires, c'est juste qu'on n'a
pas pris le temps de faire plus propre. ;-)
Est-ce possible d'avoir un lien url (ou un copié-collé) correspondant à
un exemple de "vrai" code commenté dans les proportions que vous
décrivez ? Je serais tout simplement curieux de voir dans quelle mesure,
c'est "peu" commenté.
www.openbsd.org, source by web. Gratouillez dans des trucs maintenus par
le projet.
Il y a des cas ou il traine encore des commentaires, c'est juste qu'on n'a
pas pris le temps de faire plus propre. ;-)
On dérive toujours un peu, en toute franchise j'ai même hésité à le
mettre dans des balises HS. Mais JKB défendant son propos par le biais
de sa pratique d'autres langages, il me paraissait légitime de faire de
même. Ca avait le mérite d'approfondir ma réflexion sur la lisibilité
des expressions (et à défaut d'autre exemple concret, j'ai pris a-b-c,
car il n'a franchement pas les dents pointues celui-là et il était
justement cité par JKB). Mais même sans sortir de C, je peux très bien
vouloir exprimer "partant de a, ote b, puis ote c" et non pas "partant
de a, ote la somme de b et c".
Oui, le résultat est le même puisqu'on est dans R (passons le fait que
strictement, l'équivalence est fausse et qu'on est pas totalement dans
R, inutile d'alourdir le débat ici avec des UB de magnitudes ou de
débordements), mais à mes yeux, l'expression est *différente* avant
d'être *formelle et préférable*.
Mon propos, c'est l'expressivité, pas seulement la lisibilité. Si les
parenthèses permettent de virer l'âge du capitaine d'une équation, c'est
très bien (me gênent pas les parenthèses, je fais aussi parfois du Lisp,
je suis blindé) du moment que l'expression reste la même.
On dérive toujours un peu, en toute franchise j'ai même hésité à le
mettre dans des balises HS. Mais JKB défendant son propos par le biais
de sa pratique d'autres langages, il me paraissait légitime de faire de
même. Ca avait le mérite d'approfondir ma réflexion sur la lisibilité
des expressions (et à défaut d'autre exemple concret, j'ai pris a-b-c,
car il n'a franchement pas les dents pointues celui-là et il était
justement cité par JKB). Mais même sans sortir de C, je peux très bien
vouloir exprimer "partant de a, ote b, puis ote c" et non pas "partant
de a, ote la somme de b et c".
Oui, le résultat est le même puisqu'on est dans R (passons le fait que
strictement, l'équivalence est fausse et qu'on est pas totalement dans
R, inutile d'alourdir le débat ici avec des UB de magnitudes ou de
débordements), mais à mes yeux, l'expression est *différente* avant
d'être *formelle et préférable*.
Mon propos, c'est l'expressivité, pas seulement la lisibilité. Si les
parenthèses permettent de virer l'âge du capitaine d'une équation, c'est
très bien (me gênent pas les parenthèses, je fais aussi parfois du Lisp,
je suis blindé) du moment que l'expression reste la même.
On dérive toujours un peu, en toute franchise j'ai même hésité à le
mettre dans des balises HS. Mais JKB défendant son propos par le biais
de sa pratique d'autres langages, il me paraissait légitime de faire de
même. Ca avait le mérite d'approfondir ma réflexion sur la lisibilité
des expressions (et à défaut d'autre exemple concret, j'ai pris a-b-c,
car il n'a franchement pas les dents pointues celui-là et il était
justement cité par JKB). Mais même sans sortir de C, je peux très bien
vouloir exprimer "partant de a, ote b, puis ote c" et non pas "partant
de a, ote la somme de b et c".
Oui, le résultat est le même puisqu'on est dans R (passons le fait que
strictement, l'équivalence est fausse et qu'on est pas totalement dans
R, inutile d'alourdir le débat ici avec des UB de magnitudes ou de
débordements), mais à mes yeux, l'expression est *différente* avant
d'être *formelle et préférable*.
Mon propos, c'est l'expressivité, pas seulement la lisibilité. Si les
parenthèses permettent de virer l'âge du capitaine d'une équation, c'est
très bien (me gênent pas les parenthèses, je fais aussi parfois du Lisp,
je suis blindé) du moment que l'expression reste la même.
On 09/08/2010 11:20 AM, Antoine Leca wrote:Par contre, je crois que des formulation comme (a-b)-c ou a-(b+c) sont
effectivement auto-documentées, rajoutant explicitement une information
C'est surtout vrai lorsque, comme dans le premier cas, elles sont
syntaxiquement inutiles, donc n'ont de portée sémantique qu'à
destination de celui qui lit, comme n'importe quel commentaire.
changement d'expression qui est susceptible de me gêner dans certains
contextes. J'ai bien dit "susceptible".
j'applique toujours une expression
dans le sens de lecture (99% de gauche à droite) en l'absence de
parenthèses et avec des opérateurs aux priorités égales. Qui ne le fait
pas naturellement à part quelques mathématiciens spécialisés consacrant
leur vie à l'étude des super-hyper-shmilbliks ou je ne sais quelle
bizarrerie jusqu'à en oublier l'algèbre ?
Alexandre Bacquart écrivit :Que je sorte de l'école primaire [...], je sais ce que fait a - b - c.
Dans ce cas, le fait est que tu le sais parce que tu viens juste
d'apprendre la convention ! [...]
Le truc rigolo, c'est que les parenthèses, par contre, leur sont
expliquées plus tôt, et donc que la convention de lecture leur est
expliqué grâce aux parenthèses (du moins ici en Espagne).
Il ne me semble pas avoir appris les choses dans cet ordre en France il
y a plus de 25 ans, mais je peux me tromper.
On 09/08/2010 11:20 AM, Antoine Leca wrote:
Par contre, je crois que des formulation comme (a-b)-c ou a-(b+c) sont
effectivement auto-documentées, rajoutant explicitement une information
C'est surtout vrai lorsque, comme dans le premier cas, elles sont
syntaxiquement inutiles, donc n'ont de portée sémantique qu'à
destination de celui qui lit, comme n'importe quel commentaire.
changement d'expression qui est susceptible de me gêner dans certains
contextes. J'ai bien dit "susceptible".
j'applique toujours une expression
dans le sens de lecture (99% de gauche à droite) en l'absence de
parenthèses et avec des opérateurs aux priorités égales. Qui ne le fait
pas naturellement à part quelques mathématiciens spécialisés consacrant
leur vie à l'étude des super-hyper-shmilbliks ou je ne sais quelle
bizarrerie jusqu'à en oublier l'algèbre ?
Alexandre Bacquart écrivit :
Que je sorte de l'école primaire [...], je sais ce que fait a - b - c.
Dans ce cas, le fait est que tu le sais parce que tu viens juste
d'apprendre la convention ! [...]
Le truc rigolo, c'est que les parenthèses, par contre, leur sont
expliquées plus tôt, et donc que la convention de lecture leur est
expliqué grâce aux parenthèses (du moins ici en Espagne).
Il ne me semble pas avoir appris les choses dans cet ordre en France il
y a plus de 25 ans, mais je peux me tromper.
On 09/08/2010 11:20 AM, Antoine Leca wrote:Par contre, je crois que des formulation comme (a-b)-c ou a-(b+c) sont
effectivement auto-documentées, rajoutant explicitement une information
C'est surtout vrai lorsque, comme dans le premier cas, elles sont
syntaxiquement inutiles, donc n'ont de portée sémantique qu'à
destination de celui qui lit, comme n'importe quel commentaire.
changement d'expression qui est susceptible de me gêner dans certains
contextes. J'ai bien dit "susceptible".
j'applique toujours une expression
dans le sens de lecture (99% de gauche à droite) en l'absence de
parenthèses et avec des opérateurs aux priorités égales. Qui ne le fait
pas naturellement à part quelques mathématiciens spécialisés consacrant
leur vie à l'étude des super-hyper-shmilbliks ou je ne sais quelle
bizarrerie jusqu'à en oublier l'algèbre ?
Alexandre Bacquart écrivit :Que je sorte de l'école primaire [...], je sais ce que fait a - b - c.
Dans ce cas, le fait est que tu le sais parce que tu viens juste
d'apprendre la convention ! [...]
Le truc rigolo, c'est que les parenthèses, par contre, leur sont
expliquées plus tôt, et donc que la convention de lecture leur est
expliqué grâce aux parenthèses (du moins ici en Espagne).
Il ne me semble pas avoir appris les choses dans cet ordre en France il
y a plus de 25 ans, mais je peux me tromper.
Ah, alors je n'ai pas compris ton idée.
Peux-tu donner des exemples précis de ce qui pourrait se passer ?
Parce que le problème de fond, c'est quand même que l'évaluation de
a-b-c est lu par le compilateur comme {a-b}-c (en utilisant {} pour
exprimer la décomposition faite par l'analyseur syntaxique) ; donc si
les résultats diffèrent pour (a-b)-c qui a la même lecture syntaxique,
c'est que le compilateur (analyseur sémantique) fait exprès de ne pas
lire normalement : chose qui est effectivement possible dans certains
cas (dans les limites posées par la norme, plus les cas de bogues dans
le compilateur, que l'on ne peut pas négliger ici et qui me paraît
largement plus probable en l'instance) ; mais c'est aussi une chose qui
va surprendre la plupart des « utilisateurs », autrement dit cela
ressemble à de la mauvaise qualité...
Ah, alors je n'ai pas compris ton idée.
Peux-tu donner des exemples précis de ce qui pourrait se passer ?
Parce que le problème de fond, c'est quand même que l'évaluation de
a-b-c est lu par le compilateur comme {a-b}-c (en utilisant {} pour
exprimer la décomposition faite par l'analyseur syntaxique) ; donc si
les résultats diffèrent pour (a-b)-c qui a la même lecture syntaxique,
c'est que le compilateur (analyseur sémantique) fait exprès de ne pas
lire normalement : chose qui est effectivement possible dans certains
cas (dans les limites posées par la norme, plus les cas de bogues dans
le compilateur, que l'on ne peut pas négliger ici et qui me paraît
largement plus probable en l'instance) ; mais c'est aussi une chose qui
va surprendre la plupart des « utilisateurs », autrement dit cela
ressemble à de la mauvaise qualité...
Ah, alors je n'ai pas compris ton idée.
Peux-tu donner des exemples précis de ce qui pourrait se passer ?
Parce que le problème de fond, c'est quand même que l'évaluation de
a-b-c est lu par le compilateur comme {a-b}-c (en utilisant {} pour
exprimer la décomposition faite par l'analyseur syntaxique) ; donc si
les résultats diffèrent pour (a-b)-c qui a la même lecture syntaxique,
c'est que le compilateur (analyseur sémantique) fait exprès de ne pas
lire normalement : chose qui est effectivement possible dans certains
cas (dans les limites posées par la norme, plus les cas de bogues dans
le compilateur, que l'on ne peut pas négliger ici et qui me paraît
largement plus probable en l'instance) ; mais c'est aussi une chose qui
va surprendre la plupart des « utilisateurs », autrement dit cela
ressemble à de la mauvaise qualité...