Besoin de conseil

Résolu/Fermé
Utilisateur anonyme - 29 déc. 2011 à 02:37
 Utilisateur anonyme - 29 déc. 2011 à 13:27
Bonjour,

Je ne souhaite pas créer mon langage de programmation je cherche juste une explication..
Je tient d'abord à préciser que j'ai lu déjà des livres sur le comment et le pourquoi mais je n'ai jamais trouver la réponse que je voulait.

Comment le C à t'il inventé ? Je suppose que cela vient du binaire si je ne me trompe pas ?

Je cite un passage de wikipedia :
"Bien que la notion de programme apparaisse progressivement au cours de la deuxième moitié du XIXe siècle, les premiers langages de programmation n'apparaissent qu'autour de 1950. Chacun pouvant créer son propre langage, il est impossible de déterminer le nombre total de langages existant à l'heure actuelle."

Chacun pouvant créer son propre langage ?? Comment cela ce passe t'il ?
Je me débrouille en mathématique et je ne sais pas pour autant comment m'y prendre..

J'espère que vous comprendrez ma question et que vous pourrez y répondre..

Merci d'avance

6 réponses

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
29 déc. 2011 à 13:08
Ce qu'il faut comprendre sur le fait que tout le monde peut créer son propre langage, c'est que tous les langages sont des traducteurs vers l'assembleur, hormis les langages interprétés, qui eux sont lus par un exécuteur.
C'est à dire que chaque langage va apporter une syntaxe, une manière de penser et d'écrire le programme, puis va ensuite le traduire en langage machine plus ou moins optimisé qui sera intégré dans un fichier compréhensible et exécutable par l'OS et le processeur.
Donc créer son propre langage revient à écrire un programme qui interprète les éléments syntaxique qu'il connait et les remplace par des éléments syntaxique que le processeur connait, lui-même étant un interpréteur matériel...
Le 1er langage inventé est donc le langage d'assemblage, qui permit d'écrire l'assembleur avec des mnémoniques, plus intelligibles par l'humain que des codes; Ce langage est directement converti en codes machines, en remplaçant simplement les mnémoniques et les noms de registres par les codes équivalents.
Ensuite une pléthore de langage furent inventés, tous de niveau supérieur au langage d'assemblage, pour en simplifier l'écriture...
2
BloodyAngel Messages postés 1479 Date d'inscription mardi 21 juin 2005 Statut Contributeur Dernière intervention 21 juin 2018 401
29 déc. 2011 à 07:51
Hello,
le C ne repose pas directement sur le binaire mais sur l'assembleur.
Le code C passe par un interpréteur et un compilateur de façon a générer le .exe

"Chacun pouvant créer son propre langage" signifie probablement qu'il n'y a pas de lois ni de règles pour réguler ça. Ca n'empêche pas que ce soit extrêmement difficile à réaliser.
1
Utilisateur anonyme
29 déc. 2011 à 12:56
Merci de ta réponse,

Ce que je comprend encore moins c'est qu'avant il n'y avait que du binaire non ? Comment ils ont fait alors pour créer un langage ?
0
Utilisateur anonyme
29 déc. 2011 à 13:10
Cela veut dire qu'il suffit de connaitre l'asm pour pouvoir créer son langage ? Et lex et yacc servent à compiler du code aussi, qu'elle est la différence peut il avoir entre le coder en asm et en lex&yacc ? Plus rapide je suppose.. Merci de ta réponse j'ai pu déjà approfondir mes connaissances.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
29 déc. 2011 à 13:25
Oui en quelque sorte, il suffit de maitriser l'asm pour pouvoir écrire sont propre langage, mais il faut vraiment le maitriser parfaitement tout de même !
Et tu peux même faire plus simple : rien n'empêche de créer une syntaxe dérivée d'un langage existant et d'écrire un programme qui converti ta syntaxe vers la syntaxe du langage d'origine pour ensuite utiliser son compilateur...
Quand à lex et yacc, de ce que je viens d'en lire, ce n'est qu'une sorte de langage de haut niveau limité à un domaine d'application, et n'ayant rien à voir avec l'asm...
0
Utilisateur anonyme
29 déc. 2011 à 13:27
Ok merci à tous de m'avoir éclairer sur mon petit problème :)
0