当前位置:  开发笔记 > 编程语言 > 正文

Python vs Groovy vs Ruby?(根据所列标准)

如何解决《PythonvsGroovyvsRuby?(根据所列标准)》经验,为你挑选了7个好方法。

考虑下面列出的标准,您将使用Python,Groovy或Ruby中的哪一个?

标准(10个中的重要性,10个是最重要的)

丰富的API /库(例如数学,绘图,网络)(9)

能够嵌入桌面(java/c ++)应用程序(8)

易于部署(8)

能够与DLL /共享库进行交互(7)

能够生成GUI(7)

社区/用户支持(6)

便携性(6)

数据库操作(3)

语言/语义学(2)

Ned Batcheld.. 33

我认为要进行客观比较是很困难的.我个人更喜欢Python.为了满足您的一个标准,Python从一开始就被设计为可嵌入的语言.它有一个非常丰富的C API,并且解释器是模块化的,以便从C调用.如果Java是您的主机环境,您应该查看Jython,它是Java环境(VM和libs)中的Python实现.



1> Ned Batcheld..:

我认为要进行客观比较是很困难的.我个人更喜欢Python.为了满足您的一个标准,Python从一开始就被设计为可嵌入的语言.它有一个非常丰富的C API,并且解释器是模块化的,以便从C调用.如果Java是您的主机环境,您应该查看Jython,它是Java环境(VM和libs)中的Python实现.



2> Geo..:

与他们三个人一起工作,这就是我所说的:

蟒蛇

有非常成熟的图书馆

图书馆有记录

可以在运行时通过docstrings从调试器/ shell访问文档

你可以在没有IDE的情况下开发代码

红宝石

有一些很棒的图书馆(尽管有些文件很难记录)

Ruby的反思机制很棒.他们使代码编写非常简单(即使文档不可用)

你可以在没有IDE的情况下开发代码

Groovy的

您可以从Java提供的一切中受益

语法有点受Ruby启发

没有IDE就很难编写代码.您无法从控制台调试内容(这是您可以轻松地在Python/Ruby中执行的操作),并且可用的Groovy插件有很多工作要做.我使用Groovy编写了一些应用程序,随着它们变大,我后悔没有使用Ruby/Python(调试会更容易).如果你只是从IDE开发,Groovy是一种很酷的语言.


通常Java的库质量非常好.既然你可以使用Jython(在编写Python代码时从中受益),我会说你们两种方式都很好.

3> Ken Gentle..:

只是为了浑水......

Groovy允许您访问Java.Java有一组非常丰富的API /库,应用程序等.

Groovy是可嵌入的,尽管Java中最简单.

DLLs/Libraries(如果你谈论的是非Groovy/Java)可能会有些问题,尽管有方法和一些API可以提供帮助.

我已经完成了一些Python编程,但是对Java更熟悉,Groovy对我来说更容易.



4> Florin..:

Groovy的?我只是把它拿起来; 试试这个(在groovyconsole内):

File.metaClass.invokeMethod = { String name, args ->
    System.out.print ("Call to $name intercepted...");
    File.metaClass.getMetaMethod(name, args).invoke(delegate, args);
}

new File("c:/temp").eachFile{
    if (it.isFile()) println it.canonicalPath
}

第一个代码是AOP.将拦截对File对象的任何方法的所有调用.无需其他工具.这是针对现有Java类动态执行的.

在第二个块中,删除'f'闭包参数.作为一个参数,它默认为闭包​​上下文可用的内置"it"变量.

这是你得到的:

"调用isFile拦截...... C:\ temp\img.jpg"

等等



5> 小智..:

尝试Groovy ..它具有您需要的所有功能.您可以使用现有的java lib而不对其类进行任何修改.基本上.. groovy是java ++,学习起来更有活力和乐趣(就像红宝石一样)

我不喜欢ruby或python语法,所以我会把它们放在后面.Groovy就像C/C++语法,所以我喜欢他大声笑:)



6> S.Lott..:

Python有九个标准.它得分56.

我确信Ruby拥有Python所拥有的一切.它似乎有更少的库.所以它得分51.

我不知道Groovy是否具备所有功能.

由于Python是56而Ruby是51,因此Python几乎没有使用Ruby.

但是,我认为这种决定仍然可以归结为这九个标准之外的一些主观问题.


尽管如此,我不认为Ruby拥有与Python相同数量的库,更不用说Groovy了.如果我采用Ubuntu软件包(包括multiverse,这意味着它基本上是Debian软件包),那么有920个包用Python名称和464个包含Ruby.Groovy没有第三方库.
更新:我查看了Rubyforge和PyPI,它似乎支持这种估计,Python的库几乎是Ruby的两倍.
两年后更新:列出了比PyPI包更多的RubyGems.但这不是一场小便竞赛.Ruby和Python都足够成熟,可以为您想做的任何事情提供优秀的库.

7> Martin DeMel..:

从你的critera,我选择JRuby:

丰富的API /库(例如数学,绘图,网络)(9)

JVM可以访问的所有内容,这都是很多

能够嵌入桌面(java/c ++)应用程序(8)

优秀的Monkeybars框架,可让您在GUI设计器中设计swing GUI,然后使用干净的ruby代码将其连接起来

易于部署(8)

Rawr可以将您的应用程序打包为可执行jar

能够与DLL /共享库进行交互(7)

Java可以轻松共享库,C通过jna + libffi共享库

能够生成GUI(7)

Swing正常工作.不确定使用QtJambi是多么容易,但这绝对是可能的.

社区/用户支持(6)

许多.Ruby拥有一个优秀的社区.

便携性(6)

JVM无处不在

数据库操作(3)

所有ruby数据库库所有java 数据库

语言/语义学(2)

这是红宝石在常规和蟒蛇方面取得明显领先的地方.该语言早期采用了一些非常漂亮的设计决策,这体现在标准库的一致性和强大功能上.特别是块使用起来很愉快.

推荐阅读
吻过彩虹的脸_378
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有