scala akka actor scala-2.10

¿Por qué los actores de Scala están en desuso en 2.10?



akka scala-2.10 (1)

No puedo dejar de darte una respuesta:

Akka proporciona una biblioteca estable y potente para trabajar con Actors, junto con muchas características que se ocupan de alta concurrencia (futuros, agentes, actores transaccionales, STM, FSM, E / S sin bloqueo, ...).

También implementa actores de una forma más segura que la de Scala, ya que el código del cliente solo tiene acceso a ActorRef genérico. Esto hace que sea imposible interactuar con actores que no sean a través del paso de mensajes.
[ editado: como señaló Roland, esto también habilita funciones adicionales como la tolerancia a fallos a través de una jerarquía de supervisión y transparencia de ubicación : la capacidad de implementar el actor de forma local o remota sin que sea necesario realizar cambios en el código del cliente.
El diseño general se parece más al original en erlang.]

Gran parte de las funciones principales se duplicaron en los actores scala y akka, por lo que una unificación parece ser la opción más sensata (dado que el equipo de desarrollo de ambas bibliotecas ahora también forma parte de la misma compañía: Typesafe).
La ventaja principal es evitar la duplicación de la misma funcionalidad central, lo que solo crearía confusión y problemas de compatibilidad.

Dado que se debe elegir, solo queda decidir cuál sería la implementación estándar.

Para mí es evidente que Akka tiene más que ofrecer a este respecto, ya que es un marco completo con muchas características de nivel empresarial ya incluidas y muchas más en un futuro próximo.

No puedo pensar en un caso específico donde scala.actors sea capaz de lograr lo que akka no puede.

ps. Se hizo un razonamiento similar que llevó a la unificación de la implementación future/promise estándar en 2.10

Todo el lenguaje y la comunidad de Scala deben beneficiarse de una interfaz simplificada a las características básicas del lenguaje, en lugar de una escena fragmentada hecha de diferentes marcos, cada uno con su propia sintaxis y modelo para aprender.

No se puede decir lo mismo de otros aspectos de más alto nivel, como los marcos web, donde el desarrollador se beneficia de un panorama más rico de las soluciones disponibles.

Estaba comparing diferentes implementaciones de actores scala y ahora me pregunto ¿cuál podría haber sido la motivación para desaprobar la implementación de actores scala existente en 2.10 y reemplazar el actor predeterminado con la implementación Akka? Ni la guía de migración ni el primer anuncio dan una explicación.

De acuerdo con la comparación, las dos soluciones eran lo suficientemente diferentes como para que el hecho de mantener ambas hubiera sido un beneficio. Por lo tanto, me pregunto si hubo algún problema importante con la implementación existente que causó esta decisión. En otras palabras, ¿fue una decisión técnica o política?