IV) CONCLUSIONS

 

Voila, c'est tout pour cette fois... Je tiens tout de même à faire une ou deux remarques concernant la programmation utilisant les pointeurs...

Comme nous l'avons vu, les pointeurs permettent une utilisation plutôt pratique de la mémoire mais il y a des 'mais'...

  1. Même si une structure de liste chaînée (par exemple) peut sembler plus pratique qu'un tableau (en particulier dans les cas d'insertion d'éléments), l'accès à la liste chaînée est globalement beaucoup plus lent que l'accès à un élément de tableau ; ça peut parfois avoir son importance...
  2. La mise en oeuvre des pointeurs est relativement pénible car les bugs sont généralement assez vicieux ; je m'explique : Déréférencer un 'pointeur errant' ne provoque pas d'erreur à la compilation mais peut provoquer lors de l'exécution a peu près n'importe quoi depuis "no problemo" jusqu'à "même Ctrl-Alt-Suppr ne fonctionne plus"... ce qui peut conduire à des méchantes crises de nerfs quand un bug oublié oblige à re-booter pour la 15ème fois son PC (qui, rappelons-le, fait tout pour retarder au maximum le moment où on le fera travailler à grands renforts de 'memory test' et autres 'floppy seek'...). En résumé, les programmes utilisant les pointeurs sont globalement plus pénibles à débugger que les autres...

N'oubliez pas qu'il vaut mieux passer du temps à écrire ses algos sur du papier (en pseudo-code, comme dirait Legolas ;-) que directement sur la machine. Cette remarque générale s'applique à plus forte raison ici ; n'oubliez pas que perdre du temps sur le papier, c'est en gagner par la suite...

D'autre part, vous n'avez découvert dans cet article que la partie visible de l'iceberg... Le champ d'application des pointeurs est énorme (allez d'ailleurs faire un tour du coté des programmeurs en langage C... eux, les pointeurs, ils connaissent (ils n'ont d'ailleurs pas tellement le choix '-( ) (oulala, faut que je me calme avec les parenthèses, ça va finir par ressembler à du LISP;-)))

NOTE : En parlant du LISP, si vous comptez profiter de la série d'articles d'initiation au Scheme pour vous y mettre, la compréhension des listes chaînées vous permettra de moins 'nager' dans les listes du Scheme ... (pff... tant de disgressions pour en arriver là...!)

Au menu pour la prochaine fois : les arbres (si j'ai trouvé d'ici là :

A+ et d'ici là, pointez bien !

 

-=ð Arthur Accroc ð=-