Projet tutoré : un saut dans la programmation logique

Publié le 08 novembre 2010 par Kphoen

Vendredi dernier nous ont été attribués « équitablement » (ie : au hasard) nos sujets de projet tutoré de seconde année d’IUT Informatique.

Je dois avouer qu’après avoir eu vent de certains des sujets, j’étais un peu inquiet quant à l’intérêt de ce sur quoi j’allais devoir travailler … Faire un site web pour une association de jeu vidéo relève pour moi plus d’un petit job que ferait un étudiant pour payer ses études que d’un réel sujet de projet.
Heureusement pour moi et mes partenaires, le sort en a décidé autrement !

En effet, le projet que nous devrons réaliser dans les prochaines semaines consiste tout bonnement à créer un langage de programmation. Et pas n’importe quel type de langage : un langage de programmation logique. Deux de mes profs semblent être des amateurs de Prolog, et comptent bien nous faire partager leur penchant pour ce langage.
Ça tombe bien, ce sujet nous a tout de suite emballé ! Il faut aussi prendre en compte le fait qu’entre créer un langage et faire du Windev, y a pas photo ! ;p

Ce projet est donc pour mes partenaires et moi l’occasion de découvrir à la fois les dessous d’un langage et le monde de la programmation logique. Et que ce soit l’un ou l’autre, on a de quoi faire \o/

Nous avons ce matin même commencé à nous intéresser à Prolog et à écrire nos premiers faits, règles et prédicats prologuiens. Sont aussi apparus devant nos yeux les BNF (nécessaires pour décrire la grammaire d’un langage), des termes barbares tels que clauses de Horn, SLD-résolution, l’unification, le backtracking, le pattern-matching et j’en oublie surement des plus tordus.

Tout ça pour dire que le grand saut dans la programmation logique que nous venons de faire nous enthousiasme beaucoup, mais qu’étant donnée l’étendue du problème qui nous est posé nous risquons très vite de déchanter …

Quoi qu’il en soit, l’heure est encore à l’apprentissage de Prolog et des notions qui lui sont liées, viendra ensuite l’heure de l’écriture d’une BNF et il sera vraiment temps de se documenter en profondeur sur les notions que j’ai décrites pour commencer à réfléchir à notre moteur d’inférence (et voilà, déjà un barbarisme que j’ai oublié de citer dans le paragraphe précédent).

L’aventure commence, stay tuned !

P.S : vous n’avez pas réussi à trouver la moindre logique entre mes paragraphes, ne vous inquiétez pas, il n’y en a tout simplement aucune !