Groovy语言有多稳定?
我们正在用Java编写一个大型的生产系统,我正在考虑是否可以在其中一个基于JVM的动态语言中编写一些组件。 Groovy似乎是Java互操作性的最佳选择。但是,Groovy实现的可靠性足以在生产中使用(我会假设这样),而且Groovy语言规范本身足够稳定,以至于我们不会在一两年内大幅修改生产代码?你有什么经验?
总结(5/30/09):好的意见,我觉得我应该谨慎采用Groovy进行关键任务的生产使用,对于辅助用途,如把测试用例放在一起,这是一个中间位置可能很好,但先做功课。绩效是一个问题,需要与开发人员生产力的提高相平衡。 Bill和Ichorus基于Groovy的使用有同样有用的答案,所以这是一个硬币投掷。 更新(12/3/09):最近我一直在认真看一下另一种JVM语言Scala。它是由当前javac编译器的原创作者Martin Odersky和Java泛型的共同设计者设计和实现的。 Scala是一个强类型,但是使用类型引用来删除大量的样板。它是面向对象和功能编程的一个很好的结合。 James Gosling likes it. Groovy的作者James Strachan,likes it too.而Odersky的写作javac意味着Scala的原始performance is not far from Java,令人印象深刻。 更新(4/26/11):看看Groovy++,一个静态类型的Groovy扩展,它具有相当于Java的performance。看起来很有趣 解决方法
编辑:近四年后,Groovy变得更加坚实了。
我可以全心全意地推荐它用于生产级项目。 我一直在使用Groovy来支持生产应用程序一段时间,为此,它足够稳定。至于真正的Groovy真正的生产代码;我不认为我会这样做Groovy做了太多令人惊讶的事情。在过去一年中,在这方面已经有了更好的效果,但是由于生成的代码(我的问题似乎围绕着范围界定),每隔一段时间,我将遇到一个难以追踪的错误。 我已经离开了Groovy(尽管我们使用的东西很简单,而且依然存在),并且使用了Python(jython实现),这在我看来更为可预测。此外,python胜过Groovy的可读性。 您可以在Groovy中编写一些非常有趣的代码,其中包含闭包和操作符重载以及whatnot。 这些语言用于方便和速度的辅助代码…如果需要,可以在飞行中切换出来的东西。没有一个在生产中。我不认为我会把它放在生产中,除非是作为一个重要的时刻把重点放在门外,或作为概念证明或原型证明。 而在实际生产的情况下,它必须处于最恶劣的环境中,我会指派某人在纯Java中重新编写下一个版本。我98%的人肯定这两者在生产中都会很好,但是2%是不必要的风险。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |