Python vs Groovy vs Ruby?(基于所列标准)
考虑到下面列出的标准,您会使用Python、Groovy还是RubyPython vs Groovy vs Ruby?(基于所列标准),python,ruby,scripting,groovy,Python,Ruby,Scripting,Groovy,考虑到下面列出的标准,您会使用Python、Groovy还是Ruby 标准(10项中的重要性,10项最重要) 丰富的API/可用库(如数学、绘图、网络)(9) 能够嵌入桌面(java/c++)应用程序(8) 易于部署(8) 与DLL/共享库接口的能力(7) 生成GUI的能力(7) 社区/用户支持(6) 便携性(6) 数据库操作(3) 语言/语义学(2) 我知道它不在您的列表中,但至少看看perl 丰富的Api/库使船沉没 在比大多数人意识到的更多的系统上运行 适用于二进制库 有一个庞大的社区
- 标准(10项中的重要性,10项最重要)
- 丰富的API/可用库(如数学、绘图、网络)(9)
- 能够嵌入桌面(java/c++)应用程序(8)
- 易于部署(8)
- 与DLL/共享库接口的能力(7)
- 生成GUI的能力(7)
- 社区/用户支持(6)
- 便携性(6)
- 数据库操作(3)
- 语言/语义学(2)
- 丰富的Api/库使船沉没李>
- 在比大多数人意识到的更多的系统上运行李>
- 适用于二进制库李>
- 有一个庞大的社区
- 可移植性,见上文
- 数据库操作:更多的方法。(选择您最喜欢的模块)
- 是世界上最具表现力/简洁的语言之一李>
- 我认为很难进行客观的比较。我个人更喜欢Python。为了满足您的一个标准,Python从一开始就被设计为一种可嵌入语言。它有一个非常丰富的C API,解释器是模块化的,便于从C调用。如果Java是您的主机环境,您应该看看Jython,它是Java环境(VM和libs)中Python的一个实现。这种按特性加分数的方法不是选择编程语言的好方法。你最好选择你最了解的。如果你一个都不认识,试一下。如果你心中有一个真正具体的项目,那么也许一些编程语言会更好,但如果你只是有一般的偏好,你永远不会达成共识
也就是说,Python非常灵活,它是您列表中最受欢迎的,因此最容易通过搜索解决任何类型的问题,因此我推荐Python。只是为了混水摸鱼 Groovy使您能够访问Java。Java拥有极其丰富的API/库、应用程序等 Groovy是可嵌入的,尽管在Java中最简单 DLL/库(如果您谈论的是非Groovy/Java)可能有些问题,尽管有一些方法和一些API可以提供帮助
我曾经做过一些Python编程,但由于更熟悉Java,Groovy对我来说要容易得多。它得了56分 我相信Ruby拥有Python所拥有的一切。它似乎有更少的图书馆。所以它得了51分 我不知道Groovy是否具备所有功能 由于Python是56,Ruby是51,Python只是勉强超过Ruby 然而,我认为这种决定仍然可以归结为这九个标准之外的一些主观问题。Perl?哎呀 正如有人观察到的那样,Perl就像标点符号工厂中的一次大爆炸。如果生成的代码不是自文档化的,那么简洁性不是一个优势 已经将Groovy用于一些实用程序任务,很容易开始。对Java库的完全访问,以及一些很酷的添加,如使用闭包列出目录中的文件:// process all files printing out full name (. and .. auto excluded) new File(basedir).eachFile{ f-> if (f.isFile()) println f.canonicalPath }
试试Groovy。。它具有您需要的所有功能。您可以使用现有的java库,而无需对其类进行任何修改。 基本上。。groovy是java++,它更具动态性,学习起来也更有趣(就像ruby一样)
我不喜欢ruby或python语法,所以我将把它们放在后面。Groovy就像C/C++语法,所以我喜欢他lol:)Groovy?我只是捡起来;尝试以下方法(在groovyconsole中): 第一个代码是AOP。将拦截对文件对象的任何方法的所有调用。不需要额外的工具。这是针对现有Java类动态执行的 在第二个块中,删除“f”闭包参数。作为一个参数,它默认为闭包上下文可用的内置“it”变量 以下是您得到的: “已拦截对isFile的调用…C:\temp\img.jpg”
等等。根据你的标准,我会选择JRuby:- 丰富的API/可用库(如数学、绘图、网络)(9)
- 能够嵌入桌面(java/c++)应用程序(8)
- 易于部署(8)
- 与DLL/共享库接口的能力(7)
- 生成GUI的能力(7)
- 社区/用户支持(6)
- 便携性(6)
- 数据库操作(3)
- 语言/语义学(2)
在这里,ruby绝对领先于groovy和python。该语言在早期做出了一些非常漂亮的设计决策,这体现在标准库的一致性和强大性上,特别是,让它成为一种使用的乐趣。在与所有三种工具一起工作后,我可以说:- Python
- 拥有非常成熟的图书馆
- 图书馆被记录在案
- 可以在运行时通过docstrings从调试器/shell访问文档
- 您可以在没有IDE的情况下开发代码
- 红宝石
- 有一些很棒的库(尽管有些库的文档很糟糕)
- Ruby的透视机制是
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 }
- 我知道它不在您的列表中,但至少看看perl