Bonjour,
Bigre! Ma façon de m'exprimer ne doit vous convenir, pour récolter (de telles réponses!)une telle réponse! (#10)
Promis, juré, je ne sors plus des sentiers battus de ce forum...
Je redeviens un toutou docile qui ne posera qu'une seule question à la fois.
Sincères salutations.
La réponse de PieM ne me semble nullement offensante.
Il est effectivement difficile d'arbitrer entre "astuce" ou "particularité" et usage "normal" ou "conforme à la doc".
Le fait est que les Picaxes utilisent un BASIC spécifique, en particulier au niveau de l'évaluation des expressions.
Dans le cas cité, l'expression est normale et conforme à la doc Picaxe, mais "particulière" pour quelqu'un qui viendrait d'un autre BASIC, ce qui semble être votre cas.
Sur le fond, et s'agissant d'un BASIC interprété (faut-il expliquer ce terme ?) la comparaison de deux formulations d'une même expression peut conduire à différents constats :
- Constat N°1) les deux formulations sont strictement identiques. En fait, le pré-compilateur fourni le même P-code.
- Constat N°2) une des deux formulations utilise moins de mémoire que l'autre
- Constat N°3) une des deux formulations s'exécute plus rapidement
Dans de nombreuses situations, (notamment quand le code comprends des PAUSEs) la vitesse d'exécution n'est pas critique. Mais un Picaxe étant environ 1000 fois plus lent que le PIC qui le supporte, cet aspect peut prendre une grande importance.
Tant que le P-code tient dans la mémoire, il est en général inutile de chercher à optimiser la taille du p-code. Par contre, dès que le programme devient un peu complexe, il est assez fréquent de sortir le chausse-pieds pour faire rentrer tout ça dans le Picaxe choisi...
La taille du programme source n'a strictement aucune importance dans tous les cas. Par contre, IMHO, sa lisibilité est fondamentale pour différentes raisons :
- si vous souhaitez obtenir de l'aide, plus votre programme sera lisible, plus vous obtiendrez de conseils pertinents...
- si vous revenez sur votre code des mois ou des années plus tard, vous constaterez que ce qui vous semblait évident lors de l'écriture l'est beaucoup moins plus tard...
- l'expérience montre qu'un code très lisible est très souvent aussi très performant (en termes de taille comme de vitesse)
- pour des exemples spécialement parlants (et même si vous ne souhaitez plus lire les excellents conseils de notre ami PieM) recherchez sur le forum anglais les posts de Hippy : il y a effectivement de véritables "astuces" parfaitement documentées mais pas du tout triviales ! Bien souvent, il faut relire la doc trois fois pour comprendre comment ses formulations fonctionnent, mais le fait est que c'est souvent extrêmement brillant.
A titre d'exemple, une de ses toutes dernières propositions
http://www.picaxeforum.co.uk/showthread.php?30217-Precise-output-timing
Dans ce cas extrêmement spécifique, l'objectif n'est pas d'optimiser la vitesse, encore moins la taille du code, mais de stabiliser la vitesse d'exécution !
Et si on lit bien, on découvre une véritable astuce de programmation (pour le coup non documentée...)la vitesse d'exécution d'une commande dépends de l'endroit où elle se situe dans le programme !
Très peu en fait et donc négligeable la plupart du temps, ça peut devenir fondamental pour une application "time critical".
Toujours dans les publications récentes, voir
http://www.picaxeforum.co.uk/showthread.php?30192-Smart-picaxe-outdoor-light/page5 post #45 ainsi que les réactions de lbenson et newplumber qui suivent...
Je vous préviens : c'est du lourd. Mais si vous cherchez des "astuces", il y a de la matière...
Maintenant, libre à vous de participer au forum ou pas. Sachez que vous serez toujours le bienvenu.
Comme dans tout espace de convivialité, chacun peut avoir ses humeurs. Mais avec un peu de souplesse, les échanges sont la plupart du temps très pertinents et souvent aussi plutôt divertissants, voire humoristiques...