L'évolution vers ce genre de langage "naturel" me semble on ne peut plus normal, vu qu'on cherche toujours à faire des langages de plus haut niveau pour abstraire plus facilement et se rapprocher du langage naturel. Par exemple en Java :
if (path1.isShorterThan(path2)) return path1 else return path2
C'est quand même très proche de l'anglais comparé à de l'assembleur. L'expressivité des langages d'aujourd'hui permet de facilité grandement la compréhension.
Là où le bas blesse c'est toujours sur l’ambigüité de la langue naturelle. Là où le progrès serait énorme, c'est surtout sur la capacité du langage à identifier ces ambigüités (là où il trouve plusieurs interprétations possibles) et les signaler au designer qui pourra alors améliorer sa spec grace à des questions automatiquement générées. La méthode de ces chercheurs dans ce cas n'est pas la bonne, car un apprentissage fera que l'interprétation sera choisie de manière probabiliste. Ça ne nous dira pas quand quelque chose est pas clair ni ça ne nous proposera différentes interprétations. La rigueur du programmeur restera donc nécessaire pour éviter de "dire" n'importe quoi au compilateur.
C'est les même méthodes qu'on utilise en traduction automatique : un apprentissage est fait et la traduction est générée en fonction... Perso j'utilise pas Google Trad pour me traduire des phrases entières, uniquement pour voir les différentes traductions d'un mot ou d'une petite expression. Le problème ici est le même, ça manque de fiabilité quand l'interprétation n'est pas unique.
Je me demande par exemple comment serait traduit sous forme de code "La barre de navigation doit être de couleur rouge. Celle de notification doit être encore plus rouge lorsqu'une notification apparait.". Des rouges, il y en a beaucoup en RGB 24 bits par exemple. Fait jouer ta subjectivité.
Partager