* Joomla Angers
Joomla Angers
Article:
Ce sont les langages de programmation qui ravitaillent les bibliothèques logicielles les plus communes, que l'on appelle bibliothèques standards. C'est ainsi que si un programme opte pour le langage C et uniquement sa bibliothèque standard, il pourra être porté sans difficulté, simplement en le recompilant sur tous les environnements disposant d'un compilateur C (ce qui est le cas sur la quasi-totalité des systèmes d'exploitation existants). La portabilité d'un programme est logique car elle permet à ce dernier d'attirer une audience plus large. Le désagrément est qu'il faut se limiter à des bibliothèques communes, qui sont bien souvent pauvres comparativement à un environnement d'exécution particulier. Ainsi, les bibliothèques standards du C et du C++ ne connaissent pas le réseau, les processus légers ou encore les interfaces graphiques. D'où la mise sur pied de la norme POSIX, qui explique plusieurs fonctionnalités que doit produire un système UNIX, comme ses commandes de base et son interface de programmation. POSIX permet de faire des choses bien plus évoluées qu'en utilisant simplement les bibliothèques standard du C et C++. Ainsi, POSIX connaît le réseau, les processus légers et a des fonctionnalités de système temps réel. Par ailleurs, il en manque toujours une qui est largement utilisée de nos jours, l'interface graphique. C'est pour cette raison que des bibliothèques telles que Qt, GTK+ ou encore wxWidgets ont vu le jour. Mais ces dernières ne se focalisent pas sur l'interface graphique et proposent également une interface de programmation pour le réseau, l'ac aux fichiers ou encore la manipulation de chaîne de caractères. La portabilité d'un programme peut se réaliser à plusieurs niveaux. Aujourd'hui, les bibliothèques logicielles telles que POSIX ou Qt se bornent à la portabilité au niveau du code source. Mais il existe d'autre niveaux, comme celui au niveau du bytecode ou encore, mais plus rare, au niveau de l'exécutable. La portabilité au niveau du code source demande la disponibilité de l'interface de programmation sur tous les environnements d'exécution cibles. À ce moment, il est question de recompiler le code source avec les bonnes bibliothèques. La portabilité au niveau du code source s'adapte aussi aux langages interprétés, où cette fois-ci, c'est la disponibilité de l'interpréteur et de sa bibliothèque standard qui est nécessaire. Le bytecode se résume en un code intermédiaire, que l'on peut scruter comme « à moitié compilé » ou « pseudo-compilé ». Ce code n'est pas destiné à être exécuté directement par le système d'exploitation comme tout programme compilé.