我刚刚开始阅读关于Erlang的Joe Armstrongs的书,并听取了他关于软件工程广播的精彩演讲.
它是一个有趣的语言/系统,其时间似乎随着多核机器的出现而出现.
我的问题是:有什么可以阻止它被移植到JVM或CLR?我意识到两个虚拟机都没有设置为运行Erlang所要求的轻量级进程 - 但是这些虚拟机不能被线程模拟?我们可以在非Erlang VM上看到Erlang的轻量级或缩减版本吗?
Ale*_*nov 23
鉴于它们依赖于可变对象,您无法使用JVM/CLR库.
Erlang异常处理与JVM和CLR异常完全不同,您需要以某种方式处理它.
将进程实现为线程意味着任何相当大的Erlang系统都会非常快地耗尽内存(创建时我的机器上的进程大小:1268字节,CLR中的线程堆栈大小:1 MB),并且进程之间的通信比Erlang慢得多.
你可能想要的是JVM或CLR上的Actor Model实现.
已经提到过Scala和Clojure.此外,JVM还有许多Actor实现: Kilim,Functional Java,Jetlang,Actors Guild,ActorFoundry,以及至少一个用于CLR:Retlang,可以从任何JVM/CLR语言使用.