最近我遇到了http://monkeybars.rubyforge.org/和Rawr。构建Java应用程序似乎已经足够了。
我的问题是,选择这种方法有什么不利之处吗? Jruby到Java?与在Java中编写相比,我的应用程序是否会遭受性能损失?对我来说,优点是我没有切换到Java,并且可以使用ruby,我发现写东西要容易得多。
答案 0 :(得分:1)
当然你会失去一些表现。 Ruby(例如Smalltalk和Python等)本质上是非常动态和高级的,加上动态类型。许多人声称这可以使程序员更有效率(我倾向于同意),但OTOH,必须调度调用并且必须在运行时做出决定,这可以并且在Java等静态语言中在编译时决定。所以是的,会有一些性能损失。
但:这真的重要吗?对于99%的GUI应用程序代码,它没有。在现代家用计算机上,从用户的角度来看,平均ruby方法似乎与普通的Java方法相同:大约零秒。在两种语言中,到目前为止大部分时间都花在等待用户输入上,而在较小程度上则由磁盘I / O和GUI框架在屏幕上绘制新内容。
附录:一个可能的缺点可能是这样的桥梁通常很脆弱 - 比如,很难与原始版本(在这种情况下是Java)集成或者打破更新的版本。但我无法判断......