Programmation Avancée sous Linux
GNU/Linux a envahi le monde des ordinateurs comme une tempête. Il fut un temps où les
utilisateurs d’ordinateurs étaient obligés de faire leur choix parmi des systèmes d’exploitation
et des applications propriétaires. Ils n’avaient aucun moyen de corriger ou d’améliorer ces
programmes, ne pouvaient pas regarder « sous le capot », et étaient souvent forcés d’accepter
des licences restrictives. GNU/Linux et d’autres systèmes open source ont changé cet état de
faits – désormais, les utilisateurs de PC, les administrateurs et les développeurs peuvent choisir
un environnement complet gratuit avec des outils, des applications et l’accès au code source.
Une grande partie du succès de GNU/Linux est liée à sa nature open source. Comme le
code source des programmes est disponible pour le public, tout un chacun peut prendre part au
développement, que ce soit en corrigeant un petit bogue ou en développant et distribuant une
application majeure complète. Cette opportunité a attiré des milliers de développeurs compétents
de par le monde pour contribuer à de nouveaux composants et améliorations pour GNU/Linux,
à un tel point que les systèmes GNU/Linux modernes peuvent rivaliser avec les fonctionnalités
de n’importe quel système propriétaire et les distributions incluent des milliers de programmes
et d’applications se répartissant sur plusieurs CD-ROM ou DVD.
Le succès de GNU/Linux a également avalisé la philosophie UNIX. La plupart des Interfaces
de Programmation d’Application (Application Programming Interfaces, API) introduites dans
les UNIX AT&T et BSD survivent dans Linux et constituent les fondations sur lesquelles sont
construits les programmes. La philosophie UNIX de faire fonctionner de concert beaucoup de
petits programmes orientés ligne de commande est le principe d’organisation qui rend GNU/Li-
nux si puissant. Même lorsque ces programmes sont encapsulés dans des interfaces graphiques
simples à utiliser, les commandes sous-jacentes sont toujours disponibles pour les utilisateurs
confirmés et les scripts.
Une application GNU/Linux puissante exploite la puissance de ces API et de ces com-
mandes au niveau de son fonctionnement interne. Les API GNU/Linux donnent accès à des
fonctionnalités sophistiquées comme la communication interprocessus, le multithreading et la
communication réseau hautes performances. Et beaucoup de problèmes peuvent être résolus
simplement en assemblant des commandes et des programmes existants au moyen de scripts.