【问题标题】:Programming Language: What language has both Python & Ruby features? [closed]编程语言:哪种语言同时具有 Python 和 Ruby 特性? [关闭]
【发布时间】:2011-03-30 04:40:37
【问题描述】:

我遇到了这个很棒的comparison chart between 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 之间的良好中间语言。

【问题讨论】:

  • 元组是 Python 最强大的元素之一。为什么不想要元组?
  • Python 中的一切不都是对象吗?
  • @Javier:是的,我相信是的。
  • 你想用这种语言做什么? Python 和 Ruby 都是非常优秀的通用语言,因此很难看出加入它们的目的是什么......
  • 你能解释一下你的意思是“内置的Unicode支持”吗?特别是,您能否解释一下 Ruby 内置的多语言支持(包括但不限于对 UTF-8、UTF-16LE、UTF-16BE、UTF-32LE 和 UTF-32BE 的内置支持,即所有 Unicode -当前使用的编码)是不是“内置Unicode支持”吗?另外,为什么说 Python 是不可变的? Python 和 Ruby、C、Java 等一样不纯。如果你想要不变性,试试 Clojure。

标签: python ruby programming-languages lua


【解决方案1】:

我不明白您所说的“一切都是对象”是什么意思,据我所知 Python 也没有原语(例如,您可以从 Python 3 中的基本整数类型派生。)

我都用过,虽然我更喜欢 Python,但 Ruby 无疑是一种非常强大的语言,所以不要通过图表,安装两者,看看你更喜欢哪个编程。如果你仍然不能决定,看看周围环境(标准库、工具、文档等有多好)

Ruby 和 Python 有不同的“惯用语”,以及在某些方面很可能不同的基本哲学,这可能值得研究。

【讨论】:

  • “一切都是对象”意味着类和函数也是实例。
  • 好吧,type(a) 其中def a(): pass 产生<class 'function'>type(int) 产生<class 'type'>。类是类型的一个实例。
  • @Skurmedel - 更好的是,一个类可以是任何东西的实例,只是大多数类都是类型的实例。所以你可以拥有元类。
  • 在 Python 中,你不能这样做:5.toString()
  • @TeddyB - 这只是因为 python 解析器将 5. 解释为浮点数。这有效:(5).__str__()
【解决方案2】:

查看groovy。它还具有 Python 和 Ruby 以及其他一些流行语言的强大功能,但大多数动态语言缺乏 - IDE 支持(由 NetBeans、Eclipse 和 IDEA 提供)。 Differences from pythondifferences from ruby

【讨论】:

    猜你喜欢
    • 2010-10-07
    • 2011-03-05
    • 2011-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多