Le modèle d'acteur utilisé par Erlang semble être une manière très différente de faire une programmation simultanée. Que pensez-vous du modèle d'acteur? Sera-ce une solution populaire pour la simultanéité?
18
Le modèle d'acteur utilisé par Erlang semble être une manière très différente de faire une programmation simultanée. Que pensez-vous du modèle d'acteur? Sera-ce une solution populaire pour la simultanéité?
Réponses:
Je suppose que vous connaissez le concept. Eh bien, je ne sais pas encore très bien.
La réponse courte est que je crois en la popularité de ce modèle à la concurrence à court et moyen terme. J'ai toujours aimé lambda et les fermetures et je vois des fermetures comme des acteurs spécialement gérées pour alimenter la concurrence. Ainsi, les processeurs multi-cœurs nous apportent un nouveau paradigme de programmation, la concurrence est obligatoire pour atteindre des performances élevées. Le modèle d'acteur semble la voie la plus facile pour exploiter le matériel moderne.
Tôt ou tard (j'espère plus tôt), presque toutes les langues dominantes prendront en charge un meilleur modèle de concurrence. Le modèle d'acteur IMHO si bien mis en œuvre à Erlang devrait être le meilleur candidat.
Un obstacle à la popularité du modèle Actor est la faible impédance avec la POO, le paradigme dominant actuellement. Mais la première étape est donnée, les principaux langages implémentent des fonctionnalités qui nettoieront le chemin vers le modèle Actor.
Je lis beaucoup sur cette question, je pense qu'il est très important pour chaque programmeur de progresser dans ses compétences.
Édition tardive:
Maintenant, je comprends mieux le paradigme. Je peux donc dire qu'il vaut mieux qu'une langue de programmation permette que le problème soit géré par les bibliothèques ou ait éventuellement une fonctionnalité pour faciliter l'adoption d'un modèle. Lier une langue avec un seul modèle ne voit pas une bonne idée.
la source
"Populaire" n'est pas une métrique terriblement importante. "Utile" ou "puissant" l'est.
Le modèle Acteur existe depuis environ 35 ans maintenant, au moins dans le monde universitaire, et il a été adopté par de plus en plus de langues du monde réel au fil du temps. (OK, Erlang n'a pas adopté le modèle Acteur, il a réinventé le modèle Acteur. Pourtant.)
Donc, étant donné qu'il a survécu à plusieurs décennies dans le monde universitaire et qu'il se déplace dans le courant dominant, je dirais que cela va durer un bon moment.
la source
Honnêtement, je pense que c'est la meilleure façon de faire de la concurrence. Le modèle de mémoire partagée avec serrures me fait peur, je peux juste voir trop de façons où ça peut mal tourner. Les acteurs qui transmettent des messages semblent être une façon beaucoup plus propre de faire les choses.
Regardez également STM qui peut être utilisé dans Clojure et Haskell et probablement dans quelques autres langues.
la source