Le 30-11-2009, AG a écrit :
> On Nov 30, 2:27 pm, Marc Boyer
> wrote:
>> Mais est-ce grave ? J'avoue ne quasiment jamais me servir
>> de débugger. Je travaille surtout en précondition/invariant
>> (assert) + tests unitaires, et éventuellementvalgrind
>> quand je soupsonne une corruption mémoire.
>> Et une fois le bug identifié, à grand coups de cerr
>> + assert.
>> D'autant que souvent, le bug n'apparait pas en mode débug ;-)
En plus, les precond/invariants servent aussi de documentation,
et puis tu les écris quand tu écris la fonctions, donc tu sais ce
que ça va faire.
Et puis c'est aussi facile d'écrire
PRINT_VALUE(toto)
avec une macro du type
#define PRINT_VALUE(X) if (debug) { cerr<<#X "="<<(X)<< endl;}
que de faire click-gauche, 'suivre-variable'
Et puis les débogueurs que je connaissais ne montraient pas d'histo rique.
Souvent, la question c'est "pourquoi cette var vaut ça ?", et tu remont es
le temps. En affichant les variables en console, la console se souvient.
De plus, en ce qui concerne les fuites mémoires,valgrindest
bien plus efficace que de suivre pas à pas le débogueur.
> Cela dit, qu'on me le dise si les debugger ne sont pas intensivement
> utilisés dans l'industrie, je serais content de me tromper. Dans mon
> entourage, tout ceux à qui j'ai montré un debugger pratique l'ont
> adopté.
Non, tests unitaires / assert / printf, c'était la méthodologie.
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.http://www.inega lites.fr/spip.php?article1&id_mot0
Le 30-11-2009, AG <hey...@gmail.com> a écrit :
> On Nov 30, 2:27 pm, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid>
> wrote:
>> Mais est-ce grave ? J'avoue ne quasiment jamais me servir
>> de débugger. Je travaille surtout en précondition/invariant
>> (assert) + tests unitaires, et éventuellementvalgrind
>> quand je soupsonne une corruption mémoire.
>> Et une fois le bug identifié, à grand coups de cerr
>> + assert.
>> D'autant que souvent, le bug n'apparait pas en mode débug ;-)
En plus, les precond/invariants servent aussi de documentation,
et puis tu les écris quand tu écris la fonctions, donc tu sais ce
que ça va faire.
Et puis c'est aussi facile d'écrire
PRINT_VALUE(toto)
avec une macro du type
#define PRINT_VALUE(X) if (debug) { cerr<<#X "="<<(X)<< endl;}
que de faire click-gauche, 'suivre-variable'
Et puis les débogueurs que je connaissais ne montraient pas d'histo rique.
Souvent, la question c'est "pourquoi cette var vaut ça ?", et tu remont es
le temps. En affichant les variables en console, la console se souvient.
De plus, en ce qui concerne les fuites mémoires,valgrindest
bien plus efficace que de suivre pas à pas le débogueur.
> Cela dit, qu'on me le dise si les debugger ne sont pas intensivement
> utilisés dans l'industrie, je serais content de me tromper. Dans mon
> entourage, tout ceux à qui j'ai montré un debugger pratique l'ont
> adopté.
Non, tests unitaires / assert / printf, c'était la méthodologie.
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.http://www.inega lites.fr/spip.php?article1&id_mot=130
Le 30-11-2009, AG a écrit :
> On Nov 30, 2:27 pm, Marc Boyer
> wrote:
>> Mais est-ce grave ? J'avoue ne quasiment jamais me servir
>> de débugger. Je travaille surtout en précondition/invariant
>> (assert) + tests unitaires, et éventuellementvalgrind
>> quand je soupsonne une corruption mémoire.
>> Et une fois le bug identifié, à grand coups de cerr
>> + assert.
>> D'autant que souvent, le bug n'apparait pas en mode débug ;-)
En plus, les precond/invariants servent aussi de documentation,
et puis tu les écris quand tu écris la fonctions, donc tu sais ce
que ça va faire.
Et puis c'est aussi facile d'écrire
PRINT_VALUE(toto)
avec une macro du type
#define PRINT_VALUE(X) if (debug) { cerr<<#X "="<<(X)<< endl;}
que de faire click-gauche, 'suivre-variable'
Et puis les débogueurs que je connaissais ne montraient pas d'histo rique.
Souvent, la question c'est "pourquoi cette var vaut ça ?", et tu remont es
le temps. En affichant les variables en console, la console se souvient.
De plus, en ce qui concerne les fuites mémoires,valgrindest
bien plus efficace que de suivre pas à pas le débogueur.
> Cela dit, qu'on me le dise si les debugger ne sont pas intensivement
> utilisés dans l'industrie, je serais content de me tromper. Dans mon
> entourage, tout ceux à qui j'ai montré un debugger pratique l'ont
> adopté.
Non, tests unitaires / assert / printf, c'était la méthodologie.
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.http://www.inega lites.fr/spip.php?article1&id_mot0
On Nov 30, 2:15 pm, Marc Boyer
wrote:
> Le 30-11-2009, AG a écrit :
[...]
> Possible. J'utilisais le deboggeur avant, sous Win* il y a
> plus de 10 ans, puis SunStudio puis ddd/gdb/xemacs, puis plus
> rien...
Je travaille actuellement avec Visual Studios 8 ; il offre bien
moins de possibilités que gdb (ou au moins, je ne les ai pas
trouvé).
[...]
> Non, tests unitaires / assert / printf, c'était la méthodologie.
À règle générale, dans des boîtes bien organisées, il est
interdit d'utiliser le deboggeur tant qu'on n'a pas de test
unitaire qui montre le problème. On ne veut pas qu'il
reapparaissent dans une version future, et on veut être sûr que
les tests unitaires le détectent. Et la plupart du temps, une
fois qu'on a isolé le problème assez pour définir un test
unitaire qui le declenche, on l'a isolé assez pour pouvoir
savoir exactement ce qui ne va pas d'après les symptomes.
> On présentait gdb/ddd en illustration des cours sur
> l'allocation dynamique, pour qu'ils "voient" leurs listes
> chainées.
> Et quand en projet ils galéraient à rechercher un bug, et
> qu'ils finissaient par m'appeller, au bord de la crise,
> parfois me montraient leur problème avec gdb/ddd, mais
> toujours, j'allais à la pèche aux infos à coup
> d'assert/printf, et, éventuellementvalgrind.
Je ne suis pas sûr d'être d'accord avec l'utilisation du printf,
mais en général, il faut dire que si tu as besoin d'une
information une fois, tu en aurais besoin une autre fois, et
qu'il faut alors y introduire un log ou un trace.
(Mais ça ne
vaut que pour les programmes « industriels » ; je vois mal un
élève, même à l'univerité, se servir extensivement des logs.)
On Nov 30, 2:15 pm, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid>
wrote:
> Le 30-11-2009, AG <hey...@gmail.com> a écrit :
[...]
> Possible. J'utilisais le deboggeur avant, sous Win* il y a
> plus de 10 ans, puis SunStudio puis ddd/gdb/xemacs, puis plus
> rien...
Je travaille actuellement avec Visual Studios 8 ; il offre bien
moins de possibilités que gdb (ou au moins, je ne les ai pas
trouvé).
[...]
> Non, tests unitaires / assert / printf, c'était la méthodologie.
À règle générale, dans des boîtes bien organisées, il est
interdit d'utiliser le deboggeur tant qu'on n'a pas de test
unitaire qui montre le problème. On ne veut pas qu'il
reapparaissent dans une version future, et on veut être sûr que
les tests unitaires le détectent. Et la plupart du temps, une
fois qu'on a isolé le problème assez pour définir un test
unitaire qui le declenche, on l'a isolé assez pour pouvoir
savoir exactement ce qui ne va pas d'après les symptomes.
> On présentait gdb/ddd en illustration des cours sur
> l'allocation dynamique, pour qu'ils "voient" leurs listes
> chainées.
> Et quand en projet ils galéraient à rechercher un bug, et
> qu'ils finissaient par m'appeller, au bord de la crise,
> parfois me montraient leur problème avec gdb/ddd, mais
> toujours, j'allais à la pèche aux infos à coup
> d'assert/printf, et, éventuellementvalgrind.
Je ne suis pas sûr d'être d'accord avec l'utilisation du printf,
mais en général, il faut dire que si tu as besoin d'une
information une fois, tu en aurais besoin une autre fois, et
qu'il faut alors y introduire un log ou un trace.
(Mais ça ne
vaut que pour les programmes « industriels » ; je vois mal un
élève, même à l'univerité, se servir extensivement des logs.)
On Nov 30, 2:15 pm, Marc Boyer
wrote:
> Le 30-11-2009, AG a écrit :
[...]
> Possible. J'utilisais le deboggeur avant, sous Win* il y a
> plus de 10 ans, puis SunStudio puis ddd/gdb/xemacs, puis plus
> rien...
Je travaille actuellement avec Visual Studios 8 ; il offre bien
moins de possibilités que gdb (ou au moins, je ne les ai pas
trouvé).
[...]
> Non, tests unitaires / assert / printf, c'était la méthodologie.
À règle générale, dans des boîtes bien organisées, il est
interdit d'utiliser le deboggeur tant qu'on n'a pas de test
unitaire qui montre le problème. On ne veut pas qu'il
reapparaissent dans une version future, et on veut être sûr que
les tests unitaires le détectent. Et la plupart du temps, une
fois qu'on a isolé le problème assez pour définir un test
unitaire qui le declenche, on l'a isolé assez pour pouvoir
savoir exactement ce qui ne va pas d'après les symptomes.
> On présentait gdb/ddd en illustration des cours sur
> l'allocation dynamique, pour qu'ils "voient" leurs listes
> chainées.
> Et quand en projet ils galéraient à rechercher un bug, et
> qu'ils finissaient par m'appeller, au bord de la crise,
> parfois me montraient leur problème avec gdb/ddd, mais
> toujours, j'allais à la pèche aux infos à coup
> d'assert/printf, et, éventuellementvalgrind.
Je ne suis pas sûr d'être d'accord avec l'utilisation du printf,
mais en général, il faut dire que si tu as besoin d'une
information une fois, tu en aurais besoin une autre fois, et
qu'il faut alors y introduire un log ou un trace.
(Mais ça ne
vaut que pour les programmes « industriels » ; je vois mal un
élève, même à l'univerité, se servir extensivement des logs.)
"James Kanze" a écrit dans le message de groupe de
discussion :
> On Dec 9, 7:49 am, "Senhon" wrote:
> Peut-être le problème que certains (comme moi-même) apercoivent
> avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
Vaste débat : est-ce le produit ou l'usage ?
> Tandis que devant la ligne de commande Unix, il faut bien
> apprendre un peu.
Attitude un peu nostalgique, non ?
"James Kanze" <james.ka...@gmail.com> a écrit dans le message de groupe de
discussion :
2a50bcda-f83b-4969-be07-c7c44deb1...@m3g2000yqf.googlegroups.com...
> On Dec 9, 7:49 am, "Senhon" <N...@Nul.Nul> wrote:
> Peut-être le problème que certains (comme moi-même) apercoivent
> avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
Vaste débat : est-ce le produit ou l'usage ?
> Tandis que devant la ligne de commande Unix, il faut bien
> apprendre un peu.
Attitude un peu nostalgique, non ?
"James Kanze" a écrit dans le message de groupe de
discussion :
> On Dec 9, 7:49 am, "Senhon" wrote:
> Peut-être le problème que certains (comme moi-même) apercoivent
> avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
Vaste débat : est-ce le produit ou l'usage ?
> Tandis que devant la ligne de commande Unix, il faut bien
> apprendre un peu.
Attitude un peu nostalgique, non ?
> Un cas simple, dans un .CPP je tape , par exemple : <Declarateur> <NomObj et>
, (eventuellement suivi d'une initialisation) suivi d'un jeu de touches
pour, être précis 2.
La macro qui est lancée va lire la ligne sur laquelle je suis, extraire le
nom de <Declarateur> (qui peux être une déclaration quelconque : poin teur,
référence, classe, classe paramétrée ), puis avec le fichier en c ours
d'édition va déterminer le nom du header et ajouter cette nouvelle
déclaration de l'objet. Et va modifier le fichier courant en supprimant le
<Declateur>.
De même pour une fonction membre, mais là c'est un peu plus complexe, mais
dans la même optique, je tape une ligne et un raccourci, et c'a mouline à ma
place.
> Un cas simple, dans un .CPP je tape , par exemple : <Declarateur> <NomObj et>
, (eventuellement suivi d'une initialisation) suivi d'un jeu de touches
pour, être précis 2.
La macro qui est lancée va lire la ligne sur laquelle je suis, extraire le
nom de <Declarateur> (qui peux être une déclaration quelconque : poin teur,
référence, classe, classe paramétrée ), puis avec le fichier en c ours
d'édition va déterminer le nom du header et ajouter cette nouvelle
déclaration de l'objet. Et va modifier le fichier courant en supprimant le
<Declateur>.
De même pour une fonction membre, mais là c'est un peu plus complexe, mais
dans la même optique, je tape une ligne et un raccourci, et c'a mouline à ma
place.
> Un cas simple, dans un .CPP je tape , par exemple : <Declarateur> <NomObj et>
, (eventuellement suivi d'une initialisation) suivi d'un jeu de touches
pour, être précis 2.
La macro qui est lancée va lire la ligne sur laquelle je suis, extraire le
nom de <Declarateur> (qui peux être une déclaration quelconque : poin teur,
référence, classe, classe paramétrée ), puis avec le fichier en c ours
d'édition va déterminer le nom du header et ajouter cette nouvelle
déclaration de l'objet. Et va modifier le fichier courant en supprimant le
<Declateur>.
De même pour une fonction membre, mais là c'est un peu plus complexe, mais
dans la même optique, je tape une ligne et un raccourci, et c'a mouline à ma
place.
On Dec 9, 7:49 am, "Senhon" wrote:Moi aussi j'ai autour de moi une quantité de personnes qui
font du développement juste à titre alimentaire ( je ne veux
pas les accabler ). Du coup, il se contente très vite et
n'iront pas forcément se casser la tête ...
Peut-être le problème que certains (comme moi-même) apercoivent
avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
Tandis que devant la ligne de commande Unix, il faut bien
apprendre un peu. (Bien que j'ai connu quelques uns qui s'en
sortaient là aussi avec un strict minimum. Si on ne veut pas
apprendre, on n'apprend pas, quelque soit l'environement. Et
vice versa.)
On Dec 9, 7:49 am, "Senhon" <N...@Nul.Nul> wrote:
Moi aussi j'ai autour de moi une quantité de personnes qui
font du développement juste à titre alimentaire ( je ne veux
pas les accabler ). Du coup, il se contente très vite et
n'iront pas forcément se casser la tête ...
Peut-être le problème que certains (comme moi-même) apercoivent
avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
Tandis que devant la ligne de commande Unix, il faut bien
apprendre un peu. (Bien que j'ai connu quelques uns qui s'en
sortaient là aussi avec un strict minimum. Si on ne veut pas
apprendre, on n'apprend pas, quelque soit l'environement. Et
vice versa.)
On Dec 9, 7:49 am, "Senhon" wrote:Moi aussi j'ai autour de moi une quantité de personnes qui
font du développement juste à titre alimentaire ( je ne veux
pas les accabler ). Du coup, il se contente très vite et
n'iront pas forcément se casser la tête ...
Peut-être le problème que certains (comme moi-même) apercoivent
avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
Tandis que devant la ligne de commande Unix, il faut bien
apprendre un peu. (Bien que j'ai connu quelques uns qui s'en
sortaient là aussi avec un strict minimum. Si on ne veut pas
apprendre, on n'apprend pas, quelque soit l'environement. Et
vice versa.)
Bonjour,
J'utilise pour ma part l'IDE de visual studio en étant pas mal au
clavier, mais ça fait un bout de temps que je me dis que quelques
macros pourraient faciliter et accélérer encore ma rapidité de codage.
Sauf qu'à chaque fois, la barrière d'apprentissage et le temps de mise
en place sont un peu élevées, et du coup je n'ai fait que 2/3 macros,
pas plus, et très simples (mais pour info, mes macros peuvent appeler
un programme externe, donc si vraiment James veut réutiliser des
scripts écrit pour son shell, je pense que la bonne voie est de créer
une macro qui sauve la sélection courante dans un fichier, appèle le
script, puis remplace la sélection courante par le retour).
Je me dis que tes macros pourraient me servir, soit directemetn, soit
comme base d'inspiration. Pourrais-tu les rendre disponibles, ou
penses-tu qu'elles te sont trop spécifiques ?
Bonjour,
J'utilise pour ma part l'IDE de visual studio en étant pas mal au
clavier, mais ça fait un bout de temps que je me dis que quelques
macros pourraient faciliter et accélérer encore ma rapidité de codage.
Sauf qu'à chaque fois, la barrière d'apprentissage et le temps de mise
en place sont un peu élevées, et du coup je n'ai fait que 2/3 macros,
pas plus, et très simples (mais pour info, mes macros peuvent appeler
un programme externe, donc si vraiment James veut réutiliser des
scripts écrit pour son shell, je pense que la bonne voie est de créer
une macro qui sauve la sélection courante dans un fichier, appèle le
script, puis remplace la sélection courante par le retour).
Je me dis que tes macros pourraient me servir, soit directemetn, soit
comme base d'inspiration. Pourrais-tu les rendre disponibles, ou
penses-tu qu'elles te sont trop spécifiques ?
Bonjour,
J'utilise pour ma part l'IDE de visual studio en étant pas mal au
clavier, mais ça fait un bout de temps que je me dis que quelques
macros pourraient faciliter et accélérer encore ma rapidité de codage.
Sauf qu'à chaque fois, la barrière d'apprentissage et le temps de mise
en place sont un peu élevées, et du coup je n'ai fait que 2/3 macros,
pas plus, et très simples (mais pour info, mes macros peuvent appeler
un programme externe, donc si vraiment James veut réutiliser des
scripts écrit pour son shell, je pense que la bonne voie est de créer
une macro qui sauve la sélection courante dans un fichier, appèle le
script, puis remplace la sélection courante par le retour).
Je me dis que tes macros pourraient me servir, soit directemetn, soit
comme base d'inspiration. Pourrais-tu les rendre disponibles, ou
penses-tu qu'elles te sont trop spécifiques ?
Le 09-12-2009, James Kanze a écrit :
> On Dec 9, 7:49 am, "Senhon" wrote:
>> Moi aussi j'ai autour de moi une quantité de personnes qui
>> font du développement juste à titre alimentaire ( je ne veux
>> pas les accabler ). Du coup, il se contente très vite et
>> n'iront pas forcément se casser la tête ...
> Peut-être le problème que certains (comme moi-même) apercoivent
> avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
> Tandis que devant la ligne de commande Unix, il faut bien
> apprendre un peu. (Bien que j'ai connu quelques uns qui s'en
> sortaient là aussi avec un strict minimum. Si on ne veut pas
> apprendre, on n'apprend pas, quelque soit l'environement. Et
> vice versa.)
Après avoir vainement essayé de trouver quelque chose qu'un
envionnement permettrait de faire, et pas l'autre, on arrive
à quelque chose de plus connu: la courbe d'apprentissage,
qui trace la productivité vs l'investissement.
Les outils de la famille Unix ont une longue expérience,
et une approche forte productivité mais fort investissement.
Le chercher/remplacer d'un éditeur vs sed + regexp + |,
ça n'a rien à voir en terme de courbes.
Et même si les Unix-like offre de plus en plus d'outils
à accès facile, les outils fort investissement/forte prod
restent la base du système, et très accessibles.
Et les docs présentent souvent les différentes façons
de faire.
Mais des trucs se perdent (la page de man de gnumeric
n'indique pas comment imprimer une page sans l'ouvrir).
Un autre point fort, c'est la stabilité des outils,
donc la pérennité des apprentissages.
Dans le monde Win*, je ne sais pas trop. Je n'ai pas
regardé serieusement depuis des années. Il y a eut l'époque
des évolutions permanentes: COM, DCOM, VB. J'ai eut
l'impression que VB devenait la "glue" standart. Je ne
sais si c'est encore le cas.
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.http://www.inega lites.fr/spip.php?article1&id_mot0
Le 09-12-2009, James Kanze <james.ka...@gmail.com> a écrit :
> On Dec 9, 7:49 am, "Senhon" <N...@Nul.Nul> wrote:
>> Moi aussi j'ai autour de moi une quantité de personnes qui
>> font du développement juste à titre alimentaire ( je ne veux
>> pas les accabler ). Du coup, il se contente très vite et
>> n'iront pas forcément se casser la tête ...
> Peut-être le problème que certains (comme moi-même) apercoivent
> avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
> Tandis que devant la ligne de commande Unix, il faut bien
> apprendre un peu. (Bien que j'ai connu quelques uns qui s'en
> sortaient là aussi avec un strict minimum. Si on ne veut pas
> apprendre, on n'apprend pas, quelque soit l'environement. Et
> vice versa.)
Après avoir vainement essayé de trouver quelque chose qu'un
envionnement permettrait de faire, et pas l'autre, on arrive
à quelque chose de plus connu: la courbe d'apprentissage,
qui trace la productivité vs l'investissement.
Les outils de la famille Unix ont une longue expérience,
et une approche forte productivité mais fort investissement.
Le chercher/remplacer d'un éditeur vs sed + regexp + |,
ça n'a rien à voir en terme de courbes.
Et même si les Unix-like offre de plus en plus d'outils
à accès facile, les outils fort investissement/forte prod
restent la base du système, et très accessibles.
Et les docs présentent souvent les différentes façons
de faire.
Mais des trucs se perdent (la page de man de gnumeric
n'indique pas comment imprimer une page sans l'ouvrir).
Un autre point fort, c'est la stabilité des outils,
donc la pérennité des apprentissages.
Dans le monde Win*, je ne sais pas trop. Je n'ai pas
regardé serieusement depuis des années. Il y a eut l'époque
des évolutions permanentes: COM, DCOM, VB. J'ai eut
l'impression que VB devenait la "glue" standart. Je ne
sais si c'est encore le cas.
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.http://www.inega lites.fr/spip.php?article1&id_mot=130
Le 09-12-2009, James Kanze a écrit :
> On Dec 9, 7:49 am, "Senhon" wrote:
>> Moi aussi j'ai autour de moi une quantité de personnes qui
>> font du développement juste à titre alimentaire ( je ne veux
>> pas les accabler ). Du coup, il se contente très vite et
>> n'iront pas forcément se casser la tête ...
> Peut-être le problème que certains (comme moi-même) apercoivent
> avec les IDE, c'est qu'ils permettent ce genre de dévelopement.
> Tandis que devant la ligne de commande Unix, il faut bien
> apprendre un peu. (Bien que j'ai connu quelques uns qui s'en
> sortaient là aussi avec un strict minimum. Si on ne veut pas
> apprendre, on n'apprend pas, quelque soit l'environement. Et
> vice versa.)
Après avoir vainement essayé de trouver quelque chose qu'un
envionnement permettrait de faire, et pas l'autre, on arrive
à quelque chose de plus connu: la courbe d'apprentissage,
qui trace la productivité vs l'investissement.
Les outils de la famille Unix ont une longue expérience,
et une approche forte productivité mais fort investissement.
Le chercher/remplacer d'un éditeur vs sed + regexp + |,
ça n'a rien à voir en terme de courbes.
Et même si les Unix-like offre de plus en plus d'outils
à accès facile, les outils fort investissement/forte prod
restent la base du système, et très accessibles.
Et les docs présentent souvent les différentes façons
de faire.
Mais des trucs se perdent (la page de man de gnumeric
n'indique pas comment imprimer une page sans l'ouvrir).
Un autre point fort, c'est la stabilité des outils,
donc la pérennité des apprentissages.
Dans le monde Win*, je ne sais pas trop. Je n'ai pas
regardé serieusement depuis des années. Il y a eut l'époque
des évolutions permanentes: COM, DCOM, VB. J'ai eut
l'impression que VB devenait la "glue" standart. Je ne
sais si c'est encore le cas.
Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.http://www.inega lites.fr/spip.php?article1&id_mot0
> Un cas simple, dans un .CPP je tape , par exemple : <Declarateur> <NomO bjet>
> , (eventuellement suivi d'une initialisation) suivi d'un jeu de touches
> pour, être précis 2.
> La macro qui est lancée va lire la ligne sur laquelle je suis, extrai re le
> nom de <Declarateur> (qui peux être une déclaration quelconque : po inteur,
> référence, classe, classe paramétrée ), puis avec le fichier en cours
> d'édition va déterminer le nom du header et ajouter cette nouvelle
> déclaration de l'objet. Et va modifier le fichier courant en supprima nt le
> <Declateur>.
> De même pour une fonction membre, mais là c'est un peu plus complex e, mais
> dans la même optique, je tape une ligne et un raccourci, et c'a mouli ne à ma
> place.
J'utilise pour ma part l'IDE de visual studio en étant pas mal au
clavier, mais ça fait un bout de temps que je me dis que quelques
macros pourraient faciliter et accélérer encore ma rapidité de coda ge.
Sauf qu'à chaque fois, la barrière d'apprentissage et le temps de mis e
en place sont un peu élevées,
et du coup je n'ai fait que 2/3 macros,
pas plus, et très simples (mais pour info, mes macros peuvent appeler
un programme externe, donc si vraiment James veut réutiliser des
scripts écrit pour son shell, je pense que la bonne voie est de créer
une macro qui sauve la sélection courante dans un fichier, appèle le
script, puis remplace la sélection courante par le retour).
Je me dis que tes macros pourraient me servir, soit directemetn, soit
comme base d'inspiration. Pourrais-tu les rendre disponibles, ou
penses-tu qu'elles te sont trop spécifiques ?
> Un cas simple, dans un .CPP je tape , par exemple : <Declarateur> <NomO bjet>
> , (eventuellement suivi d'une initialisation) suivi d'un jeu de touches
> pour, être précis 2.
> La macro qui est lancée va lire la ligne sur laquelle je suis, extrai re le
> nom de <Declarateur> (qui peux être une déclaration quelconque : po inteur,
> référence, classe, classe paramétrée ), puis avec le fichier en cours
> d'édition va déterminer le nom du header et ajouter cette nouvelle
> déclaration de l'objet. Et va modifier le fichier courant en supprima nt le
> <Declateur>.
> De même pour une fonction membre, mais là c'est un peu plus complex e, mais
> dans la même optique, je tape une ligne et un raccourci, et c'a mouli ne à ma
> place.
J'utilise pour ma part l'IDE de visual studio en étant pas mal au
clavier, mais ça fait un bout de temps que je me dis que quelques
macros pourraient faciliter et accélérer encore ma rapidité de coda ge.
Sauf qu'à chaque fois, la barrière d'apprentissage et le temps de mis e
en place sont un peu élevées,
et du coup je n'ai fait que 2/3 macros,
pas plus, et très simples (mais pour info, mes macros peuvent appeler
un programme externe, donc si vraiment James veut réutiliser des
scripts écrit pour son shell, je pense que la bonne voie est de créer
une macro qui sauve la sélection courante dans un fichier, appèle le
script, puis remplace la sélection courante par le retour).
Je me dis que tes macros pourraient me servir, soit directemetn, soit
comme base d'inspiration. Pourrais-tu les rendre disponibles, ou
penses-tu qu'elles te sont trop spécifiques ?
> Un cas simple, dans un .CPP je tape , par exemple : <Declarateur> <NomO bjet>
> , (eventuellement suivi d'une initialisation) suivi d'un jeu de touches
> pour, être précis 2.
> La macro qui est lancée va lire la ligne sur laquelle je suis, extrai re le
> nom de <Declarateur> (qui peux être une déclaration quelconque : po inteur,
> référence, classe, classe paramétrée ), puis avec le fichier en cours
> d'édition va déterminer le nom du header et ajouter cette nouvelle
> déclaration de l'objet. Et va modifier le fichier courant en supprima nt le
> <Declateur>.
> De même pour une fonction membre, mais là c'est un peu plus complex e, mais
> dans la même optique, je tape une ligne et un raccourci, et c'a mouli ne à ma
> place.
J'utilise pour ma part l'IDE de visual studio en étant pas mal au
clavier, mais ça fait un bout de temps que je me dis que quelques
macros pourraient faciliter et accélérer encore ma rapidité de coda ge.
Sauf qu'à chaque fois, la barrière d'apprentissage et le temps de mis e
en place sont un peu élevées,
et du coup je n'ai fait que 2/3 macros,
pas plus, et très simples (mais pour info, mes macros peuvent appeler
un programme externe, donc si vraiment James veut réutiliser des
scripts écrit pour son shell, je pense que la bonne voie est de créer
une macro qui sauve la sélection courante dans un fichier, appèle le
script, puis remplace la sélection courante par le retour).
Je me dis que tes macros pourraient me servir, soit directemetn, soit
comme base d'inspiration. Pourrais-tu les rendre disponibles, ou
penses-tu qu'elles te sont trop spécifiques ?
On 10 déc, 12:49, Marc Boyer wrote:Le 09-12-2009, James Kanze a écrit :
Après avoir vainement essayé de trouver quelque chose qu'un
envionnement permettrait de faire, et pas l'autre, on arrive
à quelque chose de plus connu: la courbe d'apprentissage,
qui trace la productivité vs l'investissement.
Quand tu parles de cette courbe, tu penses aux Unixes, a Linux ou a
Posix? Parce que l'ecriture de script _portable_ utilisant ses outils
est loin d'etre simple. Perso je me suis limite a Posix + gmake.
Et même si les Unix-like offre de plus en plus d'outils
à accès facile, les outils fort investissement/forte prod
restent la base du système, et très accessibles.
Mais pas toujours portable.
Il y a souvent des compromis a faire comme
bash, gmake, gawk etc... ce qui revient peut-etre a dire que GNU est
entrain de propager son "standard". En 17 ans de Linux, je me suis
souvent senti "perdu" dans les options des memes outils sur SunOs ou
HPUX par exemple. Certe la philosophie reste la meme, mais ta courbe
n'est pas si "droite" que ca.
On 10 déc, 12:49, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid> wrote:
Le 09-12-2009, James Kanze <james.ka...@gmail.com> a écrit :
Après avoir vainement essayé de trouver quelque chose qu'un
envionnement permettrait de faire, et pas l'autre, on arrive
à quelque chose de plus connu: la courbe d'apprentissage,
qui trace la productivité vs l'investissement.
Quand tu parles de cette courbe, tu penses aux Unixes, a Linux ou a
Posix? Parce que l'ecriture de script _portable_ utilisant ses outils
est loin d'etre simple. Perso je me suis limite a Posix + gmake.
Et même si les Unix-like offre de plus en plus d'outils
à accès facile, les outils fort investissement/forte prod
restent la base du système, et très accessibles.
Mais pas toujours portable.
Il y a souvent des compromis a faire comme
bash, gmake, gawk etc... ce qui revient peut-etre a dire que GNU est
entrain de propager son "standard". En 17 ans de Linux, je me suis
souvent senti "perdu" dans les options des memes outils sur SunOs ou
HPUX par exemple. Certe la philosophie reste la meme, mais ta courbe
n'est pas si "droite" que ca.
On 10 déc, 12:49, Marc Boyer wrote:Le 09-12-2009, James Kanze a écrit :
Après avoir vainement essayé de trouver quelque chose qu'un
envionnement permettrait de faire, et pas l'autre, on arrive
à quelque chose de plus connu: la courbe d'apprentissage,
qui trace la productivité vs l'investissement.
Quand tu parles de cette courbe, tu penses aux Unixes, a Linux ou a
Posix? Parce que l'ecriture de script _portable_ utilisant ses outils
est loin d'etre simple. Perso je me suis limite a Posix + gmake.
Et même si les Unix-like offre de plus en plus d'outils
à accès facile, les outils fort investissement/forte prod
restent la base du système, et très accessibles.
Mais pas toujours portable.
Il y a souvent des compromis a faire comme
bash, gmake, gawk etc... ce qui revient peut-etre a dire que GNU est
entrain de propager son "standard". En 17 ans de Linux, je me suis
souvent senti "perdu" dans les options des memes outils sur SunOs ou
HPUX par exemple. Certe la philosophie reste la meme, mais ta courbe
n'est pas si "droite" que ca.
Et puis les débogueurs que je connaissais ne montraient pas d'historique.
Souvent, la question c'est "pourquoi cette var vaut ça ?", et tu remontes
le temps. En affichant les variables en console, la console se souvient.
De plus, en ce qui concerne les fuites mémoires,valgrindest
bien plus efficace que de suivre pas à pas le débogueur.
C'est surement vrai pour les cas "d'ecole". Perso, j'ai rapidement
atteint les limites de valgrind, des que ton programme manipule qques
100MB de data allouee dynamiquement, il devient beaucoup trop lent (x
1000) et trop gourmand (pas de resultat du tout sur une machine avec 4
GB). Je m'en sers surtout pour debugger les tests unitaires, mais en
conditions reelles, j'utilise d'autres techniques plus efficace...
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Il serait surtout tant de decrire la richesse d'un pays par deciles et
plus "en moyenne". La moyenne masque les inegalites croissantes avec
les 10% "les plus riches" qui arrivent a faire augmenter la moyenne
nationale malgre un appauvrissement des 50% "les plus pauvres"...
Et puis les débogueurs que je connaissais ne montraient pas d'historique.
Souvent, la question c'est "pourquoi cette var vaut ça ?", et tu remontes
le temps. En affichant les variables en console, la console se souvient.
De plus, en ce qui concerne les fuites mémoires,valgrindest
bien plus efficace que de suivre pas à pas le débogueur.
C'est surement vrai pour les cas "d'ecole". Perso, j'ai rapidement
atteint les limites de valgrind, des que ton programme manipule qques
100MB de data allouee dynamiquement, il devient beaucoup trop lent (x
1000) et trop gourmand (pas de resultat du tout sur une machine avec 4
GB). Je m'en sers surtout pour debugger les tests unitaires, mais en
conditions reelles, j'utilise d'autres techniques plus efficace...
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Il serait surtout tant de decrire la richesse d'un pays par deciles et
plus "en moyenne". La moyenne masque les inegalites croissantes avec
les 10% "les plus riches" qui arrivent a faire augmenter la moyenne
nationale malgre un appauvrissement des 50% "les plus pauvres"...
Et puis les débogueurs que je connaissais ne montraient pas d'historique.
Souvent, la question c'est "pourquoi cette var vaut ça ?", et tu remontes
le temps. En affichant les variables en console, la console se souvient.
De plus, en ce qui concerne les fuites mémoires,valgrindest
bien plus efficace que de suivre pas à pas le débogueur.
C'est surement vrai pour les cas "d'ecole". Perso, j'ai rapidement
atteint les limites de valgrind, des que ton programme manipule qques
100MB de data allouee dynamiquement, il devient beaucoup trop lent (x
1000) et trop gourmand (pas de resultat du tout sur une machine avec 4
GB). Je m'en sers surtout pour debugger les tests unitaires, mais en
conditions reelles, j'utilise d'autres techniques plus efficace...
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Il serait surtout tant de decrire la richesse d'un pays par deciles et
plus "en moyenne". La moyenne masque les inegalites croissantes avec
les 10% "les plus riches" qui arrivent a faire augmenter la moyenne
nationale malgre un appauvrissement des 50% "les plus pauvres"...