Rien qu'a lire ces 2 choses on voit clairement que tu as une connaissance plus que superficiel sur ses sujets...
Le C est très difficilement optimisable. Il n'a pas été conçu pour être optimisable. Et quand un compilateur décide de s'amuser à vraiment optimiser il casse énormèment de code, voir linux par exemple. La "sémantique" est un vrai merdier.
C difficilement optimisable, pas concu pour être optimisable?! soit tu confond avec optimisation au niveau du source (source-level optimisation) et encore C est aussi tres optimisable a ce niveau, soit t'as carrèment aucune idée de comment un compilateur fonctionne.
Oui parce que goto est l'opération élèmentaire qui défini les "structures" de la soi-disant programmation structurée.
Mais non c'est parce que 'goto' est ce qui se compile directement en un branchement de code en langage machine , quasi la seule instruction disponible pour faire ca. Tu raisonnes de haut en bas alors qu'il faut raisonner dans l'autre sens. On a concu les langages de programmation de bas en haut: au fil des années on a abstrait de plus de plus pour faciliter la productivité, la qualité , la concision, ...
Ne réduit pas ton raisonnement sur ce sujet a ce que tu connais: Linux et x86. C'est plus vaste que cela. Le C n'a pas été concu pour Linux (c'est l'inverse) et pour être compiler en x86 ... Ne pas confondre le langage (la syntaxe, 'if','while','for',etc) et les librairies (open(),printf(),...). Par abus de langage on confond souvent les 2.
Je sais pas même pourquoi je me fatigue a répondre, enfin ça servira a d'autres, j’espère. De toute façon le sujet est, encore une fois, déjà torpillé.