相关疑难解决方法(0)

功能语言(特别是Erlang)如何/为何能够很好地扩展?

我一直在关注函数式编程语言和功能的日益增长的可见性.我调查了他们,没有看到上诉的原因.

然后,最近我参加了Kevin Smith在Codemash上的"Erlang基础知识"演讲.

我很喜欢这个演示文稿,并了解到函数式编程的许多属性使得更容易避免线程/并发问题.我理解缺少状态和可变性使得多个线程无法改变相同的数据,但Kevin说(如果我理解正确的话)所有通信都是通过消息进行的,并且同步处理消息(再次避免并发问题).

但我已经读到Erlang用于高度可扩展的应用程序(爱立信首先创建它的全部原因).如果所有内容都作为同步处理的消息处理,那么如何有效处理每秒数千个请求?这不是我们开始转向异步处理的原因 - 所以我们可以同时运行多个操作线程并实现可扩展性吗?看起来这种架构虽然更安全,但在可扩展性方面却倒退了一步.我错过了什么?

我理解Erlang的创建者故意避免支持线程以避免并发问题,但我认为多线程是实现可伸缩性所必需的.

函数式编程语言如何本质上是线程安全的,但仍然可以扩展?

concurrency erlang functional-programming scalability

88
推荐指数
5
解决办法
1万
查看次数

播放2.0 + Java与Play 2.0 + Scala?

我正在考虑在游戏1.2之后迁移到2.0.困扰我的一件事是人们说Scala对于Play 2.0应用来说更"首选".我知道1.2和2.0之间的差异,但我不确定Play 2.0与Java和Play 2.0与Scala之间是否存在差异

所以我脑子里有些问题:

  • 在Play 2.0应用程序中有什么我不能用scala scala做的吗?
  • 如果我开始在play 2.0应用程序中学习和使用scala,我会有什么优势?

java scala playframework-2.0

36
推荐指数
2
解决办法
1万
查看次数

如何以功能方式编写Scala - 案例类和不变性以及所有这些?

我在现场观看了一个人们说他们在工作中正在进行Scala功能,他们使用案例类,将类型转换为另一种类型,到处都是不变性等等.

这实际上是如何工作的?我希望通过纯粹的功能方法看到一个简单的hello world应用程序.

我也看不出我怎么能var完全摆脱因为有时我只是需要它.

functional-programming scala

-1
推荐指数
1
解决办法
235
查看次数