Aide En Informatique
Latest Posts:

Comment crée t'on un langage de programmation et pourquoi le crée t'on?
Comment crée t'on un langage de programmation et pourquoi le crée t'on?

Comment crée t'on un langage de programmation et pourquoi le crée t'on? Et si un langage nait toujours à partir d'un autre langage de programmation, le premier langage est alors née comment et de qui?

Avant tout joyeux noel à tous et meme en ce jours de Noel on parle de coding lol ahahha..

J'ai repondu à une question hier dans un groupe de coding sur la creation des langages de programation (c'est une partie du coding qui me fascine beaucoup et j'ai eu l'occasion d'explorer et meme de créer mon propre langage de programmation juste pour enlever toutes mes doutes lol), beaucoup de dev m'ont ecrit inbox pour me faire de nombreuses questions donc j'ai pris la peine d'enumerer certaines au debut de ce post et je m'en vais de ce pas repondre à ces questions de maniere plus explicite.

La machine ou mieux toutes peripheries digitales comprennent une et une seule chose: le langage machine, dit en d'autres termes, les instructions fait de bit ou mieux encore les 1 et les 0 donc 111001110 etc.. en fait dans le monde de l' électronique, ce sont des signaux électriques/électroniques mais vu sous l'oeil d'un dev, ce ne sont que les 0 et les 1 et rien de plus donc utilisons les abstractions que mettent à disposition les électroniciens, pour voir tout ce que sait faire une machine digitale comme étant uniquement de la manipulation d'une suite d'instructions fait des 0 et des 1 .. voilà toutes les péripheries digitales comprennent et manipulent que des 1 et 0.

Quand je parles de peripheries digitales, je fais principalement allusion au processeur , ce qu'on appelle CPU car toutes les péripheries digitales que ce soit mobiles, desktop ou iot etc..sont dotées d'un processeur(quand on parle de microprocesseur voyez cela comme étant des processeurs pour faire simple lol).. le processeur c'est le coeur des machines digitales, c'est lui qui doit lire les instructions fait des 1 et 0 fournit par nos programmes et code(le fait d'écrire du code et donc de developper c'est de le traduire en 1 et 0 tout ce que vous faite chaque jours là en PHP, java, c#, C, python à la fin le but c'est d'arriver aux 1 et 0), et les executer pour realiser ce que notre programme doit faire, sans CPU, on ne peut pas techniquement manipuler une péripherie digitale..

Attention, chaque CPU a sa propre architecture, cela veut dire quoi? Tout simplement chaque fabriquant des CPU pendant la conception du CPU, fournit les instructions qui sont surportées par la CPU en question et ses instructions sont differentes de CPU à CPU comme quoi on peut avoir deux ordinateurs tous avec windows 10 par exemple mais chacun ayant son CPU different, cela veut dire que si tu ecris un code pour une machine, il faudra ré-ecrire le meme code de nouveau pour le faire fonctionner dans l'autre machine car elles ont les CPU differents donc chaque CPU accepte des instructions differentes par exemple pour additionner deux nombres avec la premiere CPU on peut avoir le suite de nombre binaire 1100 00011 1111 1010 pour ce CPU les 4 premiers bit 1100 veut dire addition( on appelle cela OpCode car chaque CPU a ses OpCode) et les autres sont les operandes etc.. mais pour l'autre CPU la meme serie de bit peut signifier plutot la multiplication et non l'addition car ils ont des interpretations differentes de la meme serie de bit..du coup si on resuissit a écrire un langage machine pour tel CPU, pour que cela fonctionne avec un autre CPU, il faudra ré-ecrire tout en suivant les OpCode de ce nouveau CPU.

Le decore etant planté on peut immédiatement comprendre que le premier langage à été celui d'ecrire le code directement en langage machine pour chaque processeur, tout est partit de là, l'informatique n'est pas née aujourdhui LOL..donc avant, l'unique moyen de faire parler la machine et le commander était d'écrire directement tout en langage machine donc 1000010000.. les tout premiers codeurs faisaient comme ca, il n'avait pas le choix Ahahah

Puis successivement, les choses ont evolué, quelqun a eut la magnifique idée de dire: mais les gars , écrire les 1 et 0 vraiment c'est la merde et une grosse galère lol.. pourquoi ne pas écrire quelque chose en langage plus humain? Au lieu par exemple d'ecrire 1100 1111 0011 pour signifier d'ajouter 1 à 2 pourquoi ne pas ecrire juste "Add 1 2" et convertir cela en 1100 1111 0011 de maniere automatique? Voilà d'ou nait le langage assembly.. donc ce dev(ou si vous voulez ces devs) a juste fait l'effort d'écrire un code universel en binaire donc avec les 1 et les 0, capable de lire la chaine "Add 1 2" et de le convertir en une serie d'instruction que le processeur peut directement comprendre, ce code universel a été appellé l'assembler, c'est en fait un compilateur du coup , quand on parle de création d'un langage, on est indirectement entrain de parler de la création d'un compilateur capable de transformer notre code qui n'est rien d'autre qu'une chaine de caractere ..en une serie de bit qui sont les instructions que comprennent les CPU.

Se basant sur un langage humain comme assembly, les dev successives ont crée d'autres compilateurs pour créer d'autres langages comme le C.. ainsi partant de l'assembly, on a crée un compilateur capable de convertir du code fait en C en code machine..puis du C, on a crée d'autres compilateurs capables de traduire par exemple du java, C++, c# etc en code machine etc.. du coup en allant dans ce sens.. de nos jours les compilateurs de java par exemple sont ecrient en java..mais le tout premier a coup sure était écrit en C, puis successivement, ils ont utilisé java pour écrire un compilateur en java plus optimisé lol ..on appelle cela "compilator boostraping" dans le jargon.

Retenez enfin qu'on ne crée par un langage juste pour le désir de le créer, on le crée pour un but precis et surtout dans l'optique d'aider et de faciliter la tache aux developpeurs pour accomplir une tache precise dans un domaine specifique.

PHP par exemple est écrit en langage C , c'est open source et publique sur github vous meme en tant que dev , vous pouvez y contribuer lol.. tout ce que vous tappez en PHP n'est qu'une chaine de caractere en C qui est tokenizer puis parser et compilé en C pour produire le code binaire, en fait, le concepteur de PHP a voulu éviter aux dev web, d'écrire de la Merde en C seulement pour rendre leur page dynamique LOL, en fait php c'est juste l'arbre qui cache la foret et forme donc une abstraction et l'écrire c'est indirectement faire du C.

Tous les langages sont ainsi, ils naissent pour un but, une mission précise prenons un autre exemple : SOLIDITY est née pour permettre aux dev de deployer du code dans une blockchaine à travers ce qu'on appelle smart contract, ce smart contract est uniquement executable par le compilateur et la machine virtuelle de solidity ecrit en C à coup sure et SOLIDITY apporte ses constraintes pour que le code ecrit puisse etre efficacement etre executé dans une blockchaine car une blockchain finctionne dans un reseau decentralisé et distribué uniquement.

J'esperes que ce pamphlet vous à fait passé un joyeux noel en coding lol

Abbonnez vous à notre blog https://itinnovdesign.com pour recevoir regulierement des articles sur le coding d'ailleur je vais faire un article des que possible sur le fonctionnement de la CPU avec vous dans un exercise facile à digerer et ainsi vous enlevez beaucoup de zones d'ombres

Happy coding


Author: admin
25.12.2022, 14:29
Category: Other
Comments: 0
Views: 446
-

Share

Comments (0)
There are no comments yet.

Leave A Comment
processing...