|
发表于 2010-11-22 21:43:02
|
显示全部楼层
原帖由 jason 于 2010-11-22 08:54 PM 发表 Javascript是一种比LPC强大得多的语言这完全是笑话了。Javascript是最不强大的语言...你说erlang的好处是说协程吧。lpc作为一门极其成熟的面向领域的语言,在mud方面是绝对的第一名,任何通用语言都 ...
当然不是笑话,Javascript是完全的面向对象语言,LPC半对象。LPC里面有一点点函数型的特性,例如对 lambda ,currying都有所支持,但是Javascript更加完全。从虚拟机的角度,如垃圾收集、JIT编译角度来讲,现在的Javascript更是体现了世界上最大软件公司之间的竞争,包括微软和Google,编程语言研究界和实现界最顶尖的很多高手都在做Javascript实现(例如smalltalk和self这些语言的创始人)。从语言的角度讲,你可以把LPC的OO和functional范式的特性和Javascript比一比就明白了。
至于DSL,LPC其实谈不上,因为它不是通过语言层面实现的,而是通过函数和对象实现的,但MudOS的虚拟机思路比较好,实现了面向领域的虚拟机。DSL是在语言层面上提供的,例如Ruby的DSL实现或者Lisp的macro。Erlang不是协程,主要的能力在于functional和分布式、并行计算,我已经分析了,从几个角度讲它在理论上是最最适合Mud虚拟机的实现的。 还有Erlang支持mnesia,非常强大告诉的存储服务,在多个服务器需要统一提供服务的时候,mysql和文件系统都有所不及。Erlang最著名的特点就是容错,基本上可以做到Mud系统永不当机。
我的意思是:
1. 用Erlang实现一个MudOS,这个MudOS实现Mud的领域虚拟机,但性能上可以远远超过目前的虚拟机。
2. 采用什么语言问题不大,LPC没有任何领域编程的优势,当然完全可以在Erlang内部实现一个LPC解析器,但在Erlang内部实现一个JavaScript来代替LPC,虽然难度大些,但表达能力更强
[ 本帖最后由 oldpotian 于 2010-11-22 11:46 PM 编辑 ] |
|