Coder en mou langage C

Fermé
Muh - 8 mai 2009 à 11:34
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 20 juin 2014 à 22:25
Bonjour,

Je code en dur souvent en langage C mais j'ai entendu dire qu'on pouvait coder en mou.
Est-ce que quelqu'un peut m'expliquer comment coder en mou en langage C car coder en dur des tableaux est parfois chiant je trouve.
J'aimerais aussi coder de l'hexadécimal imbriqué en mou.

Merci d'avance
A voir également:

34 réponses

pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010 27
13 mai 2009 à 18:37
Bonjour, on pourrait voir un échanctillon d'hexadécimmal imbriqué?

Qu'est-ce que ça veut dire "imbriqué"?

Voilà de l'hexadécimal: Ox DF AE 35 20 5A; cela donne quoi en "imbriqué" et ça sert à quoi?

pont

Dites-moi aussi si vous arrivez à faire des boucles imbriquées en C, ce sera une bonne indication....
Et aussi si vous avez déjà vu une reliure spirale...
0
Le langage C est un langage de haut niveau mais il peut faire des manip en bas niveau...Un truc ainsi, mais c'est sûr, le langage C est de haut niveau, si vous voulez une preuve faudra que je passe mon temps à scanner ma feuille si je la retrouve, mais le langage C, c'est sûr, c'est du haut niveau, l'assembleur est de bas niveau (langage machine)
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 mai 2009 à 19:39
Salut,

Ben, il reste à convaincre Kernighan qui dit dans son livre "The C programming Language"
Je cite
C is a relatively "low level" language
0
Hey lami20j t'as encore supprimé un de mes posts sans raison là.
J'avais raison c'est tout et tu l'as supprimé pourtant je trouve ça dégueulasse, y a de l'abus de pouvoir dans l'air.
Si tu n'étais pas d'accord avec moi, il suffisait de m'expliquer le pourquoi et non de supprimer mon message !
0
Et bien cette personne c'est plantée, ou alors tu as mal lu.
Langage de haut niveau c'est quand le langage est simple de lecture pour l'humain, c'est le contraire du langage de bas niveau (langage machine) comme l'assembleur, où il y a des lignes très longues pour dire un bête truc !

"Un langage de haut niveau en informatique est un langage qui manipule des concepts étrangers à la machine, de manière à rendre l'écriture d'un programme plus proche de la pensée humaine, ou à ne pas se perdre dans trop de détails techniques.

On peut l'opposer au langage machine."
https://fr.wikipedia.org/wiki/Langage_de_haut_niveau

On peut dire comme j'ai appris en cours et comme on le voit sur le site ci-dessous que le langage C est le langage le + bas niveau des langages les + haut niveau tout simplement car on peut correspondre assez bien avec la machine, mais il est facile à lire.
https://www.developpez.net/forums/d55978/c-cpp/c/c-langage-niveau/
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > MasterB
13 mai 2009 à 20:29
Salut,

Malheureusement, je ne peux pas t'envoyer un Message Privé pour t'expliquer vu que tu postes en anonyme.
D'ailleurs tu ne peux pas non plus recevoir le mail après la suppression de message.

Et le faire ici, c'est hors sujet et on risque de polluer la discussion initiale.

Non, ce n'est ni dégueulasse ni abus de pouvoir.
Lit la charte de ce forum, respecte là et tu verras qu'il n'y a aura pas de suppression.

P.S.

Et ne me prends pas pour un imbécile s'il te plaît.
d'1 c'est de loin écriture SMS

Pour ta culture générale
Application de la phonétisation et du rébus typographique

On remplace des sons par une seule lettre en fonction de sa prononciation lorsque l'on énumère l'alphabet.
....... d'1 lang ..... d'1 lang.....
0
MasterB > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
13 mai 2009 à 20:41
Eeuh ouais j'vois vraiment pas le rapport ici, il ne parle pas de 1 comme toi tu le dis...
Si moi j'avais dis "ça va bi1" alors ok c'est du SMS, mais je n'ai jamais mis ça, peut-être un autre mais moi non.
Tout ce que j'ai fais c'est par exemple mettre : Ceci est 1 exemple au lieu de Ceci est un exemple.

Je ne prends pas pour un imbécile, c'est juste que tu divagues, c'est tout.
Moi j'ai juste dis que tu te trompais et c'est tout.
Sur plein de forums tu verras qu'on met 1 et non un, ça revient vraiment au même, mais tu veux juste embêter ton monde, c'est tout !

Je persiste à dire que c'est de l'abus de pouvoir pur et simple et inutile
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > MasterB
13 mai 2009 à 20:48
Re,

Ici on est sur CCM et pas sur plain des forums.

SI tu continues à écrire en SMS les messages seront supprimés que tu persistes à croire que c'est abus de pouvoir ou pas.
En revanche sûrement tu ferras preuve d'une obstination non justifiée et je ne perdrai plus mon temps pour t'expliquer ce que la charte CCM le dit déjà.


Je te laisse lire ce message et ensuite je vais supprimer cette discussion qui n'a rien à faire avec le message initial.

Bonne continuation.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
13 mai 2009 à 20:11
Re,

Et bien cette personne c'est plantée, ou alors tu as mal lu.
Ben, cette personne et le coauteur avec Ritchie, de la bible de langage C connue sous le nom de K&R, Ritchie étant le créateur de langage C.

Ton lien de developpez n'est qu'un discussion et pas une référence.
Ensuite tu donnes comme référence la définition de langage haut niveau. Ca ne fait pas de C un langage haut niveau.

Vu que tu fais confiance à wikipedia alors je vais te donner un coup de main

Le langage C peut être qualifié de bas niveau ou peu typé dans le sens où le langage est conçu pour permettre la manipulation directe des mots machine. Il propose un éventail de types entiers et flottants qui correspondent directement aux types supportés par le processeur. Il fait en outre un usage intensif des adresses mémoires avec la notion de pointeur. Il a une notion de type composé, mais ne propose aucune opération qui traite directement des objets de plus haut niveau (fichier informatique, chaîne de caractères, liste…).
Source C (langage)
Ne confonds pas les librairies avec le langage. Ce n'est pas la même chose.

Le langage C n'est pas si riche. En revanche on peut faire beaucoup de choses avec lui à ce bas niveau.

C est le langage le + bas niveau des langages les + haut
Je dirais plutôt le langage de plus haut niveau des langages de plus bas niveau, mais juste pour te faire plaisir.

P.S.
+ veut dire plus, ou c'est une opération de haut niveau que tu voulais faire avec les mots?!
0
Ah mais je ne dis pas le contraire du tout à ce que tu dis...
Oui on peut aller en bas niveau avec le langage C, mais pourtant le langage C est bien un langage de haut niveau, mais très bas, je l'ai appris en cours et il est mit sur plein de syllabus et j'ai même un livre à côté de moi, où j'ai appris le C en + de l'école (et oui je mets + et non plus, ça revient au même tu peux très bien comprendre) et il est bien mis que c'est un langage de haut niveau, donc pour moi, c'est un langage de haut niveau mais bas, mais bon, on peut tout bonnement le considérer comme de moyen niveau au final, qu'il soit de bas -haut niveau ou de haut-bas niveau, ça ne change rien pour ça...
0

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

Posez votre question
Ah et je viens de trouver ça ici même, donc on dirait vraiment qu'il est de haut niveau, personnellement.
"Le langage C est un des langages les plus utilisés actuellement. Cela est dû au fait que le langage C est un langage comportant des instructions et des structures de haut niveau (contrairement à l'assembleur par exemple) tout en générant un code très rapide grâce à un compilateur très performant."

Mais bon, ça n'a encore rien à voir avec le post initial
0
pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010 27
13 mai 2009 à 21:39
Cher Muh,

Le C, avec un "code très rapide"??? Savez-vous la rapidité réelle du code C? Souvent 10 fois plus faible que celle du "code machine"
Le C c'est une brouette face à une voiture qu'est l'assembleur.
Avez-vous remarqué un gros "mensonge" des fabricants de processeurs? Ils donnent la puissance de leur composant en MIPS (méga instructions par seconde) et les gens croient ça, ils croient que c'est du C, et bien non, c'est une mesure faite en ASSEMBLEUR.
On ne donne jamais les temps des instructions du C parce qu'ils sont lamentables.

. . Je suis confus de déplaire à certains qui se gargarisent de mots dévalorisants comme "bas", ou remontants comme "haut", la réalité est ce qu'elle est, et le langage de loin le plus puissant, c'est l'assembleur.
Et il y en a qui croient pouvoir faire du "temps réel" en C, impossible! Seulement en assembleur, oui.
Et avez-vous remarqué la floraison de nouveaux langages? Et en quoi sont-ils écrits? En l'incontournable et éternel assembleur. Impossible de s'en passer, tout le monde programme en assembleur sans le savoir.

**********************
Le succès du C vient d'ailleurs. C'est qu'il est normalisé, côté homme et donc sans connaître la machine, le source (et non "la" source) le source est portable et on peut changer de type de processeur, il faut lui mettre le C du processeur et tout va bien. C'est tout. Mais ne parlons pas de puissance!
Le C de Borland comporte tout de même 400 instructions, soit 2 fois plus que le Pascal. dont il dérive.
*********************
Ne vous découragez pas, l'assembleur est là et partout! D'où la citation célèbre: <cachez cet assembleur que je ne saurais voir!>.
Cordialement
pont
0
Cher pont,

Je n'ai fais que copier/coller ce qu'il y avait de mis dans un des dossiers de commentçamarche donc je suppose que c'est fiable, vu que ce n'est pas fait par n'importe qui... Ca vient d'ici, donc pas la peine de dire que mes sources sont fausses vu qu'elles existent bien.
Je ne te donne pas tort pour le reste, je sais que l'assembleur est beaucoup plus puissant, je suis entièrement d'accord.
Mais c'est bien ce que je dis au final alors, l'assembleur = langage machine = langage bas niveau contrairement au langage c = langage haut niveau mais plus bas que les autres de haut (je sais c'est dur à suivre mais bon, on le considère alors comme ça).
Enfin moi j'ai appris de cette façon, comme quoi le C est un langage de haut niveau.

J'aurais aussi une question supplémentaire : peut-on considérer qu'un langage en temps réel est TOUJOURS un langage de bas niveau et un langage qui n'est pas en temps réel est TOUJOURS un langage de haut niveau ??
0
En tant que tel ce qu'on ecrit en C génére un langage machine une fois compilé donc je vois pas pourquoi le code C serait 10 fois moins rapide, ça me parait un peu paradoxal.
La langage C, c'est comme la carroserie d'une voiture, on fait la carcasse et quand on compile on rajoute le moteur tandis qu'en langage assembleur on met deja le moteur avant de compiler donc c'est la précompilation qui est plus rapide et non l'éxécutable du code qui lui est en langage machine.
Vous me suivez toujours ?
Ok ce seras tout pour aujourd'hui...
0
pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010 27
14 mai 2009 à 00:32
Bonsoir, je réponds à Muh

1e question: oui, on ne peut faire de vrai temps réel qu'avec l'assembleur car c'est le seul langage dont on nous donne les temps de chaque instruction Je rappelle que le temps réel consiste à faire se suivre parallèlement deux opérations, mécaniques ou autres. C'est ce qui se fait mécaiquement dans l'opération de filetage au tour, ou la levée des soupapes d'un moteur de voiture.
Il se peut qu'il y ait à suivre une horloge, par exemple un compteur chronomètre, mais le principe est plus général.

2e question: non, en général, en assembleur, on ne fait pas un programme du genre "temps réel" si ce n'est pas nécessaire, car c'est très contraignant, cela ne servirait à rien donc dans un tel cas on ne se préoccupe pas de la durée des instructions, et il y a des cas où il n'y a qu'un seul phénomène à gérer, par exemple faire le la à 440Hz des musiciens, on ne parlera pas de "temps réel".

Ce que je reproche aux termes de haut ou bas niveau, c'est que cela trompe les débutants qui à priori se jettent sur le C, en ignorant les grandes possibilités de l'assembleur, dont les instructions sont très courtes et très faciles, c'est vrai qu'elles ne font pas grand chose, elles ne manipulent pas un fichier tout entier, mais le gars qui a une fois fait une routine de manipulation de fichier, il lui donne un nom, et il s'en sert ensuite comme une instruction de plus de son assembleur, vous voyez que les possibilités de l'assembleur sont illimitées. La preuve étant que les autres langages sont faits avec seulement de l'assembleur, c'est bien que c'est l'outil universel qui va pour tout. Une fois j'avais fait un programme pour PC, qui affichait un cadran, à aiguilles avant que ce ne soit donné en série partout, c'était donc une grosse routine que j'avais appelée "horloge". Dans un Pc il y a un circuit avec pile qui fabrique l'heure et il suffit de connaître son codage. Alors j'avais "vectorisé" l'affichage et je pouvais en avoir des grosses des petites, et toutes synchronisées, sur l'écran.
Cordialement
Pont
0
Muh > pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010
14 mai 2009 à 10:40
"Ce que je reproche aux termes de haut ou bas niveau, c'est que cela trompe les débutants qui à priori se jettent sur le C, en ignorant les grandes possibilités de l'assembleur, dont les instructions sont très courtes et très faciles, c'est vrai qu'elles ne font pas grand chose"

Tu veux dire que pour afficher par exemple un bête coucou à l'écran en assembleur il faut faire moins qu'en C?
Moi je dis que c'est faux car j'ai déjà fais 1 petit truc en assembleur, il faut 10 fois plus de lignes en assembleur qu'en C.
En C il faut juste faire printf("Coucou"); et voilà c'est bon, en assembleur il te faut je ne sais plus combien de lignes et il faut écrire autre chose que printf...

En gros le C est un langage haut niveau qui appelle du code assembleur qui est de bas niveau, voilà pourquoi on le qualifie de langage le plus bas niveau des langages de haut niveau
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > Muh
14 mai 2009 à 10:50
Salut,

En C il faut juste faire printf("Coucou");
Avec la précision que printf n'est pas une fonction C mais une fonction de la librairie standard.
Il ne faut pas confondre avec le langage C qui n'est pas si riche en mots clé et fonctions.

Le fait d'avoir des librairies qui contient des fonctions ne fait pas de C un langage de haut niveau.
Toujours la confusion entre les possibilité de langage C et le langage en soi.
0
pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010 27
14 mai 2009 à 01:37
Réponse à Niko300

premier point: pourquoi le code C est 10 fois plus lent que de l'assembleur, malgré qu'il soit codé en assembleur?

Ah, c'est une question amusante: tout simplement parce que le code C ne fait pas seulement que s'occuper de son travail, il doit gérer la mémoire, les variables, les tableaux, les pointeurs il doit éviter les interférences avec ses autres instructions, etc, il y a un tas de travaux à faire parce que c'est une grosse machine. Au contraire le programmeur qui fait cela en assembleur directement n'a rien à gérer en plus et donc au résultat son code est dix fois plus petit, c'est aussi simple que ça.

deuxième point: les temps de compilation, longs ou courts n'interviennent pas puisqu'on ne lance un programme qu'une fois compilé pour le C et assemblé pour l'assembleur.
Cordialement
pont
0
pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010 27
14 mai 2009 à 19:13
Bonjour, et "coucou"!

Il ne faut pas se disputer avec ça.
Quand on n'a qu'à faire un affichage sur un écran, un langage lent et facile est adapté, et en assembleur, je répète que l'on peut faire une librairie, c'est d'ailleurs ce que l'on fait.

Par contre, quand on fait fonctionner des échanges sur un bus de données qui doivent être les plus rapides possible, c'est incontestablement l'assembleur qui est alors le langage de haut niveau sur le plan technique, je ne parle pas de l'épaisseur de couches successives de programmation qui définiraient le niveau comme un niveau de réservoir d'eau.
. . . Quand on parle du "niveau" d'un ingénieur, ce n'est pas sa taille dont il est question.

. C'est d'ailleurs par son impossibilité à traiter des cas délicats que le C peut s'interrompre et s'ouvrir à l'assembleur qui seul peut accéder à la puissance maximale du processeur.

Et au départ,le "langage de haut niveau" (appellation d'origine contrôlée) BASIC, était interprété à chaque exécution, ce qui ralentissait encore son exécution, c'était dramatique et faisait rigoler les tenants de l'assembleur. Et quelqu'un a inventé la compilation, ce qui a grandement amélioré les choses, sans bien entendu les régler totalement, car c'est impossible. Le C est un langage "structuré", ce qui l'empêche de se planter et force ses utilisateurs à apprendre un peu d'informatique, c'est très bien, mais cela se paie; par contre, l'assembleur n'a aucune structure, chacun gère son affaire comme il l'entend, c'est la totale liberté, c'est comme rouler en tous terrains pour court-circuiter un chemin trop long qui fait des détours.
Salut
pont
0
pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010 27
15 mai 2009 à 18:44
Rebonjour.

. . je prends un exemple d'un langage compilé, le basic, qui a une instruction, pour faire une attente de 1/2 seconde: PAUSE(500); ce sont des millisecondes, et le moins que l'on peut lui demander, c'est PAUSE(1) et il y aura 1ms, ce n'est pas certain d'ailleurs, il y aura sans doute plus, s'il n'y a pas eu de correction de la routine pour les faibles valeurs, mais admettons au mieux qu'il n'y a qu'une seule milliseconde, c'est tout de même un temps ENORME. et je le prouve.

. .Pendant ce temps, avec mon petit PIC, avec le quartz 20MHz, divisé par 4, je fais encore 5.000 instructions toutes les millisecondes, disons 4.000, car certaines instructions requièrent 2 cycles (les branchements). Mais 4000 instructions, en assembleur, c'est un énorme programme, en général un programme entier, c'est 150 à 300 instructions, je sais bien que certaines se répètent dans l'exécution, mais quand même, on voit clairement que ce langage dit de "haut niveau" n'arrive pas à la cheville de l'assembleur. CQFD
pont
0
En fait, je pense que coder en mou n'est pas enclin à figurer dans la Wiart Doc. En effet, il existe plusieurs méthodes et j'ai tout de même ma petite préféré. Il s'agit de la Programmation Orienté Flink, soit POF. Celle-ci définit des méthodes underclassed qui permettent de coder en mou à la pré-compilation. Parfois, en ayant définit des variables de type Wiart (valable sur Solaris, seulement), on obtient un code source beaucoup plus extensible ! Il est conseillé d'avoir un double WFS ; c'est ce qu'on appelle le Wiart File System. Le WFS est le premier FS à avoir été coder en mou. Son créateur a toujours voulu faire de son langage de programmation, le langage le plus prépondérant et le moins sensible à l'hexadécimal imbriqué !

Ce n'est qu'un avis personnel. Mais imaginez un peu ce que ça donnerait sur une partie de CoD4 en LAN ou de World of Wiarcraft, Gears of Wiart ou encore Wiarms (dérivé polaire du célèbre Worms). Si les processeurs 64 bits n'étaient pas pré-compilé par le ZEUS, comment pourrait-on accéder à la norme Read Writable d'un DVD 3 pouces ?
0
P-E le dramaturge désabusé
4 févr. 2011 à 12:55
Bonjour Mr Bellens,

Pourriez-vous m'apprendre à coder en mou en java si cela est possible svp?
Je suis en train d'apprendre les interfaces graphiques étendues et je vois que l'on pourrait apparemment coder en mou en langage C, je serais donc intéressé de savoir si on peut apprendre aussi en java.
J'ai recherché après un WFS mais je n'ai pas trouvé grand chose. J'ai essayé de coder en POF mais j'ai un problème de carriage return.


P-E strikes back
0
Attention P-E le dramaturge désabusé,

Le codage en mou n'existe pas pour Java car le codage en mou ne fonctionne que pour les langages procéduraux, pas objet ! Cependant, il existe la WFL, c'est une Flink Library mais qui est Wiardisé..


Au plaisir de te venir en aide ;-)
0
Je ne comprend absolument à cette conversation qui n'a ni queue ni tête ! On m'a toujours dis que la Wiardisation des normes de la POF étaient symphoniquement ébruitable et inébranlable à celles de ses sous-jacents. Je me rappelle, lors de mes années à l'Académie de Lille, tout ce qui étaient Flinké typé dynamiquement, n'était pas linké à la compilation. Je comprends plus rien :/
0
Jackie et Michel
20 juin 2014 à 21:07
Bonjour,

Je voulais savoir si le codage en mou existait aussi dans le C#?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
20 juin 2014 à 22:25
Ici c'est la catégorie "C". Merci donc d'ouvrir un post dans C# (et d'éviter de reprendre un sujet obsolète).
0