强大的静态OO导向Scala的多范例替代方案

时间:2012-06-18 11:57:06

标签: oop scala static

我想知道是否有任何替代Scala试图提供更强大的类型系统和语法。我知道Haskell之类的功能替代方案,但是有没有真正推动静态OO方面的事情,例如在Scala缺乏的领域,例如虚拟类,完全多重继承和更灵活的构造函数语法,静态合同检查,更强大的路径依赖,MyTypes,朋友修饰符,头等类导入,或者可能是一些深奥的打字工具,我甚至没有想到/听说过。

OO和较小程度静态这些天似乎并不流行。然而,让我感到震惊的是,现代计算机的强大功能使静态编译器的创建超越了前几十年编译器编写者的梦想。

我认为,由于我没有遇到任何问题,因此我很可能无法在任何时间内删除生产代码。但即使他们仍然是非常多的学术语言,我仍然希望留意他们并且可能和他们一起玩。我特别想找到可能被称为Scala的左场替代品。因此,没有锡兰或科特林试图将简单优先于权力。这些天埃菲尔似乎没有去过任何地方。我遇到过gBeta和Ceasar但是如果有任何他们输给Scala的地方就无法解决问题。还有其他可能性吗?

2 个答案:

答案 0 :(得分:4)

总之,没有。 Scala的类型系统中没有任何流行的OO替代品。鉴于你想要的功能,我建议你仔细看看C ++,D和Go。

如果您喜欢冒险并且不完全依赖OO的想法,那么请看看Typed Racket。 Coq,Idris和Agda提供非常有趣的依赖类型的好东西。或者转向流行的FP语言,如Haskell,F#和OCaml。

你想要OO语言有什么特别的原因吗?再一次,如果你想要一个很酷的类型系统 OO,Scala可能就像现在一样好。

答案 1 :(得分:1)

D(具体来说,D版本2,又名D2)几乎就是您正在寻找的语言。

Youtube上有视频介绍D,IDE /插件,如Visual D(Visual C ++插件),Mono-D(MonoDevelop插件)和DDT(Eclipse插件)。

dlang.org的主站点有完整的库参考,语言语法,教程,初学者/高级讨论论坛等。

对于GUI,请查看GtkD。我相信你现在需要使用DMD编译器。

dsource.org和github有许多其他的第三方库/代码,但你会发现核心库包含所有基础知识,比如json解析器,XML解析器等,而核心语言有很多东西你需要内置,如hashmaps,动态数组,按合同设计,静态评估的模板/表达式等。

使用D2,您可以直接链接到C和C ++,并绑定到Python / LUA代码等。它可以作为系统语言(如果需要,可以用它编写操作系统),但也适用于一种现代的,高级的,优雅的,快速的应用程序语言,支持并发,安全的代码。

总而言之,它令人印象深刻。令人遗憾的是,它并不是更受欢迎,因为相比之下,Scala是一种缓慢的记忆力;)