human
Comment le premier codage informatique a-t-il été "écrit" s'il n'y avait pas de "langage" pour l'écrire auparavant ? J'ai une compréhension de base du codage mais je ne peux pas comprendre comment les premières langues ont été écrites sans utiliser une langue préexistante. Explique comme si j'avais cinq ans.
gpt
Les langages informatiques ont différents niveaux. Il existe des langages de haut niveau tels que C#, Java et Visual Basic. Il existe des langages de niveau moyen comme le C et des langages de bas niveau comme l'assemblage et le code machine. Plus le niveau du langage est élevé, plus la programmation est générique et en général le langage est plus facile à lire par un être humain. Plus le niveau est bas, plus il est spécifique à des instructions spécifiques à l'ordinateur. Par exemple , en basic , vous pourriez avoir la ligne : X = X+1 Dans ce cas , X est une variable de programmation qui représente une zone en mémoire mais l' utilisateur ne s'en soucie pas particulièrement car le langage la gère . En langage assembleur , vous pourriez avoir quelque chose comme : Extraire la valeur de l' emplacement mémoire 25 et la mettre dans le registre A Incrémenter la valeur dans le registre A Repousser la valeur du registre A vers l' emplacement mémoire 25 . Un registre est une partie interne du CPU (processeur) où il peut faire la manipulation des valeurs de données. Différents processeurs ont différents nombres de registres. Par exemple, un processeur I7 possède 8 registres en mode 32 bits et 16 registres en mode 64 bits. Le langage d'assemblage a des traductions de code binaire réelles pour chacune des commandes. Supposons que le déplacement depuis la mémoire est la commande 1 , le déplacement vers la mémoire est la commande 2 et l'incrémentation d'un registre est la commande 3 . Le programme ressemblerait alors à quelque chose comme (dans un ordinateur 8 bits): 01 25 0A (déplacer l'adresse mémoire 25 vers le registre A 03 0A (registre d'incrémentation) 02 0A 25 (déplacer le registre A vers l'adresse 25) Le programme ressemblerait alors à : 01 25 0A 03 0A 02 0A 25 Pour entrer cela dans un ordinateur primitif , vous auriez un ensemble de commutateurs pour l' adresse , et un autre ensemble de commutateurs pour ce que la mémoire sera réglée , et un bouton d' écriture . réglez les commutateurs de mémoire sur l'adresse actuelle que vous programmez, disons 00 au début, puis vous définiriez les commutateurs suivants sur 01, et appuyez sur le bouton "écrire". Ensuite, vous réglez le commutateur d'adresse sur 01, le commutateur de données sur 25 , appuyez sur " écrire " et continuez dans le programme . Les nombres à deux chiffres représentent des nombres hexadécimaux de 0 à 15 qui sont représentés par 0 à 9 puis A à F. 25 représenterait 00100101 en binaire . Un 0 serait un interrupteur vers le bas et un 1 serait un interrupteur vers le haut Une fois que vous avez entré le programme , vous passeriez alors à l'exécution m ode, et vous définiriez le pointeur d'adresse sur 00 (ou 00000000 sur les commutateurs) et appuyez sur le bouton d'exécution. Le code langage assembleur / langage machine est écrit dans le CPU lui-même et s'appelle Microcode . Le microcode contrôle ensuite les sections de transistors à l'intérieur de l'ordinateur qui sont utilisées pour chaque instruction individuelle. Par exemple, pour extraire la valeur de données de l'emplacement 25, la CPU devra savoir envoyer une demande de données aux circuits de mémoire, et la réponse sera les données de cette adresse mémoire. Ensuite, il prendra ces données et les dirigera vers l'emplacement du registre, qui est la mémoire à l'intérieur du CPU. Les cycles de l'horloge sont ce qui maintient tout en synchronisation afin que le CPU sache que s'il envoie une demande de mémoire au cycle d'horloge 1, il peut attendre la réponse au cycle d'horloge 3, puis pousser les données dans le registre au cycle d'horloge 4. L'incrément peut prendre un cycle d'horloge, puis un autre cycle d'horloge pour dire à la mémoire d'attendre des données allant à l'emplacement 25 dans le cycle d'horloge 5, les données étant présentées à la mémoire dans le cycle d'horloge 6, puis c'est terminé.