什么是导致替代JVM语言的实际用例?

时间:2011-03-02 18:28:20

标签: java groovy dynamic-languages

我最近正在阅读Groovy,它更多地与Java有关。我没有任何动态语言经验。我读过Groovy的创始人希望为现有的Java语言添加动态性。我的问题是这个。< / p>

Q1有什么令人信服的理由提出像在JVM上运行的Groovy这样的语言。这引起了我的兴趣。请有人帮助我。

谢谢, Nuwan Arambage

4 个答案:

答案 0 :(得分:0)

你向后问这个问题。考虑到像Groovy或Clojure这样的语言的想法,如果它可以在广泛部署的运行时(如JVM)上运行,那么它的广泛采用就会被消除。

答案 1 :(得分:0)

对我来说,它有很多在vanilla Java中无法提供的增强功能

语法糖,闭包,常用数学和包含的内容i / o库,JavaBean特性,duck typing 是一些 - 它可能会花费一点性能开销,是最大的阻止者

基本上,它为您提供了Ruby人们喜欢的东西(极其简洁和富有表现力的脚本),同时遵守Java生态系统的所有方面,并重新使用架构良好的Java类

事实上,由于Groovy 1.8迫在眉睫,我已经完全停止编写Java了 它只是一个jar放入你的类路径 这很容易......

答案 2 :(得分:0)

正如所有人都知道Java是非常强大的语言,但我们可以看到缺少“某些东西”。众所周知,java是一种面向对象的编程语言。但是这样吗?你可以在任何整数上调用这个方法,比如“10次”。不是答案,你不能。但是groovy使Java成为完全面向对象的语言。而在java处理列表中,map是一些繁琐的任务,因为程序员需要这些非常简单,groovy就是这样。 更重要的是,groovy易于阅读,维护,并且您的项目算法成为确切的代码! 那就是“algorithm”=“groovy code”

我喜欢groovy!

答案 3 :(得分:0)

我不能告诉你为什么存在其他语言,但我可以告诉你我是如何来到Groovy的。对我来说,当时重要的两点是: *如果您了解某些编程语言,Java会很糟糕。它像一个小孩一样处理你,编译器是你的母亲不断告诉你该做什么,而当涉及更困难的领域时失败。 *我需要一种脚本语言。 Jython和JRuby看起来已经死了,Beanshell太像Java了。由于我主要编写Java程序,然后Groovy对我来说几乎是自然的选择,因为它允许重用我的旧代码而不必过多地讨论转换。

关于用例的问题有点难以回答,因为我的个人历史更多是我的偏好之一。能够用更少的行编写更多代码并不完全是一个用例,但原型设计与我和用例有关。在Groovy中,您通常可以更快地编写应用程序并提供原型。如果客户坚持认为,您通常可以轻松地将现有代码再次迁移到Java。好的是,你可以在每个类的基础上做到这一点,因为Java和Groovy可以很好地交互。