Bonjour !
Je suis actuellement des cours de programmation parallèle, et étudie pour celà les différents langages. Java, ADA et CSP en font partie. J'ai très bien compris les différents problèmes que celà implique (arrêt / synchronisation des processus, partage des variables globales, rendez-vous) mais mon problème principal est de comprendre les différences majeures qu'il existe entre ces langages, notamment pour CSP et ADA.
En effet, ce sont pour moi 2 langages qui, même s'ils ont une syntaxe très différente, ont les mêmes fonctionnalités... J'ai beaucoup de mal à trouver de la documentation sur le sujet sur Internet, pourriez-vous me lancer quelques pistes ?
Merci
Pierre
# Différences entre ADA vs CSP
Posté par legrego . Évalué à 1.
La grosse différence est que ADA est un "vrai" langage "utilisé" (la preuve : gcc le compile ). Cela induit des compromis (parallélisme uniquement local, par rendez-vous) mais aussi des aspects annexes (fonctionnalités intégrées dans le langage, bibliothèques, outils de développement) plus étoffés. C'est aussi à mon avis un bon langage impératif pour un débutant, un peu comme Pascal, mais qui permet d'aller plus loin (threads, généricité, un peu d'objet).
Le contre-point c'est que CSP est aussi un modèle de conception de systèmes parallèles, qui a eu quelques descendants rigolos comme OCCAM, et dont tout l'intérêt est dans la modélisation qu'il impose.
Mais sinon, un rendez-vous reste juste un rendez-vous, donc il n'y a pas de vrais différences :-)
# d'apres google en 5 minutes...
Posté par NeoX . Évalué à 1.
[ "Problème de Satisfaction de Contraintes" (ou CSP en abrégé, pour Constraint Satisfaction Problem) ]
http://bat710.univ-lyon1.fr/~csolnon/Site-PPC/e-miage-ppc-so(...)
alors qu'ADA serait un langage
http://www.infeig.unige.ch/support/ada/
[^] # 5 minutes c'est léger
Posté par Antoine Reilles (site web personnel) . Évalué à 1.
http://en.wikipedia.org/wiki/Communicating_sequential_proces(...)
qui n'est pas vraiment nouveau, mais plutôt intéressant
et du coup, il faut lire:
http://www.usingcsp.com/
par Tony Hoare, qui en connait un rayon
Dijkstra a lui aussi écrit un "Cooperating Sequential Processes"
En plus, ça ouvre tout un tas de champs intéresssatns sur les algèbres de processus, le pi-calcul (http://en.wikipedia.org/wiki/Pi-calculus), et tout ça, comme le join-calcul (http://en.wikipedia.org/wiki/Join-calculus), avec des implémentations comme le langage JoCaml
http://moscova.inria.fr/jocaml/
[^] # Re: 5 minutes c'est léger
Posté par NeoX . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.