【发布时间】:2010-02-15 09:17:44
【问题描述】:
Python 是我目前所知道的最好的语言,但是由于自动完成,静态类型是一个很大的优势(虽然对动态语言的支持有限,但与静态语言相比,它根本算不上什么)。我很好奇是否有任何语言试图将 Python 的优点添加到静态类型语言中。特别是我对具有以下功能的语言很感兴趣:
- 语法支持:例如字典、数组推导式
- 函数:关键字参数、闭包、元组/多个返回值
- 运行时修改/创建类
- 避免在任何地方指定类(在 Python 中,这是由于鸭子类型,尽管类型推断在静态类型语言中会更好地工作)
- 元编程支持:这是在 Python 中通过反射、注释和元类实现的
是否存在具有大量这些特性的静态类型语言?
【问题讨论】:
-
这种“运行时修改/类的创建”几乎是反“静态类型”,你可以得到。还有其他方法可以解决静态类型程序中的问题。
-
自动补全是一种工具功能,而不是语言功能。一些 IDE(例如 Komodo)可以为 Python 进行自动完成。只要你避免棘手的元编程。
-
@viraptor:我可以添加“避免在任何地方指定类”。类是大多数类系统中的类型,对于静态类型语言来说,不必指定类型有点奇怪。
-
@viraptor - 我理解许多静态语言的困难,但这并不是一个完整的障碍。 @Lott - 静态类型似乎总能带来更好的自动补全@David:类型推断避免了总是指定类的必要性
-
@David Thornley:实际上我喜欢 Haskell,您可以在其中删除大部分类型声明并且仍然是完全静态的。它可能会有所不同,但为什么奇怪呢?...
标签: python programming-languages