Hello les fous du clavier,
Quel est l'avantage de prolog par rapport à un language Objet/Impératif.
cela Permet-il de faire des choses que Java par exemple ne pourrait pas faire?
je cherche un comparatif entre ces deux familles de langages.
Merci
Hello les fous du clavier,
Quel est l'avantage de prolog par rapport à un language Objet/Impératif.
cela Permet-il de faire des choses que Java par exemple ne pourrait pas faire?
je cherche un comparatif entre ces deux familles de langages.
Merci
Ce sont 2 philosophies complètement différentes.Envoyé par guillaume07
Dans les langages impératifs et objets, on décrit comment résoudre un problème (c'est l'algorithmie). En programmation logique (donc en Prolog), on décrit ce qu'est une solution et Prolog fait le reste.
Java peut faire beaucoup de choses, quasiment tout ce qu'il est possible de faire en informatique. Prolog peut faire certaines de ces choses plus simplement que Java.Envoyé par guillaume07
Petit test: écrit un programme en Java pour résoudre un sudoku. Ensuite compare avec ma solution en Prolog (voir tuto approprié). C'est presque une traduction mot-à-mot des règles du sudoku.
Prolog sert principalement à résoudre des problèmes de logique, des problèmes faisant intervenir des contraintes diverses ou des problèmes d'IA.
En Prolog, on réfléchit d'abord à définir ce qu'est une solution. En Java, on commence par déclarer des variables et invoquer des constructeurs...
Ce qui caractérise Prolog, c'est son principe de "retour sur trace" (=backtrack) unique en son genre qui permet d'explorer l'ensemble des solutions possibles.
La syntaxe de Prolog est extrêmement simple (plus simple que celle du C ou du Java). Il y a en effet extrêmement peu de mots-reservés. Par contre, elle est extrêmement différente de celle du C ou du Java, donc c'est assez perturbant au début.
Revers de la médaille, Prolog a tendance à demander beaucoup de ressources par rapport à Java. Cela vient des spécificités du langage.
"On en a vu poser les armes avant de se tirer une balle dans le pied..."
-- pydévelop
Derniers articles:
(SQL Server) Introduction à la gestion des droits
(UML) Souplesse et modularité grâce aux Design Patterns
(UML) Le Pattern Etat
Autres articles...
Partager