为什么Scala演员在2.10中弃用?
我只是
comparing个不同的scala actor实现,现在我想知道可能会有什么动机,弃用现有的2.10中的scala actor实现,并用Akka实现替换默认的actor?
migration guide和
first announcement都没有给出任何解释。
根据比较,这两个解决方案是不同的,保持两者都是一个好处。因此,我想知道现有的实施是否有重大问题导致了这一决定?换句话说,是技术还是政治决定? 解决方法
我不得不给你一个猜测答案:
Akka提供了一个稳定而强大的图书馆,与演员一起工作,以及许多处理高并发性的功能(期货,代理,交易演员,STM,FSM,无阻塞I / O等)。 此外,它以比scala更安全的方式实现actor,因为客户端代码只能访问通用ActorRef。这使得不可能通过消息传递而与演员进行交互。 许多核心功能在scala和akka演员中重复,所以统一似乎是一个最明智的选择(考虑到两个图书馆的开发团队现在也是同一家公司的一部分:Typesafe)。 考虑到选择到期,只能决定哪一个是标准的实现。 对我来说很明显,Akka在这方面有更多的提供,作为一个完整的框架,许多企业级功能已经包括在内,而且在不久的将来会有更多的。 我不能想到一个特定的情况,scala.actors能够完成什么akka不能。 附:类似的推理导致了在2.10中统一了future/promise标准的实施 整个Scala语言和社区必须从简化的界面获得基础语言功能,而不是由不同框架组成的分散场景,每个框架都有自己的语法和模型来学习。 对于其他更高层次的方面来说,对于开发人员从可用解决方案更丰富的全景图获得的网络框架来说也是如此。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |