Aide En Informatique
Latest Posts:

Pourquoi le langage C est il si populaire et pourquoi faut il l'apprendre?
Pourquoi le langage C est il si populaire et pourquoi faut il l'apprendre?

Pourquoi le C est incontournable en Coding et pourquoi si vous etes encore à vos débuts mieux vaut vraiment l'explorer et pourquoi meme si vous etes dejà un codeur senior, mieux vaut apprendre et comprendre aussi, je dis bien aussi le C?

Quand je vois les dev débutants, juniors, seniors et meme hyper experimentés proposés des langages autres que le langage C pour demarrer dans le coding en disant que c'est trop trop difficile et ne plus utilisé, ça me laisse juste rigolé, je ne dis pas qu'il faut absolument demarrer par le C et que le C est facile, absolument non, mais je veux dire simplement que si on reguarde bien, le langage le plus utilisé en absolu c'est le langage C et pourquoi?

Le langage C c'est le langage actuellement utilisé pour la programmation systhème, programmation sythème ça veut dire programmation plus proche du materiel, donc du hardware, par exemple c'est le langage utilisé dans:

Les systhèmes embarqués:

Le monde du digitale de nos jours c'est actuellement les systems embraqués, les microcontrlleurs (TV,Smartphones, frigo, montres, machine à lavée etc..) tous ces appareils sont munis des micro-controlleurs qui sont en fait des systhèmes embarqués (embbed system en anglais), tous ses instruments électroniques sont programmés en C, presque tous, le digital ne fonctionne uniquement parceque deux monde s'affrontend : software + hardware, certaines choses sont directement cablées dans le hardware, mais pour que nous utilisateurs on puissent utiliser cet hardware, il faut qu'il soit programmable, et du coup il faut une couche de code pour le rendre utile et cette couche de code est fait directement en C car C est plus proche du code machine et avec le langage C, on peut directement parlé en machine sans intermediaire comme par exemple un system d'exploitation, donc one to one quoi, on appelle cela Bar Metal programming et ça se fait de nos jours avec C presque uniquement, certe le langage Rust est entrain de prendre un peu de terrain, mais C reste le maitre dans ce domaine.

Sytème d'exploitation

Les système d'exploitation sont ecris presque tous en C, oui les gars, windows, linux, Mac, android etc.. le Kernel c' est à dire le coeur ou mieux le noyaux de ces systhèmes d'exploitation est écrit en C, san l'OS, les peripheries digitales seront presque inutilisables, oui inutilisable, c'est le systhème d'exploitation qui nous permet de communiquer avec le materiel, bref quand nous écrivons notre code dans des langages de programmation de haut niveau comme le java, c# python etc.., notre code doit s'interfacer à l'OS(systhème d'exploitation ou operating system en anglais), l'OS lui son moteur est ecrit en C car c'est facile en C d'attaquer le materiel ou hardware, justement le role du systhème d'exploitation c'est de faciliter à nos applications qu'on ecrit à travers divers langages de programmation, de communiquer avec le hardware, donc pour créer un OS, il faut faire du Bar metal programming du coup le C est la et vous guettes..

Les Drivers :

Vos peripheries digitales doivent communiquer avec le systhème d'exploitation pour que vous en tant que utilisateur puissier les utiliser, le constructeur de l'écran, de l'imprimante, de l'appareil photo et video integré à votre peripherie doit ecrire des bouts de codes compatibles avec chaque systhème d'exploitation afin d'indiquer au systhème d'exploitation en question comment communiquer avec le hardware, on appelle cela de drivers, et les drivers sont codés pour la plupart en C directement, rappellez vous, le C c'est bar metal programming

Les Bases de donnèes :

Oui, les BDD sont codée la plupart en C, implementer une application de gestion de base de donnèes comme par exemple Mysql, Postgress, Sql Server, Oracle, Sqlite etc.. demande d'y introduire beaucoup d'algorithme qui ont trait à la performance et la manipulation directe de la mémoire car qui a main direcetement sur la mémoire à la possibilité d'optimiser les choses, du coup le C est un bon candidat.

Les Jeux Video

Les moteurs de jeux video s'ils ne sont pas fait en C c'est en C++ rien à faire, absolument rien à faire car les jeux video sont gourmant, mais énormement gourmant en terme de resource mémoire, du coup il faut avoir les mains libre pour la gestion de la mémoire et ce n'est generalement que les langages comme le C qui donnent directement accès à la gestion de la mémoire.

Les langages de programmations de haut niveau :

Je mets juste cette image au dessus pour vous faire comprendre ce que je veux dire, pour creer un langage de programmation, on doit partir d'un autre langage de programmation, il n'y a pas de génération spontanée en langage de programmation, la création d'un langage de programmation c'est surtout la creation d'une autre application qu'on appelle Compilateur qui doit traduire ce nouveau langage de programmation en code machine comprehensible par la CPU, et presque tous les langages modernes de nos jours à la base ont leur compilateur ou les premier compilateur écrit en C, d'ailleur quand un auteur ou concepteur crée un langage, si vous reguardez très très bien au fond, vous trouverez que le compilateur est fait en C, oui les premiers compilateur de java etait fait en C, la JVM à savoir la machine virtuelle de java est fait certainement en C, il en est de meme pour le C# avec la CLR, la meme chose pour dart de flutter oui, le moteur de flutter à la fin c'est fait en C/C++, bref sans le C, beaucoup de langage de nos jours n'existerait meme pas, meme dans les blockchaines, par exemple la machine virtuelle de ethereum est ecrit en C ainsi de suite ainsi de suite.

En conclusion,  etre dev et ne pas avoir au moins compris le C c'est raté une experience enrichissante, il serait à mon humble avis souhaitable commencé sa vie de coding en partant du C, oui on ne pourra pas faire du web, du mobile, ou du desktop immediatement, mais comprendre la base de C, nous pose deja une bonne base, mais attention, C n'est pas immediat et simple et facile comme l'est python, ou meme javascript ou les langages à objet, C a sa complexité, du moins si vous ne commencez pas par C, pensez y à y retourner un jour ne serait ce que pour le decouvrir et le comprendre, pourquoi pas chercher à comprendre comment le C est cablé dans les hardware? ceci vous ouvrira grandement la tete.

je vous invites à lire ce livre de D.Deitel C How To Program.. c'est un chef d'oeuvre

Happy Coding.

 

 


Author: admin
21.01.2023, 20:42
Category: Other
Comments: 0
Views: 385
-

Share

Comments (0)
There are no comments yet.

Leave A Comment
processing...