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?
concurrency
erlang
actor-model
Jonas
fuente
fuente
Respuestas:
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.
fuente
"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.
fuente
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.
fuente