Septembre / Octobre 2015

GNU/Linux Magazine HS 80

Langage C

Le guide pour apprendre à programmer en C en 5 jours !

En savoir plus

12,90 € TTC

Anciens Numéros

LIVRAISON OFFERTE en France Métropolitaine à partir de 50€
GNU/Linux Magazine 272

GNU/Linux Magazine 272

Novembre / Décembre 2024
9,90 €
GNU/Linux Magazine 271

GNU/Linux Magazine 271

Septembre / Octobre 2024
9,90 €
GNU/Linux Magazine 270

GNU/Linux Magazine 270

Juillet / Août 2024
9,90 €
GNU/Linux Magazine 269
9,90 €
GNU/Linux Magazine 268

GNU/Linux Magazine 268

Mars / Avril 2024
9,90 €
GNU/Linux Magazine 267

GNU/Linux Magazine 267

Janvier / Février 2024
9,90 €
GNU/Linux Magazine 266

GNU/Linux Magazine 266

Novembre / Décembre 2023
9,90 €
GNU/Linux Magazine 265

GNU/Linux Magazine 265

Septembre / Octobre 2023
9,90 €
SOMMAIRE :

Introduction

p. 06 Présentation du langage

Jour 1

p. 18 On se retrousse les manches

Jour 2

p. 34 Algorithmique

Jour 3

p. 48 Concepts avancés

Jour 4

p. 68 L'environnement

Jour 5

p. 84 Fonctionnalités

Bonus

p. 100 Améliorer son IHM

Préface :

Il est de la plupart des langages de programmation comme des modes. Ils surgissent, séduisent, puis s’estompent. Certains apportent cependant des avancées concrètes, que ce soit en terme d’originalité, de syntaxe, de lisibilité, de performances ou même d’approche.

En effet, la diversité des langages de programmation est phénoménale, à tel point que leur classification est toujours ardue et que distinguer au premier abord le langage de programmation le plus adapté à une problématique précise est une chimère. Et cela tombe bien, car comme nous le dirait Jean-Pierre Troll, les bons développeurs ne sont pas élevés en batterie, pensent par eux-mêmes et finissent toujours par trouver le langage qui leur correspond. L’esprit curieux s’enrichira en allant découvrir les nouveautés qui s’offrent à lui. Parce que la culture libre, c’est aussi cela.

Parmi ces langages de programmation, certains sortent du lot. On distingue en effet quelques perles rares qui sont devenues incontournables ; intemporels, ils traversent toutes les modes, et ont su devenir irremplaçables. Chacun d’entre eux a sa propre histoire et a su à un moment donné s’imposer : ils ont apporté quelque chose de plus, quelque chose qui manquait et qui a su faire la différence. Mais cela ne suffit pas à expliquer un succès. Un langage pérenne est un langage qui n’est pas enfermé dans son écosystème, qui sait aussi regarder ce qui se fait ailleurs, s’en inspirer pour s’améliorer, intégrer des nouveaux concepts, des nouvelles pratiques ou des nouvelles techniques apportées par tous les nouveaux langages qui percent au fil du temps. En bref, ils réussissent à évoluer tout en conservant leur esprit original. Il y a très peu de langages capables de prétendre à un tel statut. Et encore moins qui peuvent le prétendre depuis plus de quarante années. Le langage C est fait de ce bois. Un langage bien conçu à l’origine, s’inspirant du meilleur de ce qui se faisait à cette époque, conçu dans un but bien précis, remplissant un réel manque de l’époque et s’améliorant au fil des années tout en restant très proche de l’esprit qui a animé son créateur à l’origine.

En effet, les ordinateurs ont beaucoup changé depuis 40 ans, les pratiques de développement aussi, les concepts également. Si le langage C n’avait pas su s’adapter, il ne serait pas ce qu’il est aujourd’hui, c’est-à-dire l’un des langages les plus utilisés, l’un des plus appris aussi et l’un des plus appréciés. Pour présenter C en quelques lignes, on se contentera de dire qu’il s’agit d’un langage très proche du fonctionnement de la machine, mais capable de fonctionner quelle que soit l’architecture matérielle. Il permet par conséquent d’offrir d’excellentes performances, d’être déployé très aisément tout en exigeant beaucoup de rigueur de la part du développeur.

Sachant à quel point le monde de l’informatique est changeant, on peut tout de même affirmer avec certitude que le C restera pour les années à venir une valeur sûre, voire un passage obligé pour certains domaines, tels que la programmation temps réel ou embarquée, mais pas seulement. Peu importe si vous avez débuté votre carrière informatique il y a quarante ans ou si vous vous apprêtez à le faire, vous pouvez être certain qu’investir un peu de temps dans l’apprentissage de ce langage ne pourra en aucun cas être du temps perdu. Même si vous ne l’utilisez pas au quotidien, les concepts qu’ils portent ont inspiré de nombreux autres langages après lui.

Ce hors-série s’adresse à des développeurs débutants ou qui ont pratiqué d’autres langages. Il n’est pas forcément nécessaire d’avoir des notions d’algorithmique ou de maîtriser des concepts informatiques. Il se veut un guide pour vous accompagner dans la découverte du langage et de la programmation en 5 jours. Les l’introduction et les deux premiers jours vous permettront de découvrir les concepts de base, de vous familiariser avec les bases du langage. Le troisième jour va vous faire entrer dans les concepts les plus complexes à maîtriser lorsque l’on débute dans le langage. Les deux derniers jours vous permettront à la fois de manipuler ce que vous aurez appris précédemment, mais aussi d’apprendre à utiliser des fonctionnalités concrètes. En effet, il est utile d’apprendre un langage, mais il est encore plus utile d’apprendre ce que l’on peut faire avec : l’apprentissage du langage C en lui-même n’est qu’un moyen, pas un but.

Vous verrez ainsi que le langage C n’est qu’un outil permettant de réaliser des actions simples, outil sur lequel vous apprendrez à vous appuyer pour construire une application, en vous appuyant sur la bibliothèque standard de C ainsi que sur d’autres bibliothèques qui vous permettront de toucher à tout. Le fil rouge de ce hors-série sera la construction d’un jeu de Pendu. Il s’agit d’un projet simple à la base, qui permet de créer des interactions entre le logiciel et l’utilisateur, mais qui peut aussi être complexifié à souhait avec l’ajout de nombreuses fonctionnalités, dont la construction d’un dictionnaire de mots en lisant un fichier passé en paramètre (permettant ainsi de jouer seul) et la gestion d’un tableau des meilleurs scores rendu persistant (lorsque l’on quitte le logiciel et qu’on le redémarre, les meilleurs scores sont conservés).

Je vous souhaite une bonne lecture et un bon apprentissage et surtout, n’hésitez pas à pratiquer en même temps que vous lisez et à tenter vos propres expériences. Lancez-vous des défis, c’est le meilleur moyen de progresser !

Sébastien Chazallet

Le magazine de référence technique pour les développeurs sur systèmes open source et les ingénieurs R&D !

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...

C : la préface du guide pour apprendre à programmer avec ce langage
GNU/Linux Magazine n°80

Il est de la plupart des langages de programmation comme des modes. Ils surgissent, séduisent, puis s'estompent. Certains apportent cependant des avancées concrètes, que ce soit en terme d'originalité, de syntaxe, de lisibilité, de performances ou même d'approche. En effet, la diversité des langages de programmation est phénoménale, à tel point que leur classification est toujours ardue et que distinguer au premier abord le langage de programmation le plus adapté à une problématique précise est une chimère. Et cela tombe bien, car comme nous le dirait Jean-Pierre Troll, les bons développeurs ne sont pas élevés en batterie, pensent par eux-mêmes et finissent toujours par trouver le langage qui leur correspond. L'esprit curieux s'enrichira en allant découvrir les nouveautés qui s'offrent à lui. Parce que la culture libre, c'est aussi cela.

Jour 5 - Fonctionnalités
GNU/Linux Magazine n°80

Nous pouvons sans risque dire que depuis hier, nous maîtrisons suffisamment le C pour aller nous aventurer sur des terres inconnues. Certes nous ne savons pas tout. Nous n'avons pas vu l'intégralité de la bibliothèque standard ou toutes les finesses que la grammaire de C permet. Mais c'est volontaire. On ne va pas perdre de temps à montrer à quel point le langage C permet d'écrire des choses étranges qui ne font pas ce à quoi l'on pourrait s'attendre ou discuter sur les bénéfices de telle ou telle optimisation. Nous sommes là pour découvrir le C et ce qui fait qu'un langage est efficace, c'est ce que l'on peut faire avec. Alors assez avec le langage lui-même et plongeons la tête dans des problématiques concrètes : le temps, l'aléatoire et la base de données avec SQLite sont au programme aujourd'hui.

Jour 4 - L'environnement
GNU/Linux Magazine n°80

Aujourd'hui est un jour à marquer d'une croix blanche. Avant midi, nous aurons écrit un programme du pendu incomplet, mais fonctionnel ! C'est la récompense tant attendue après trois jours livrés corps et âme dans la tempête de la découverte du C. Ce sera en tous les cas le thème majeur de la première partie, parce que pour la suite, on va introduire une amélioration importante : aller chercher le nom d'un fichier en argument, aller l'ouvrir et lire en son sein les mots à deviner. Cela nous permettra de passer au niveau supérieur en découvrant la gestion des arguments et les descripteurs de fichiers.

Ce magazine est intégralement disponible sur Linux Magazine Connect
© 2024 - LES EDITIONS DIAMOND