Pour résumer, ton argumentation est « Bien que la syntaxe acceptée soit un sous-ensemble du langage naturel, elle obéit à des règles strictes comme dans tous les autres langages. »
C'est vrai, mais il y a deux "Mais".
Mais, d'une part, une partie des réactions des gens vient visiblement du fait que la syntaxe stricte, sur certains points, est mal spécifiée et n'est pas rigoureusement décrite de façon exhaustive quelque part. On peut considérer que c'est indépendant de la question des langages naturels (d'ailleurs il y a d'autres langages de programmation mal spécifiés et définis), mais le risque c'est que l'aspect "naturel" justement laisse penser qu'il est facile de découvrir soi-même la syntaxe en s'exprimant naturellement, et qu'une spécification rigoureuse n'est donc pas forcément nécessaire.
Mais, d'autre part, le fait d'utiliser un sous-ensemble de la langue naturelle encourage les gens à programmer dans ce langage comme ils parlent dans leur langue naturelle. Comme une langue naturelle est très tolérante (ou plutôt, les interlocuteurs sont très tolérants) à des petits changements qui préservent le sens global de la phrase, on s'attend à ce que ce langage fonctionne de la même façon. Du coup, le programmeur aura un peu plus tendance à se laisser aller, et sera donc plus souvent contrarié par des erreurs.
Je peux présenter ça d'une autre manière : quand on met en avant le rapprochement de la langue naturelle et du langage utilisé pour les programme Inform, on se dit : « c'est chouette, maintenant mes programmes vont être en langue naturelle, donc avec un aspect plus littéraire, plus fluide et agréable à lire, et plus proche de l'interaction qu'ils auront avec l'utilisateur ». C'est le point de vue de la personne qui va lire le code. Maintenant, une personne qui écrit du code, il faut qu'elle continue à se dire « attention, c'est un langage avec une grammaire stricte, il faut que je sois précis et rigoureux, et que j'agence mes mots exactement comme il faut. ». Mais comme la plupart des gens lisent le programme en même temps qu'ils l'écrivent, et ont des boucles d'interaction lecture-écriture-lecture complexes où ce qui est (re)lu influence ce qui va être écrit, la superposition des deux états esprits ne marche pas forcément très bien, et donne lieu à des expériences frustrantes.
[^] # Re: Et comment est le langage de programmation ?
Posté par gasche . En réponse à la dépêche WHAT NOW? > Créer des jeux d'aventure avec JACL 2.8.0. Évalué à 1.
C'est vrai, mais il y a deux "Mais".
Mais, d'une part, une partie des réactions des gens vient visiblement du fait que la syntaxe stricte, sur certains points, est mal spécifiée et n'est pas rigoureusement décrite de façon exhaustive quelque part. On peut considérer que c'est indépendant de la question des langages naturels (d'ailleurs il y a d'autres langages de programmation mal spécifiés et définis), mais le risque c'est que l'aspect "naturel" justement laisse penser qu'il est facile de découvrir soi-même la syntaxe en s'exprimant naturellement, et qu'une spécification rigoureuse n'est donc pas forcément nécessaire.
Mais, d'autre part, le fait d'utiliser un sous-ensemble de la langue naturelle encourage les gens à programmer dans ce langage comme ils parlent dans leur langue naturelle. Comme une langue naturelle est très tolérante (ou plutôt, les interlocuteurs sont très tolérants) à des petits changements qui préservent le sens global de la phrase, on s'attend à ce que ce langage fonctionne de la même façon. Du coup, le programmeur aura un peu plus tendance à se laisser aller, et sera donc plus souvent contrarié par des erreurs.
Je peux présenter ça d'une autre manière : quand on met en avant le rapprochement de la langue naturelle et du langage utilisé pour les programme Inform, on se dit : « c'est chouette, maintenant mes programmes vont être en langue naturelle, donc avec un aspect plus littéraire, plus fluide et agréable à lire, et plus proche de l'interaction qu'ils auront avec l'utilisateur ». C'est le point de vue de la personne qui va lire le code. Maintenant, une personne qui écrit du code, il faut qu'elle continue à se dire « attention, c'est un langage avec une grammaire stricte, il faut que je sois précis et rigoureux, et que j'agence mes mots exactement comme il faut. ». Mais comme la plupart des gens lisent le programme en même temps qu'ils l'écrivent, et ont des boucles d'interaction lecture-écriture-lecture complexes où ce qui est (re)lu influence ce qui va être écrit, la superposition des deux états esprits ne marche pas forcément très bien, et donne lieu à des expériences frustrantes.