Le Langage C pour débuter ?

Pourquoi le Langage C est-il un bon langage pour apprendre la programmation ?

Pour appréhender cette idée correctement il convient de comprendre qu’il n’existe pas de « bon » ou de « mauvais » langage. Un langage est un outil, à ce titre le marteau n’est pas supérieur à la clef à molette. On peut planter un clou avec une clef, mais c’est une mauvaise méthode. Le PHP est utilisé pour telles choses, le Javascript pour d’autres etc.

Un outil, une fonction

Partant de ce postulat, nous devrions apprendre à utiliser le langage dont nous avons besoin. Lorsque j’ai embrassé le métier d’administrateur système, après deux années à travailler en tant que développeur Web, j’ai dû réapprendre à utiliser correctement le Python, le Bash.

Mais lorsqu’on débute ?

Au départ, même si on a une petite idée du métier que l’on veut exercer, on ne sait pas trop par où commencer. Le développement Web peut nous perdre dans les technologies Front, les langages Back, ceux spécifiques aux applications mobiles, les langages compilés, les langages interprétés etc …

Le langage C c’est le papa de tout le monde ! Je ne saurais que trop vous conseiller, dans un premier temps, de faire vos premières armes sur le C, et ce pour plusieurs raisons :

  • Sa syntaxe est reprise par énormément de langages. En effet, PHP, Java, C++, JS.. Descendent du C pour sa syntaxe.

  • Vous apprendrez réellement comment la machine fonctionne. Je pense qu’il est important de comprendre certaines bases de bas niveau pour bien programmer. Lorsque nous écrivons des lignes de code, nous écrivons des ordres que la machine devra exécuter. Plus le langage est de bas niveau, plus le langage est proche du langage de la machine. Ce qui rend plus fastidieuse son écriture. Aujourd’hui il y a débat sur l’utilité de l’écriture en bas niveau, je ne me lancerai pas sur ce sujet aujourd’hui. Mais avoir une vue d’ensemble n’est jamais une mauvaise chose.

  • Vous ne serez pas perdu en passant par d’autres langages. Au contraire, apprendre à développer en C, va vous enseigner certaines règles d’écriture, de logique (« C » est très capricieux), que vous garderez lorsque vous développerez sur un langage plus permissif comme le PHP. J’adore PHP, mais il est tellement facile de faire n’importe quoi et que tout fonctionne en PHP, en C, c’est tout de suite beaucoup plus difficile.

  • Après, ça vous semblera simple. C’est comme l’entraînement de Sangoku et ses habits lestés ; lorsque vous n’aurez plus à vous souciez des pointeurs, des allocations mémoires, à réfléchir à quelle taille cette matrice a besoin, vous serez plus rapide, plus puissant… Bon peut-être pas, mais ça reste une manière très formatrice de débuter.

  • Vous pourriez aimer. Personnellement j’adore le C, je n’en fais jamais car je n’ai pas besoin de cet outil, mais dès que l’occasion se présente je suis ravi de redevenir fou avec ses pointeurs, ses erreurs de compilations.

Enseigné à l’université

En effet, très souvent les licence d’informatique l’intègre comme premier langage à apprendre dans leurs cursus, sachant pertinemment que très peu d’étudiants auront à l’utiliser dans un cadre professionnel à la fin.

Il y a tout de même des bémols

Premièrement la difficulté, c’est un langage complexe au départ et il ne faut pas se décourager. Ensuite vient son âge, le « C » est vieux, très vieux, il a été créé dans les années 70, et s’ il a été normalisé en 1989 (C89), il a tout de même très peu évolué. Pédagogiquement parlant, cela va poser problème quant à l’apprentissage des objets. Bien que le C possède la possibilité de créer des « Structures de données », ce n’est pas du tout un langage orienté objet. Or, les objets ont révolutionné la programmation depuis les années 80. Oui vous avez compris, « C » est déjà oldschool à l’époque du Grunge.

Pourtant, pour les grands débutants c’est une belle porte d’entrée

Ce n’est que mon avis, mais le « C » est formateur, de plus le cours d’Openclassroom est très bien fait (sans doute un des meilleurs cours du site sur les langages de programmation). On trouve énormément de documentation, d’ouvrages, sur le sujet, ce qui est tout de même très agréable. Essayez un jour d’apprendre le CLISP, vous comprendrez la frustration. Qu’importe le métier que vous déciderez d’exercer par la suite, ce que vous avez appris avec le C vous servira dans le Web, le Système, le Logiciel…

Ci-dessous un hello-world en C
                #include 
int main() {
   printf("Hello, World!");
   return 0;
}