Cliquez sur la couverture pour découvrir le sommaire et des extraits du magazine !
En savoir plus12,90 € TTC
« The power of assembly language and the convenience of... assembly language »
C’est en ces mots que le regretté Dennis Ritchie a un jour décrit le langage qu’il a lui-même créé en 1972 avec, par la suite, la participation de
Ken Thompson et Brian Kernighan que l’on peut aisément qualifier, tous trois, comme étant également les pères d’UNIX. Le C, ce langage de programmation impérative, procédurale et structurée est, ni plus, ni moins, pour
le monde de l’informatique, ce qu’est la roue pour le monde moderne.
En créant ce langage, Ritchie, Kernighan et Thompson ont littéralement, et au sens le plus strict du terme, changé le monde. Le C est aujourd’hui massivement utilisé et une quantité incroyable de langages de plus haut niveau se sont inspirés de sa syntaxe ou ont été influencés de manière importante par celle-ci. Nombreux sont ces langages qui sont, eux-mêmes, implémentés en C. De manière assez amusante, le C est ainsi de nos jours vu comme un langage de bas niveau (« bas », car proche du matériel), alors qu’il était considéré de haut niveau pendant longtemps (le bas niveau était l’assembleur).
Mais un langage n’est pas grand-chose sans compilateur associé et le projet GNU n’est certainement pas étranger à la popularité actuelle du C. L’ensemble de compilateurs GCC (pour GNU Compiler Collection) a été conçu initialement pour offrir une alternative en logiciel libre aux compilateurs C des systèmes UNIX. Depuis, GCC est devenu disponible pour un nombre incroyable de systèmes d’exploitation et est, pour certains d’entre eux, le compilateur intégré par défaut. La disponibilité de GCC en début des années 90 a également permis à un certain étudiant finlandais, Linus Torvalds, de débuter le développement d’un noyau de système d’exploitation entièrement écrit en C : Linux.
Vous l’aurez compris, le C, plus que tout autre langage est omniprésent, en particulier si vous êtes utilisateur de GNU/Linux. Noyau, environnement graphique X.org,
toolkit GTK+, serveur HTTP Apache, SGBD MySQL, éditeur Vim... Lorsque vous utilisez
GNU/Linux, vous ne pouvez faire autrement que d’utiliser quelque chose écrit en C.
Il en va de même, directement ou indirectement, pour les autres OS, votre smartphone, votre tablette, votre baladeur MP3, votre console de jeu...
En développant en C, vous utilisez non seulement un des plus fantastiques langages de programmation qui soit, mais faites également partie de cette histoire, initiée
par une poignée d’hommes. Comme l’a si bien dit Brian Kernighan, paraphrasant
Isaac Newton à propos du fait de se tenir sur les épaules des géants, nous nous
tenons tous sur celles de Dennis Ritchie...
La rédaction
p. 08 Introduction au langage C
p. 32 Un peu plus loin avec les macros
p. 38 Static, switch, et cætera
p. 46 Les règles d'aliasing strictes
p. 52 Jouons avec les bits
p. 60 Initiation à la programmation graphique en C avec GTK+
p. 80 Programmer avec les Enlightenment Foundation Libraries
p. 98 Utilisez Python dans vos applications C
p. 110 Internationaliser/régionaliser vos programmes en C
GNU/Linux Magazine s'adresse aux professionnels et aux particuliers désireux de mieux maîtriser les techniques et problématiques liées à la programmation et à l’utilisation de solutions open source. Tous les deux mois avec ses articles techniques, la publication couvre les thématiques suivantes : programmation système, algo, bas niveau, sécurité du code, développement web...
« The power of assembly language and the convenience of… assembly language »
C'est en ces mots que le regretté Dennis Ritchie a un jour décrit le langage qu'il a lui-même créé en 1972 avec, par la suite, la participation de Ken Thompson et Brian Kernighan que l'on peut aisément qualifier, tous trois, comme étant également les pères d'UNIX. Le C, ce langage de programmation impérative, procédurale et structurée est, ni plus, ni moins, pour le monde de l'informatique, ce qu'est la roue pour le monde moderne.
Même si elles ne font pas vraiment partie du langage C à proprement parler, puisqu'elles appartiennent au préprocesseur, les macros sont des outils qui peuvent s'avérer fort pratiques.
Si votre projet prend de l'ampleur, qu'il risque d'être utilisé dans d'autres pays que le vôtre, il convient alors de présenter une interface dans la langue de l'utilisateur. Pour cela, il faut, entre autres, traduire tous les intitulés textes de votre programme. On dit que l'on « régionalise » l'application. Voyons quels sont les outils qui vont nous aider dans cette tâche...