« Langage C/Introduction au C » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-toute les +toutes les)
m Robot : Remplacement de texte automatisé (-\b([Cc][’'])est +[àa] +dire\b +\1est-à-dire)
Ligne 52 :
Ces instructions sont stockées dans notre ordinateur sous la forme de bits, de petites données qui valent soit 0, soit 1. Ainsi, nos instructions ne sont rien d’autre que des suites de 0 et de 1, stockées dans notre ordinateur, et que notre processeur va interpréter comme étant des ordres à effectuer. Ces suites de zéros et un forment ce qu'on appelle le '''langage machine''', qui est difficile à comprendre pour un être humain, communiquer avec l'ordinateur uniquement par le biais de ce langage serait très complexe et extrêmement long. Autant vous dire que créer des programmes de cette façon revient à se tirer une balle dans le pied. En effet, pour maîtriser le langage binaire, il faudrait connaître par cœur des suites de 0 et de 1 totalement abstraites.
 
Cependant, de nombreux outils servent d'intermédiaire entre le langage humain, bien trop complexe pour une machine, et le langage machine, bien trop abstrait pour un humain. Ces nombreux outils sont les langages de programmation, ceux-ci permettent l'écriture de programmes dans un langage bien plus proche des langages humains tel que le français ou l'anglais, mais néanmoins très logique et structuré afin de permettre une compatibilité avec le langage machine. Grâce à ces langages de programmations, il est possible d'écrire nos programmes sous forme de textes et de nombres en [https://fr.wikipedia.org/wiki/Syst%C3%A8me_d%C3%A9cimal base décimale], c'est -à -dire avec des chiffres de 0 à 9. Il existe de très nombreux langages de programmations, le C est un de ces langages.
 
Malgré le fait que les langages de programmations soient extrêmement logiques et structurés, ils restent très loin du code binaire interprété par notre processeur. Ainsi, pour que celui-ci puisse suivre les instructions que nous avons programmées, il faut aussi avoir une sorte de traducteur qui fera le lien entre votre langage de programmation et le langage machine. Ce traducteur va ainsi traduire le texte écrit dans un langage de programmation évolué en une suite de zéros et d'un que le processeur peut comprendre. Ainsi vous pourrez commander votre processeur sans pour autant connaître le langage machine.
Ligne 556 :
Ce ne sont que quelques arguments parmi tant d'autres, mais se sont à mon goût des raisons plus que suffisantes pour justifier l'apprentissage de ce langage. Bien entendu, le C comporte aussi des défauts. On peut citer la tolérance aux comportements dangereux qui fait que le C demande beaucoup de rigueur pour ne pas tomber dans certains « pièges », le nombre restreint de concepts, qui impose de devoir recoder certains mécanismes qui existent nativement dans d’autres langages, etc. D’ailleurs, si votre but est de développer rapidement des programmes amusants, le C n’est pas du tout adapté à cet usage, et je vous encourage à vous tourner vers d’autres langages tel que le Python.
 
Le C possède aussi une caractéristique qui peut-être considérée à la fois comme un avantage et comme un défaut : c’est un langage de '''bas niveau'''. C'est -à -dire qu’il permet de programmer en étant proche de sa machine, en cherchant à vraiment comprendre ce que l’on fait. C’est à double tranchant : c’est plus difficile et plus long, mais on en apprend beaucoup sur sa machine et on a un grand contrôle sur ce que l’on fait. Cette notion de bas niveau est à opposer aux langages de '''haut niveau''', qui permettent de programmer en faisant abstraction d’un certain nombre de notions primordiales dans le cas d'un langage de bas niveau. Le développement est souvent plus facile et plus rapide, mais en contrepartie on voit moins bien le fonctionnement de la machine. Ces notions de haut et bas niveau sont néanmoins à nuancer, car elles dépendent du langage utilisé et du point de vue du programmeur.
 
Même si c'est un langage qui ne sera pas abordé au long de ce cours, il me semble important d'évoquer le C++, dont vous avez peut-être déjà entendu parler. C’est un langage de programmation qui a été inventé dans les années 1980 par Bjarne Stroustrup, un collègue de Dennis Ritchie, qui souhaitait rajouter des éléments au C. Bien que très ressemblants à l’époque de sa création, ces deux langages sont aujourd’hui très différents (on ne programme pas et on ne réfléchit pas de la même façon en C qu’en C++). Ne croyez pas qu’il y a un langage meilleur que l’autre. Ils sont simplement différents. Si d’ailleurs votre but est d’apprendre le C++, je vous encourage à le faire directement. Contrairement à ce que l’on pense et dit souvent, il est tout à fait possible d'apprendre le C++ sans passer par l'apprentissage du C.