GNU/Linux Magazine Hors-série N°
Numéro
80

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

Temporalité
Septembre/Octobre 2015
Image v3
Le guide pour apprendre à programmer en C en 5 jours !
Article mis en avant

Résumé

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.

Dans ce numéro...


L'invention du langage C a été un des tournants de l'histoire informatique. Sans lui il n'y aurait probablement pas de GNU/Linux et donc, pas de GNU/Linux Magazine (ce qui est inimaginable, on est d'accord).Pourquoi ce langage est-il si important dans l'histoire de l'informatique ? Comment se différencie-t-il ? Quels sont ses concepts de base ? Et surtout, en 2015, est-ce que cela vaut encore la peine d'apprendre un tel langage ?Depuis son invention, ce langage continue à évoluer et à s'améliorer de manière continue, sans faire de bruit. Maintes fois copié, jamais égalé, il a vu et continuera de voir de nouveaux langages concurrents devenir à la mode puis passer de mode.
Entrer dans un nouveau langage n'est jamais chose simple. Alors, on va y aller progressivement. Les jours 1, 2 et 3 seront les jours clés dans votre apprentissage du C. Si vous y survivez, le reste vous paraîtra beaucoup plus simple. Le programme de ce jour consiste à mettre les mains dans le cambouis et à découvrir les concepts de base, la déclaration et l'utilisation des variables et à utiliser la bibliothèque standard.
L'algorithmique est l'art de résoudre une problématique par une succession d'instructions. De l'élégance, la simplicité et la performance de cette suite d'instructions résulte la qualité de l'algorithme. Le sujet principal du jour est l'introduction aux outils que propose C pour écrire des algorithmes et aux notions qu'ils recouvrent. Vous trouverez des conseils pratiques et saurez faire des choix simples, mais néanmoins éclairés. Comme cela s'y prête particulièrement, nous introduirons aussi les tableaux statiques et par conséquent les chaînes de caractères, de manière à compléter les connaissances acquises la veille.
Le principal enjeu de cet article consiste à présenter la notion des pointeurs, qui est une clé essentielle pour comprendre le langage C. Nous présenterons leur intérêt, dans la continuité de ce que nous avons déjà vu ainsi que ce qu'il faut savoir pour que cette notion ne reste pas confuse. Parce que sachez-le, si vous faites du C, vous serez obligé de maîtriser les pointeurs.Dans un second temps, nous allons tout naturellement voir ce que ces pointeurs nous permettent de faire : tableaux dynamiques, chaînes de caractères dynamiques, mais également structures.Il s'agit du dernier article qui présente le cœur du C et il est probablement le plus délicat et le plus important.
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.
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.
À la fin du cinquième jour, nous avons déjà une application qui fonctionne correctement et qui nous permet de jouer au Pendu, avec de nombreuses fonctionnalités supplémentaires : liste de mots lus dans un fichier, gestion des meilleurs scores sauvegardés en base de données, etc.Nous sommes maintenant capables de créer des algorithmes C simples, de manipuler des données atomiques ou structurées, mais aussi d'utiliser des bibliothèques plus complexes.En bonus, je vous propose de perfectionner cette application et de la faire passer à un niveau supérieur en lui ajoutant une IHM beaucoup plus adaptée à ce que nous avons vu jusqu'à présent.

Magazines précédents

Les derniers contenus premiums