5

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

OO 和在较小程度上静态现在似乎并不流行。然而,令我震惊的是,现代计算机的强大功能使静态编译器的创建远远超出了编译器作者在过去几十年的梦想。

我想我没有遇到任何事情,没有其他选择,我很可能想要在任何时候淘汰生产代码。但即使它们仍然是非常学术的语言,我仍然想关注它们,也许会和它们一起玩。我特别在寻找可能被称为 Scala 的左字段替代方案。所以不是 Ceylon 或 Kotlin 试图优先考虑简单性而不是功能。这些天,埃菲尔似乎无处可去。我遇到过 gBeta 和 Ceasar,但无法弄清楚是否有任何领域输给了 Scala。还有其他可能吗?

4

2 回答 2

4

一句话,没有。没有任何流行的 OO 替代方案可以接近 Scala 的类型系统。鉴于您想要的功能,我建议您仔细研究 C++、D 和 Go。

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

你有什么特别的理由想要一门面向对象的语言吗?同样,如果您想要一个很酷的类型系统和OO ,那么 Scala 可能和现在一样好。

于 2012-06-18T20:23:43.663 回答
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 解析器等等,而且核心语言有很多你需要构建的东西——在,如哈希图、动态数组、合同设计、静态评估的模板/表达式等。

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

总而言之,它非常令人印象深刻。遗憾的是它没有更受欢迎,因为相比之下 Scala 是一个缓慢的内存猪;)

于 2012-06-30T15:19:39.773 回答