Python是我目前所知道的最好的语言,但是由于自动完成,静态类型是一个很大的优势(尽管对动态语言的支持有限,但与静态语言中的支持相比,它是微不足道的)。我很好奇是否有任何语言试图将Python的优点添加到静态类型语言中。特别是,我对具有以下特征的语言很感兴趣:
- 语法支持:例如字典、数组理解
- 函数:关键字参数、闭包、元组/多个返回值
- 运行时修改/创建类
- 避免在任何地方指定类(在Python中,这是由于duck类型,尽管类型推断在静态类型语言中更有效)
- 元编程支持:这是在Python中通过反射、注释和元类实现的
是否有任何静态类型的语言具有大量这些特性?
Tags:
尽管它不是面向对象的,Haskell提供了许多您感兴趣的功能:
对列表理解的语法支持,以及各种排序/绑定构造的
do
表示法。(字典的语法支持仅限于对列表,例如函数支持使用元组类型的完全闭包和多个返回值。关键字参数不受支持,但“隐式参数”的强大功能有时可以替代。
没有类、类型或对象的运行时修改。
通过类型推断避免在任何地方指定类/类型。
使用模板Haskell的元编程。
而且,正是这样你才会有宾至如归的感觉,哈斯克尔有着显著的缩进!
实际上,我认为Haskell总体上与Python有很大的不同,但这主要是因为它具有非常强大的静态类型系统。如果你有兴趣尝试一种静态类型的语言,Haskell是目前最有野心的语言之一。
Cobra是CLR的静态类型语言(作为Boo)。从其网页:
Boo是公共语言基础结构(aka)的静态类型语言。微软.NET平台)。语法是受Python启发的高度,散列/列表/数组是语法的一部分:
相关问题 更多 >
编程相关推荐