@佐克曼
我有使用 Jython 和 JRuby 的经验……更多的是使用 JRuby。
我必须说它们是很棒的平台,你会得到动态语言的巨大好处,加上对 Java 的丰富的 3rd 和 1st 方库支持,加上高度独立于平台的基础编译语言,加上两种语言的垃圾收集(理解这一点很重要)内存管理,但我的阵营是你最好避免它,除非你真的需要它,例如如果你正在做驱动程序或内核级别的东西,或者需要你可以召集的每一盎司性能的东西)。
我只想讲一个简短的轶事。我最近正在构建一个 ruby 脚本来索引 Solr 实例,我需要访问一个 DB2 数据库(我们要索引的数据源)。直接 Ruby 惨遭失败……它具有糟糕的 DB2 支持,需要完整安装 DB2 express 版本……它仍然没有像宣传的那样工作(我在完成安装后无法编译 Ruby 驱动程序)。解决方案是切换到 JRuby 并从 Ruby 端使用 JDBC,使用几个易于安装的 jars(以及比 DB2 安装小得多的文件)。
我绝对强烈建议考虑使用 JRuby 或 Jython,而不是使用 C 作为后端...我发现算法和资源性能通常对应用程序性能的影响比您选择的语言大得多,而且 Java 平台有提供了很多东西(自从人们谴责它比 C/C++ 慢得多的早期以来,它已经走了很长一段路)。除非您正在执行无法通过算法重构的非常繁重的计算密集型事情,否则无论您选择什么,您很可能都不需要使用编译语言。
PS 在 JRuby 中与 Java 的集成是非常无缝的(无论如何从 JRuby 到 Java 端),所以维护一个桥不是问题。我认为 Jython 是一样的,但我对它的体验要少得多。