JKB wrote:... Si pour éviter des constructions
de structures conditionnelles tu es contraint à l'utilisation du goto,
c'est que ton code a un sérieux problème de conception.
Ah, ca y est, le grand maitre du code et de la raison universelle a parle.
Puisque tu es un grand defenseur des grandes choses et un grand
attaquants des mauvaises. J'ai voulu voir si les grandes choses en
faisaient des mauvaises :
$ pwd
/home/stephane/tmp/sendmail-8.14.3
$ grep -R goto *|wc
525 1686 19080
Ensuite, j'ai voulu savoir qui etait le plus coupable
$ pwd
/home/stephane/tmp/qmail-1.03
$ grep -R goto *|wc
38 268 2504
En tous cas, il semble que qmail ai environ 15 fois moins de "problemes
de conception" que sendmail ... environ. Tout ca pour arriver a un
objectif similaire (etre un MX).
J'attends aussi l'argument du "le goto, ça évite au programme de
gérer la pile en passant d'un point à un autre d'une routine", parce
Bof, pour moi le goto ca sert simplement a ce que j'ai deja dit : eviter
des if imbriques les uns dans les autres a en rendre le programme
illisible.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
JKB wrote:
... Si pour éviter des constructions
de structures conditionnelles tu es contraint à l'utilisation du goto,
c'est que ton code a un sérieux problème de conception.
Ah, ca y est, le grand maitre du code et de la raison universelle a parle.
Puisque tu es un grand defenseur des grandes choses et un grand
attaquants des mauvaises. J'ai voulu voir si les grandes choses en
faisaient des mauvaises :
$ pwd
/home/stephane/tmp/sendmail-8.14.3
$ grep -R goto *|wc
525 1686 19080
Ensuite, j'ai voulu savoir qui etait le plus coupable
$ pwd
/home/stephane/tmp/qmail-1.03
$ grep -R goto *|wc
38 268 2504
En tous cas, il semble que qmail ai environ 15 fois moins de "problemes
de conception" que sendmail ... environ. Tout ca pour arriver a un
objectif similaire (etre un MX).
J'attends aussi l'argument du "le goto, ça évite au programme de
gérer la pile en passant d'un point à un autre d'une routine", parce
Bof, pour moi le goto ca sert simplement a ce que j'ai deja dit : eviter
des if imbriques les uns dans les autres a en rendre le programme
illisible.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
JKB wrote:... Si pour éviter des constructions
de structures conditionnelles tu es contraint à l'utilisation du goto,
c'est que ton code a un sérieux problème de conception.
Ah, ca y est, le grand maitre du code et de la raison universelle a parle.
Puisque tu es un grand defenseur des grandes choses et un grand
attaquants des mauvaises. J'ai voulu voir si les grandes choses en
faisaient des mauvaises :
$ pwd
/home/stephane/tmp/sendmail-8.14.3
$ grep -R goto *|wc
525 1686 19080
Ensuite, j'ai voulu savoir qui etait le plus coupable
$ pwd
/home/stephane/tmp/qmail-1.03
$ grep -R goto *|wc
38 268 2504
En tous cas, il semble que qmail ai environ 15 fois moins de "problemes
de conception" que sendmail ... environ. Tout ca pour arriver a un
objectif similaire (etre un MX).
J'attends aussi l'argument du "le goto, ça évite au programme de
gérer la pile en passant d'un point à un autre d'une routine", parce
Bof, pour moi le goto ca sert simplement a ce que j'ai deja dit : eviter
des if imbriques les uns dans les autres a en rendre le programme
illisible.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
Et tu appelles ça comment ?
Le problème est qu'on utilise un langage ou un autre en fonction du
résultat. Rendre le C strict est une connerie parce que ça empêche
de faire certaines choses. Rendre ADA moins strict est une autre
connerie parce qu'il a justement été conçu pour d'autres choses.
Et tu appelles ça comment ?
Le problème est qu'on utilise un langage ou un autre en fonction du
résultat. Rendre le C strict est une connerie parce que ça empêche
de faire certaines choses. Rendre ADA moins strict est une autre
connerie parce qu'il a justement été conçu pour d'autres choses.
Et tu appelles ça comment ?
Le problème est qu'on utilise un langage ou un autre en fonction du
résultat. Rendre le C strict est une connerie parce que ça empêche
de faire certaines choses. Rendre ADA moins strict est une autre
connerie parce qu'il a justement été conçu pour d'autres choses.
Tu es vraiment un crétin sans bornes. Rapporte simplement le nombre
de gotos à la longueur des sources et tu verras que qmail a
proportionnellement deux fois plus de goto que sendmail. De toute
façon, le problème n'est pas là. Sendmail est un programme
historique qui contient pas mal de code ancien datant de l'époque où
le goto était classiquement utilisé en serait-ce que parce qu'il
permet de raccourcir le code. Qmail n'a jamais eu cette contrainte
et aurait pu être écrit sans aucun goto.
donc on arrive à coder sans aucun goto et sans complexifier le code.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
Mouarf... Celle-là, je l'encadre.
Tu es vraiment un crétin sans bornes. Rapporte simplement le nombre
de gotos à la longueur des sources et tu verras que qmail a
proportionnellement deux fois plus de goto que sendmail. De toute
façon, le problème n'est pas là. Sendmail est un programme
historique qui contient pas mal de code ancien datant de l'époque où
le goto était classiquement utilisé en serait-ce que parce qu'il
permet de raccourcir le code. Qmail n'a jamais eu cette contrainte
et aurait pu être écrit sans aucun goto.
donc on arrive à coder sans aucun goto et sans complexifier le code.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
Mouarf... Celle-là, je l'encadre.
Tu es vraiment un crétin sans bornes. Rapporte simplement le nombre
de gotos à la longueur des sources et tu verras que qmail a
proportionnellement deux fois plus de goto que sendmail. De toute
façon, le problème n'est pas là. Sendmail est un programme
historique qui contient pas mal de code ancien datant de l'époque où
le goto était classiquement utilisé en serait-ce que parce qu'il
permet de raccourcir le code. Qmail n'a jamais eu cette contrainte
et aurait pu être écrit sans aucun goto.
donc on arrive à coder sans aucun goto et sans complexifier le code.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
Mouarf... Celle-là, je l'encadre.
Ahahahahaha....
http://www.cs.bell-labs.com/cm/cs/cstr/100.ps.gz
Ahahahahaha....
http://www.cs.bell-labs.com/cm/cs/cstr/100.ps.gz
Ahahahahaha....
http://www.cs.bell-labs.com/cm/cs/cstr/100.ps.gz
JKB a écrit :
Et tu appelles ça comment ?
Je dirais un traducteur de C vers pascal. P2c fait une analyse lexicale,
une analyse syntaxique et gère une table de symbole. Je trouve c'est
beaucoup pour un simple préprocesseur au minimum on est plus du tout au
niveau de préprocesseur comme cpp ou m4.
Le problème est qu'on utilise un langage ou un autre en fonction du
résultat. Rendre le C strict est une connerie parce que ça empêche
de faire certaines choses. Rendre ADA moins strict est une autre
connerie parce qu'il a justement été conçu pour d'autres choses.
Donc le C aurait du être réservé aux domaines ou ces certaines choses
(des bidouilles ;-) ) sont indipensables.
JKB a écrit :
Et tu appelles ça comment ?
Je dirais un traducteur de C vers pascal. P2c fait une analyse lexicale,
une analyse syntaxique et gère une table de symbole. Je trouve c'est
beaucoup pour un simple préprocesseur au minimum on est plus du tout au
niveau de préprocesseur comme cpp ou m4.
Le problème est qu'on utilise un langage ou un autre en fonction du
résultat. Rendre le C strict est une connerie parce que ça empêche
de faire certaines choses. Rendre ADA moins strict est une autre
connerie parce qu'il a justement été conçu pour d'autres choses.
Donc le C aurait du être réservé aux domaines ou ces certaines choses
(des bidouilles ;-) ) sont indipensables.
JKB a écrit :
Et tu appelles ça comment ?
Je dirais un traducteur de C vers pascal. P2c fait une analyse lexicale,
une analyse syntaxique et gère une table de symbole. Je trouve c'est
beaucoup pour un simple préprocesseur au minimum on est plus du tout au
niveau de préprocesseur comme cpp ou m4.
Le problème est qu'on utilise un langage ou un autre en fonction du
résultat. Rendre le C strict est une connerie parce que ça empêche
de faire certaines choses. Rendre ADA moins strict est une autre
connerie parce qu'il a justement été conçu pour d'autres choses.
Donc le C aurait du être réservé aux domaines ou ces certaines choses
(des bidouilles ;-) ) sont indipensables.
JKB wrote:Tu es vraiment un crétin sans bornes. Rapporte simplement le nombre
de gotos à la longueur des sources et tu verras que qmail a
proportionnellement deux fois plus de goto que sendmail. De toute
façon, le problème n'est pas là. Sendmail est un programme
historique qui contient pas mal de code ancien datant de l'époque où
le goto était classiquement utilisé en serait-ce que parce qu'il
permet de raccourcir le code. Qmail n'a jamais eu cette contrainte
et aurait pu être écrit sans aucun goto.
Jusqu'ou ira la mauvaise foi de JKB.
En ce qui me concerne, les deux sont des MX et les deux font la meme
chose au final. Le fait que Qmail soit plus petit serait plutot a son
avantage.
donc on arrive à coder sans aucun goto et sans complexifier le code.
Sans complexifier le code, il y a que toi pour le dire.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
Mouarf... Celle-là, je l'encadre.
On le trouve absolument partout, jusque dans le noyau Linux.
Le tout etant de l'utiliser intelligement et lorsqu'il apporte quelque
chose et non pas comme un goret. Vouloir ne pas l'utiliser du tout,
juste par principe est tout simplement aussi stupide que de l'employer a
tort et a travers.
Mais il va falloir que tu commences a penser autrement que 0 ou 1 pour
comprendre ce mode de pensee. Le plus surprenant, c'est qu'a ton age et
malgre ta grande experience, tu n'y sois toujours pas arrive.
JKB wrote:
Tu es vraiment un crétin sans bornes. Rapporte simplement le nombre
de gotos à la longueur des sources et tu verras que qmail a
proportionnellement deux fois plus de goto que sendmail. De toute
façon, le problème n'est pas là. Sendmail est un programme
historique qui contient pas mal de code ancien datant de l'époque où
le goto était classiquement utilisé en serait-ce que parce qu'il
permet de raccourcir le code. Qmail n'a jamais eu cette contrainte
et aurait pu être écrit sans aucun goto.
Jusqu'ou ira la mauvaise foi de JKB.
En ce qui me concerne, les deux sont des MX et les deux font la meme
chose au final. Le fait que Qmail soit plus petit serait plutot a son
avantage.
donc on arrive à coder sans aucun goto et sans complexifier le code.
Sans complexifier le code, il y a que toi pour le dire.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
Mouarf... Celle-là, je l'encadre.
On le trouve absolument partout, jusque dans le noyau Linux.
Le tout etant de l'utiliser intelligement et lorsqu'il apporte quelque
chose et non pas comme un goret. Vouloir ne pas l'utiliser du tout,
juste par principe est tout simplement aussi stupide que de l'employer a
tort et a travers.
Mais il va falloir que tu commences a penser autrement que 0 ou 1 pour
comprendre ce mode de pensee. Le plus surprenant, c'est qu'a ton age et
malgre ta grande experience, tu n'y sois toujours pas arrive.
JKB wrote:Tu es vraiment un crétin sans bornes. Rapporte simplement le nombre
de gotos à la longueur des sources et tu verras que qmail a
proportionnellement deux fois plus de goto que sendmail. De toute
façon, le problème n'est pas là. Sendmail est un programme
historique qui contient pas mal de code ancien datant de l'époque où
le goto était classiquement utilisé en serait-ce que parce qu'il
permet de raccourcir le code. Qmail n'a jamais eu cette contrainte
et aurait pu être écrit sans aucun goto.
Jusqu'ou ira la mauvaise foi de JKB.
En ce qui me concerne, les deux sont des MX et les deux font la meme
chose au final. Le fait que Qmail soit plus petit serait plutot a son
avantage.
donc on arrive à coder sans aucun goto et sans complexifier le code.
Sans complexifier le code, il y a que toi pour le dire.
Il me semble d'ailleurs que malgre qu'un tas d'andouilles le considerent
salement, c'est une instruction dont on ne saurait se passer des qu'un
projet depasse une certaine taille et une certaine complexite.
Mouarf... Celle-là, je l'encadre.
On le trouve absolument partout, jusque dans le noyau Linux.
Le tout etant de l'utiliser intelligement et lorsqu'il apporte quelque
chose et non pas comme un goret. Vouloir ne pas l'utiliser du tout,
juste par principe est tout simplement aussi stupide que de l'employer a
tort et a travers.
Mais il va falloir que tu commences a penser autrement que 0 ou 1 pour
comprendre ce mode de pensee. Le plus surprenant, c'est qu'a ton age et
malgre ta grande experience, tu n'y sois toujours pas arrive.
http://www.cs.bell-labs.com/cm/cs/cstr/100.ps.gz
Très intéressant, qu'est ce qu'il en est aujourd'hui? Est ce qu'il y a
toujours les mêmes problèmes?
http://www.cs.bell-labs.com/cm/cs/cstr/100.ps.gz
Très intéressant, qu'est ce qu'il en est aujourd'hui? Est ce qu'il y a
toujours les mêmes problèmes?
http://www.cs.bell-labs.com/cm/cs/cstr/100.ps.gz
Très intéressant, qu'est ce qu'il en est aujourd'hui? Est ce qu'il y a
toujours les mêmes problèmes?
Les gros reproches que j'ai vis à vis du pascal moderne "Object Pascal"
comme ils disent c'était l'absence de généricité et la pauvreté des
conteneurs. Ainsi qu'une gestion de la création et destruction des
objets manuelle et très pénible.
De toutes façons c'est mort...
Les gros reproches que j'ai vis à vis du pascal moderne "Object Pascal"
comme ils disent c'était l'absence de généricité et la pauvreté des
conteneurs. Ainsi qu'une gestion de la création et destruction des
objets manuelle et très pénible.
De toutes façons c'est mort...
Les gros reproches que j'ai vis à vis du pascal moderne "Object Pascal"
comme ils disent c'était l'absence de généricité et la pauvreté des
conteneurs. Ainsi qu'une gestion de la création et destruction des
objets manuelle et très pénible.
De toutes façons c'est mort...
Réponds à la question. Tu viens de montrer que tu ne sais pas faire
une règle de trois de base.
Non. Parce que lorsque tu dois débugguer un truc avec des gotos, il
te faudrait aussi le pendant (le comefrom) pour éviter le côté
spaghetti du code. C'est aussi pour cela qu'on évite le goto et
qu'on le réserve seulement aux cas où on ne peut pas faire
autrement.
Je n'ai jamais dis le contraire. Je prétends seulement (et tu n'as
encore aucun argument contre) que le goto n'est pas utile dans
l'immense majorité des cas. Je t'ai aussi dit qu'historiquement, ça
pouvait tout à fait se justifier pour des vieux programmes, mais
certainement pas pour des écritures récentes dans lesquelles entre
qmail.
Il est parfaitement normal qu'il soit utilisé dans un noyau d'OS (je te
laisse réfléchir au pourquoi du comment), mais je persiste à dire
que dans une application normale, il n'a rien à faire. Utiliser un
goto dans une application normale (ie pas un noyau) revient dans
l'immense majorité des cas à dire que son design est défectueux.
Pour te fixer un peu les idées et enfoncer le clou, le recours à
un goto signifie quasiment toujours que tu essaies de récupérer un
cas que tu as oublié de traiter, c'est un cataplasme sur une jambe
de bois. NOTE BIEN QUE J'AI ÉCRIT QUASIMENT TOUJOURS. Je le mets en
majuscules parce que ta comprenette est bouchée à l'émeri.
De toute façon, je parle à un mur, parce parler de programmation
noyau avec toi, c'est un peu discuter sur la vertu du point-virgule
dans les Pensées de Pascal avec une mouette.
Ce que tu n'arrives pas à comprendre (mais vu ta mentalité, c'est
presque normal), c'est qu'on peut parfaitement se passer du goto et
que le fait de ne pas l'employer n'est pas du tout synonyme de ne
pas l'employer par principe.
Réponds à la question. Tu viens de montrer que tu ne sais pas faire
une règle de trois de base.
Non. Parce que lorsque tu dois débugguer un truc avec des gotos, il
te faudrait aussi le pendant (le comefrom) pour éviter le côté
spaghetti du code. C'est aussi pour cela qu'on évite le goto et
qu'on le réserve seulement aux cas où on ne peut pas faire
autrement.
Je n'ai jamais dis le contraire. Je prétends seulement (et tu n'as
encore aucun argument contre) que le goto n'est pas utile dans
l'immense majorité des cas. Je t'ai aussi dit qu'historiquement, ça
pouvait tout à fait se justifier pour des vieux programmes, mais
certainement pas pour des écritures récentes dans lesquelles entre
qmail.
Il est parfaitement normal qu'il soit utilisé dans un noyau d'OS (je te
laisse réfléchir au pourquoi du comment), mais je persiste à dire
que dans une application normale, il n'a rien à faire. Utiliser un
goto dans une application normale (ie pas un noyau) revient dans
l'immense majorité des cas à dire que son design est défectueux.
Pour te fixer un peu les idées et enfoncer le clou, le recours à
un goto signifie quasiment toujours que tu essaies de récupérer un
cas que tu as oublié de traiter, c'est un cataplasme sur une jambe
de bois. NOTE BIEN QUE J'AI ÉCRIT QUASIMENT TOUJOURS. Je le mets en
majuscules parce que ta comprenette est bouchée à l'émeri.
De toute façon, je parle à un mur, parce parler de programmation
noyau avec toi, c'est un peu discuter sur la vertu du point-virgule
dans les Pensées de Pascal avec une mouette.
Ce que tu n'arrives pas à comprendre (mais vu ta mentalité, c'est
presque normal), c'est qu'on peut parfaitement se passer du goto et
que le fait de ne pas l'employer n'est pas du tout synonyme de ne
pas l'employer par principe.
Réponds à la question. Tu viens de montrer que tu ne sais pas faire
une règle de trois de base.
Non. Parce que lorsque tu dois débugguer un truc avec des gotos, il
te faudrait aussi le pendant (le comefrom) pour éviter le côté
spaghetti du code. C'est aussi pour cela qu'on évite le goto et
qu'on le réserve seulement aux cas où on ne peut pas faire
autrement.
Je n'ai jamais dis le contraire. Je prétends seulement (et tu n'as
encore aucun argument contre) que le goto n'est pas utile dans
l'immense majorité des cas. Je t'ai aussi dit qu'historiquement, ça
pouvait tout à fait se justifier pour des vieux programmes, mais
certainement pas pour des écritures récentes dans lesquelles entre
qmail.
Il est parfaitement normal qu'il soit utilisé dans un noyau d'OS (je te
laisse réfléchir au pourquoi du comment), mais je persiste à dire
que dans une application normale, il n'a rien à faire. Utiliser un
goto dans une application normale (ie pas un noyau) revient dans
l'immense majorité des cas à dire que son design est défectueux.
Pour te fixer un peu les idées et enfoncer le clou, le recours à
un goto signifie quasiment toujours que tu essaies de récupérer un
cas que tu as oublié de traiter, c'est un cataplasme sur une jambe
de bois. NOTE BIEN QUE J'AI ÉCRIT QUASIMENT TOUJOURS. Je le mets en
majuscules parce que ta comprenette est bouchée à l'émeri.
De toute façon, je parle à un mur, parce parler de programmation
noyau avec toi, c'est un peu discuter sur la vertu du point-virgule
dans les Pensées de Pascal avec une mouette.
Ce que tu n'arrives pas à comprendre (mais vu ta mentalité, c'est
presque normal), c'est qu'on peut parfaitement se passer du goto et
que le fait de ne pas l'employer n'est pas du tout synonyme de ne
pas l'employer par principe.
JKB wrote:Réponds à la question. Tu viens de montrer que tu ne sais pas faire
une règle de trois de base.
Quelle question ?
Je n'ai vu aucune question dans ton post.
Non. Parce que lorsque tu dois débugguer un truc avec des gotos, il
te faudrait aussi le pendant (le comefrom) pour éviter le côté
spaghetti du code. C'est aussi pour cela qu'on évite le goto et
qu'on le réserve seulement aux cas où on ne peut pas faire
autrement.
Oh ben voila, il commence a comprendre le JKB. Il y a pas que des 0 et
des 1 dans la vie. Il y aussi des moments ou utiliser goto est
necessaire et meilleur que n'importe quelle autre solution (car on peut
toujours faire autrement).
Je n'ai jamais dis le contraire. Je prétends seulement (et tu n'as
encore aucun argument contre) que le goto n'est pas utile dans
l'immense majorité des cas. Je t'ai aussi dit qu'historiquement, ça
pouvait tout à fait se justifier pour des vieux programmes, mais
certainement pas pour des écritures récentes dans lesquelles entre
qmail.
Ca, c'est de la mauvaise foi. Mais c'est bien, tu progresses, tu as
admis qu'il y a des raisons pour les quelles on peut (et on doit)
utiliser goto.
Il est parfaitement normal qu'il soit utilisé dans un noyau d'OS (je te
laisse réfléchir au pourquoi du comment), mais je persiste à dire
que dans une application normale, il n'a rien à faire. Utiliser un
goto dans une application normale (ie pas un noyau) revient dans
l'immense majorité des cas à dire que son design est défectueux.
Donc le design de sendmail est defectueux.
Vois-tu, je ne suis pas
d'accord sur le cote historique de ton argumentation. Sendmail est Libre
et Open Source. Si goto c'est mal, on passe quelques jours sur le
probleme et on le vire du code.
Si on le laisse, c'est bien qu'il y a de bonnes raisons.
Maintenant, je peux faire le tour des tous les gros projets en C du GNU,
je suis a peu pret sur de trouver du goto en pagaille dans la plupart
d'entre eux. Tout simplement parce qu'il y des fois ou goto, c'est bien.
Pour te fixer un peu les idées et enfoncer le clou, le recours à
un goto signifie quasiment toujours que tu essaies de récupérer un
cas que tu as oublié de traiter, c'est un cataplasme sur une jambe
de bois. NOTE BIEN QUE J'AI ÉCRIT QUASIMENT TOUJOURS. Je le mets en
majuscules parce que ta comprenette est bouchée à l'émeri.
C'est pour ca qu'a chaque fois que je vois des goto, ils sont toujours
dans des series de conditions et pointent tous vers un point unique.
Houla, merci JKB pour tes lecons de programmation, mais je crois que je
vais faire sans. Pas que tu sois mauvais, mais ta mauvaise foi te fait
dire des betises.
De toute façon, je parle à un mur, parce parler de programmation
noyau avec toi, c'est un peu discuter sur la vertu du point-virgule
dans les Pensées de Pascal avec une mouette.
Je ne fais pas de programmation noyau et on ne parle pas de
programmation du noyau. On parle de l'utilisation de goto et dans le
fait que cela se justifie dans certains cas. Ce sur quoi on est presque
d'accord.
T'as juste a essayer de trouver un echapatoire pour bien dire
que t'as une plus grosse bite, bien que le coup de la "programmation
noyau avec toi" devrait etre suffisant.
Ce que tu n'arrives pas à comprendre (mais vu ta mentalité, c'est
presque normal), c'est qu'on peut parfaitement se passer du goto et
que le fait de ne pas l'employer n'est pas du tout synonyme de ne
pas l'employer par principe.
C'est surtout le fait que l'employer n'est pas synonyme de "mauvais
design". C'est l'employer a tort et a travers ou pas du tout lorsque
cela est necessaire qui est synonyme de mauvais design.
JKB wrote:
Réponds à la question. Tu viens de montrer que tu ne sais pas faire
une règle de trois de base.
Quelle question ?
Je n'ai vu aucune question dans ton post.
Non. Parce que lorsque tu dois débugguer un truc avec des gotos, il
te faudrait aussi le pendant (le comefrom) pour éviter le côté
spaghetti du code. C'est aussi pour cela qu'on évite le goto et
qu'on le réserve seulement aux cas où on ne peut pas faire
autrement.
Oh ben voila, il commence a comprendre le JKB. Il y a pas que des 0 et
des 1 dans la vie. Il y aussi des moments ou utiliser goto est
necessaire et meilleur que n'importe quelle autre solution (car on peut
toujours faire autrement).
Je n'ai jamais dis le contraire. Je prétends seulement (et tu n'as
encore aucun argument contre) que le goto n'est pas utile dans
l'immense majorité des cas. Je t'ai aussi dit qu'historiquement, ça
pouvait tout à fait se justifier pour des vieux programmes, mais
certainement pas pour des écritures récentes dans lesquelles entre
qmail.
Ca, c'est de la mauvaise foi. Mais c'est bien, tu progresses, tu as
admis qu'il y a des raisons pour les quelles on peut (et on doit)
utiliser goto.
Il est parfaitement normal qu'il soit utilisé dans un noyau d'OS (je te
laisse réfléchir au pourquoi du comment), mais je persiste à dire
que dans une application normale, il n'a rien à faire. Utiliser un
goto dans une application normale (ie pas un noyau) revient dans
l'immense majorité des cas à dire que son design est défectueux.
Donc le design de sendmail est defectueux.
Vois-tu, je ne suis pas
d'accord sur le cote historique de ton argumentation. Sendmail est Libre
et Open Source. Si goto c'est mal, on passe quelques jours sur le
probleme et on le vire du code.
Si on le laisse, c'est bien qu'il y a de bonnes raisons.
Maintenant, je peux faire le tour des tous les gros projets en C du GNU,
je suis a peu pret sur de trouver du goto en pagaille dans la plupart
d'entre eux. Tout simplement parce qu'il y des fois ou goto, c'est bien.
Pour te fixer un peu les idées et enfoncer le clou, le recours à
un goto signifie quasiment toujours que tu essaies de récupérer un
cas que tu as oublié de traiter, c'est un cataplasme sur une jambe
de bois. NOTE BIEN QUE J'AI ÉCRIT QUASIMENT TOUJOURS. Je le mets en
majuscules parce que ta comprenette est bouchée à l'émeri.
C'est pour ca qu'a chaque fois que je vois des goto, ils sont toujours
dans des series de conditions et pointent tous vers un point unique.
Houla, merci JKB pour tes lecons de programmation, mais je crois que je
vais faire sans. Pas que tu sois mauvais, mais ta mauvaise foi te fait
dire des betises.
De toute façon, je parle à un mur, parce parler de programmation
noyau avec toi, c'est un peu discuter sur la vertu du point-virgule
dans les Pensées de Pascal avec une mouette.
Je ne fais pas de programmation noyau et on ne parle pas de
programmation du noyau. On parle de l'utilisation de goto et dans le
fait que cela se justifie dans certains cas. Ce sur quoi on est presque
d'accord.
T'as juste a essayer de trouver un echapatoire pour bien dire
que t'as une plus grosse bite, bien que le coup de la "programmation
noyau avec toi" devrait etre suffisant.
Ce que tu n'arrives pas à comprendre (mais vu ta mentalité, c'est
presque normal), c'est qu'on peut parfaitement se passer du goto et
que le fait de ne pas l'employer n'est pas du tout synonyme de ne
pas l'employer par principe.
C'est surtout le fait que l'employer n'est pas synonyme de "mauvais
design". C'est l'employer a tort et a travers ou pas du tout lorsque
cela est necessaire qui est synonyme de mauvais design.
JKB wrote:Réponds à la question. Tu viens de montrer que tu ne sais pas faire
une règle de trois de base.
Quelle question ?
Je n'ai vu aucune question dans ton post.
Non. Parce que lorsque tu dois débugguer un truc avec des gotos, il
te faudrait aussi le pendant (le comefrom) pour éviter le côté
spaghetti du code. C'est aussi pour cela qu'on évite le goto et
qu'on le réserve seulement aux cas où on ne peut pas faire
autrement.
Oh ben voila, il commence a comprendre le JKB. Il y a pas que des 0 et
des 1 dans la vie. Il y aussi des moments ou utiliser goto est
necessaire et meilleur que n'importe quelle autre solution (car on peut
toujours faire autrement).
Je n'ai jamais dis le contraire. Je prétends seulement (et tu n'as
encore aucun argument contre) que le goto n'est pas utile dans
l'immense majorité des cas. Je t'ai aussi dit qu'historiquement, ça
pouvait tout à fait se justifier pour des vieux programmes, mais
certainement pas pour des écritures récentes dans lesquelles entre
qmail.
Ca, c'est de la mauvaise foi. Mais c'est bien, tu progresses, tu as
admis qu'il y a des raisons pour les quelles on peut (et on doit)
utiliser goto.
Il est parfaitement normal qu'il soit utilisé dans un noyau d'OS (je te
laisse réfléchir au pourquoi du comment), mais je persiste à dire
que dans une application normale, il n'a rien à faire. Utiliser un
goto dans une application normale (ie pas un noyau) revient dans
l'immense majorité des cas à dire que son design est défectueux.
Donc le design de sendmail est defectueux.
Vois-tu, je ne suis pas
d'accord sur le cote historique de ton argumentation. Sendmail est Libre
et Open Source. Si goto c'est mal, on passe quelques jours sur le
probleme et on le vire du code.
Si on le laisse, c'est bien qu'il y a de bonnes raisons.
Maintenant, je peux faire le tour des tous les gros projets en C du GNU,
je suis a peu pret sur de trouver du goto en pagaille dans la plupart
d'entre eux. Tout simplement parce qu'il y des fois ou goto, c'est bien.
Pour te fixer un peu les idées et enfoncer le clou, le recours à
un goto signifie quasiment toujours que tu essaies de récupérer un
cas que tu as oublié de traiter, c'est un cataplasme sur une jambe
de bois. NOTE BIEN QUE J'AI ÉCRIT QUASIMENT TOUJOURS. Je le mets en
majuscules parce que ta comprenette est bouchée à l'émeri.
C'est pour ca qu'a chaque fois que je vois des goto, ils sont toujours
dans des series de conditions et pointent tous vers un point unique.
Houla, merci JKB pour tes lecons de programmation, mais je crois que je
vais faire sans. Pas que tu sois mauvais, mais ta mauvaise foi te fait
dire des betises.
De toute façon, je parle à un mur, parce parler de programmation
noyau avec toi, c'est un peu discuter sur la vertu du point-virgule
dans les Pensées de Pascal avec une mouette.
Je ne fais pas de programmation noyau et on ne parle pas de
programmation du noyau. On parle de l'utilisation de goto et dans le
fait que cela se justifie dans certains cas. Ce sur quoi on est presque
d'accord.
T'as juste a essayer de trouver un echapatoire pour bien dire
que t'as une plus grosse bite, bien que le coup de la "programmation
noyau avec toi" devrait etre suffisant.
Ce que tu n'arrives pas à comprendre (mais vu ta mentalité, c'est
presque normal), c'est qu'on peut parfaitement se passer du goto et
que le fait de ne pas l'employer n'est pas du tout synonyme de ne
pas l'employer par principe.
C'est surtout le fait que l'employer n'est pas synonyme de "mauvais
design". C'est l'employer a tort et a travers ou pas du tout lorsque
cela est necessaire qui est synonyme de mauvais design.