précédent suivant haut Contents Index

JUSTIFICATION

Dans de nombreux cas, des programmes généraux existent pour traiter nos besoins (en particulier en bureautique). Mais dans les autres cas, il est nécessaire d'écrire un programme spécifique au problème donné. Quand le problème est complexe et nécessite un programme bien réfléchi et optimisé, on accepte d'y passer du temps si la durée de vie du programme sera suffisante. Or les matériels évoluent aujourd'hui plus vite que les logiciels. Un logiciel créé sur PC devra peut-être plus tard tourner sur une autre machine (Mac ou station Unix par exemple). La seule solution pour prévenir ce problème est d'utiliser un langage standardisé (C, Pascal, Fortran,...) et de se limiter aux instructions standard, en évitant toute instruction spécifique au compilateur. Malheureusement les éditeurs de compilateurs ne précisent pas toujours clairement ce qui est normalisé et ce qui ne l'est pas. Par exemple chez Borland, tous les langages "Turbo" possèdent une fonction "clrscr" qui efface l'écran, tous les exemples de la documentation s'en servent, mais malheureusement aucun autre compilateur ne la connaît. La seule solution est de regrouper les fonctions non standard dans un fichier séparé bien commenté, pour n'avoir à modifier que ce fichier lors d'un changement de matériel.

Actuellement, on demande aux programmes d'utiliser le graphique, les sorties alphanumériques ne nous suffisent plus. Or aucun langage n'a d'instructions graphiques normalisées. Seul X Windows permet de transférer des programmes graphiques sur des matériels différents (mais pas tous, actuellement, surtout sur les stations), et de plus il n'est pas encore figé (et pas très simple). La meilleure solution est de se créer une librairie graphique, que l'on adaptera aux matériels utilisés.

De plus les algorithmes graphiques sont de parfaits exemples pratiques des possibilités d'optimisation d'algorithmes, les méthodes employées pour l'optimisation s'appliquant évidement à bien d'autres cas.


précédent suivant haut Contents Index