【发布时间】:2010-08-18 12:15:13
【问题描述】:
是否有任何语言具有像 C++ 中的静态类型检查和 Python 中的现代语法,并且没有 GIL?
我相信,能够显式声明每个变量类型的 Python 3 将“几乎存在”,但 GIL 让我感到难过。
Java 很好,但我需要一些更“可嵌入”的东西,而不需要笨重的 JRE。
更新:任何与 .NET 相关或非开源的东西都是不可行的。
更新2:我需要显式+强类型来编写更安全的代码,但会牺牲开发速度。 GIL 很重要,因为代码的计算量非常大,并且将在多核服务器上运行,因此它必须有效地使用多个 CPU。
Update3:目标平台是 x86 上的 Linux(Debian)
【问题讨论】:
-
为什么“静态类型检查”如此重要?你有什么问题实际上是通过这个解决的?你能具体谈谈你遇到的问题吗? Python 是非常非常强类型的,并且类型是每个对象的显式部分。没有转换能力,也没有模糊对象的类型。
-
缺乏静态类型是 Python 优势的一部分。此外,在 99% 的情况下,GIL 是最不值得关注的。 +1 否则,我喜欢使用一种没有讨厌的
{}和;语法的语言,这些对于现代语言来说几乎不是必需的。 -
@S.Lott:他确实说过静态类型,而不是强类型。
-
@Matt Joiner:什么?他两个都说。标题说“强”。问题是“静态的”。
-
@rubber:因为它不是。绕过类型检查的方法有很多,大多与指针有关,有些很容易意外遇到。将其与某些函数式语言进行比较:标准 ML 在形式上是 100% 类型安全的(有些实现允许不安全的操作)。