¿Qué piensas sobre el modelo de actor? [cerrado]

18

El modelo de actor que utiliza Erlang parece ser una forma muy diferente de hacer programación concurrente. ¿Qué piensas sobre el modelo de actor? ¿Será una solución popular para la concurrencia?

Jonas
fuente
Este sitio parece ser demasiado parcial e injusto con respecto a las preguntas basadas en la opinión de Soley. Esto está claramente basado en la opinión, pero no se ha cerrado. Otras preguntas basadas en opiniones se cierran en minutos. ¿Cómo se puede mejorar este proceso y ser más justo?
jordania
El tema me parece muy interesante, pero sí, la pregunta es demasiado amplia y está basada en opiniones.
Giorgio

Respuestas:

7

Supongo que conoce el concepto. Bueno, todavía no lo sé muy bien.

La respuesta corta es que creo en la popularidad de este modelo para la concurrencia a corto y mediano plazo. Siempre me encantaron los lambda y los cierres y veo actores como cierres especialmente manejados para impulsar la concurrencia. Por lo tanto, los procesadores multinúcleo nos traen un nuevo paradigma a la programación, la concurrencia es obligatoria para lograr un alto rendimiento. El modelo de actor parece el camino fácil para explotar el hardware moderno.

Tarde o temprano (espero que antes) casi todos los idiomas principales admitirán un mejor modelo de concurrencia. El modelo de actor IMHO tan bien implementado en Erlang debería ser el mejor candidato.

Un obstáculo para que el modelo de actor gane popularidad es la poca impedancia con OOP, el paradigma dominante ahora. Pero se está dando el primer paso, los idiomas principales están implementando algunas características funcionales que limpiarán el camino hacia el modelo de actor.

Estoy leyendo mucho sobre este tema, creo que es muy importante que cada programador avance en sus habilidades.

Edición tardía:

Ahora entiendo mejor el paradigma. Por lo tanto, puedo decir que es mejor que un lenguaje de programación permita que el problema sea manejado por las bibliotecas o que eventualmente tenga una función para facilitar la adopción de un modelo. Atar un idioma con un solo modelo no ve una buena idea.

Maniero
fuente
2
¿Hay impedancia entre el modelo de actor y OOP? Alan Kay basó Smalltalk en gran parte en PLANNER. Hewitt tomó mucho de Smalltalk-72. Joe Armstrong ahora llama a Erlang "posiblemente el único lenguaje real de OO".
Frank Shearar
7

"Popular" no es una métrica terriblemente importante. "Útil" o "poderoso" es.

El modelo de actor ha existido durante aproximadamente 35 años, al menos en la academia, y ha sido adoptado por más y más idiomas del mundo real a medida que pasa el tiempo. (OK, Erlang no adoptó el modelo de actor, reinventó el modelo de actor. Aún así).

Entonces, dado que ha sobrevivido varias décadas en la academia, y se está moviendo a la corriente principal, diría que seguirá existiendo por un buen tiempo.

Frank Shearar
fuente
5

Sinceramente, creo que es la mejor manera de hacer concurrencia. El modelo de memoria compartida con cerraduras me asusta, puedo ver muchas maneras en que puede salir mal. Los actores que pasan mensajes parecen ser una forma mucho más limpia de hacer las cosas.

Observe también STM, que puede usarse en Clojure y Haskell, y probablemente en algunos otros idiomas.

Zachary K
fuente