在Java项目中与Java配对的最佳动态语言

Ale*_*sky 5 java groovy dynamic-languages jython jruby

在大型Java项目中与Java配对的最佳动态语言是什么?

我们正在考虑使用动态语言进行测试,控制器和服务.一些选项是Groovy,JRuby或Jython.每个人的优点和缺点是什么?理想情况下,我们可以从动态语言调用Java,也可以从Java调用动态语言.

编辑:如果有帮助,我们将Hibernate与PicoContainer和Webwork一起使用.

谢谢,亚历克斯

dha*_*ble 9

实际上有三种动态语言可以提供与Java无缝的互操作 - scala,groovy和clojure.从那里,我会问你的团队他们宁愿使用哪种语言,或者让他们尝试使用每种语言的原型并看看他们的想法.

如果团队效率在开始时并不重要,请查看每种语言尝试解决的问题:

  • 对于经验丰富的Java开发人员来说,Groovy会非常松散但很自然,并且由于它是鸭子打字,因此可以快速开发原型.
  • Scala将使您能够编写DSL,使其成为框架和工具的好处,您希望用更类似于描述问题的语言来解决问题.
  • Clojure将强制执行lisp的函数式编程和不可变状态概念,并且可以非常适合AI,自然语言处理等问题.

最后,我走上了寻找基于项目的完美语言的道路,并发现没有完美的语言.我上面提到的所有语言都编译为本机JVM字节代码并且非常可靠.有时你只需选择一种可能不像其他语言那样酷的语言,但会让你解决问题.

  • Scala不是动态的,它是一种静态类型语言,但它提供了编译器的类型推断,使其看起来和感觉像一个动态语言.它还具有结构类型,即"静态检查"鸭子打字. (5认同)