Contexte
La page Wikipedia sur Sucre syntaxique dit:
En informatique, le sucre syntaxique est la syntaxe d'un langage de programmation conçu pour faciliter la lecture ou l'expression. Cela rend le langage "plus doux" pour les humains: les choses peuvent être exprimées plus clairement, de manière plus concise ou dans un style alternatif que certains préfèrent.
Je ne comprends pas vraiment quelle est la différence entre le sucre syntaxique et la syntaxe.
J'apprécie le fait que la version sucrée puisse être plus claire, plus concise, peut-être faire bouillir du plasma. Mais j’estime qu’à un certain niveau, toute la syntaxe consiste essentiellement à le faire pour former une abstraction sur laquelle le code est compilé.
De la même page Wikipedia:
Les processeurs de langage, y compris les compilateurs, les analyseurs statiques, etc., développent souvent des constructions sucrées en constructions plus fondamentales avant traitement, un processus parfois appelé "désuculation".
En tant qu’exercice de réflexion, si je prends souvent le mot «souvent» dans cette déclaration, cela signifie «toujours»: du compilateur sait (ou fait attention) quelle est la syntaxe de Sugar'd ou non?
Une question très liée sur ce site "Définition rigoureuse du sucre syntaxique?" a une réponse qui commence:
IMHO Je ne pense pas que vous puissiez avoir une définition du sucre syntaxique, car l'expression est BS et est susceptible d'être utilisée par des gens qui parlent de "vrais programmeurs" en utilisant de "vrais outils" sur des "systèmes d'exploitation réels"
Ce qui pourrait m'indiquer qu'il n'y a peut-être pas de différence énorme entre le codeur utilisant la langue? Peut-être que la différence n'est perceptible que par l'auteur du compilateur? Même s’il peut y avoir des cas où il est utile que le codeur utilisant la langue sache ce qui se cache sous le capot du Sucre syntaxique? (Mais peut-être qu'en réalité, tout discours sur le sujet tend à utiliser le terme d'appât à la flamme?)
Le coeur de la question
Alors ... la version courte de la question:
- Existe-t-il une réelle différence entre la syntaxe et le sucre syntaxique?
- Qui est-ce important?
Extra nourriture pour la pensée
Bonus sur la contradiction de sujet:
Sur la page Wikipedia, un exemple est donné:
Par exemple, en langage C, la
a[i]
notation est un sucre syntaxique pour*(a + i)
Attendu qu'une autre réponse à la question liée ci-dessus parle du même exemple:
Considérons maintenant
a[i] == *(a + i)
. Pensez à tout programme C qui utilise des tableaux de manière significative.
Et résume que:
La
[]
notation facilite cette abstraction. Ce n'est pas du sucre syntaxique.
La conclusion opposée pour le même exemple!