编程语言:哪种语言兼具Python和Ruby特性?
我发现了一个很棒的Python和Ruby的对比图表。
我在寻找一种编程语言,想要一种真正结合了Python和Ruby特点的语言(稍微偏向Python)。
我很喜欢Ruby的一点是,里面的所有东西都是对象(而Python不是这样)。不过,我也很喜欢Python的一个特点,就是它的东西是不可变的,这样代码维护起来就简单多了,还有内置的Unicode支持(而Ruby没有这个)。
有没有人知道有什么好的编程语言,能够兼具Python和Ruby的优点呢?
我尝试在下面列出一些特点。
Language Features
Everything's an Object YES***
Namespaces yes
Constants YES***
Generators yes
Iterators yes
Coroutines yes
Continuations no
Classes
Multiple Inheritance NO***
Interfaces no
Class Includes* no
Nested Classes yes
Properties yes
Operator Overloading yes
Functions
First-Class Functions yes
Anonymous Functions yes
Keyword Arguments yes
Closures yes
Decorators yes
Collection Objects
Tuples NO***
Lists yes
Hashes yes
Strings
String Type yes
Char Type no
Symbol Type no
Immutable yes
Interned yes
Heredocs no
Multiline Strings yes
Unicode Support yes
Regular Expressions
Regex Literal no
Named Groups yes
Lookaheads yes
Lookbehinds yes
Yes/No Pattern yes
Unicode Support yes
Lua看起来很有趣,不过我很难找到足够的信息来判断它是否是Python和Ruby之间的一个好选择。
2 个回答
0
可以看看Groovy。它有一个很棒的特点,就是结合了Python、Ruby和其他一些流行语言的优点,但大多数动态语言都缺乏的一个功能就是IDE支持(比如NetBeans、Eclipse和IDEA)。你可以查看与Python的区别和与Ruby的区别。
2
我不太明白你说的“所有东西都是对象”是什么意思。根据我所知道的,Python 也没有原始数据类型(比如在 Python 3 中,你可以从基本的整数类型派生出新的类型)。
我用过这两种语言,虽然我更喜欢 Python,但 Ruby 绝对也是一门很强大的语言。所以与其看图表,不如同时安装这两种语言,亲自试试,看看你更喜欢用哪种来编程。如果你还是无法决定,可以看看周围的环境(比如标准库的好坏、工具、文档等等)。
Ruby 和 Python 有不同的“习惯用法”和基础理念,可能在某些方面会有所不同,这些差异值得你去了解一下。