Groovy会消失吗?[关闭]


30

我相信这个问题已经被问过很多次了。但是,我想再次问一下这些语言的未来。

我最初被介绍给Groovy,并真的很喜欢它。我觉得语法更简单,并且更接近Java,并且能够快速学习Grails

然后是Scala,并且网络框架工作为Lift。我仍在学习Scala,有时发现语法很困难。

但是,我仍然想知道Groovy的未来是什么。当Groovy的作者说如果他对Scala 有所了解,他永远也不会创造出Groovy,那让我想知道是否还有未来。当然,Groovy已经走了很长一段路,如今许多大公司都在使用Grails。

如果今天要看Grails vs Lift,那么Grails无疑是赢家。更多的公司正在使用它。但是,鉴于到目前为止我所说的一切,我很想知道是否应该投资Groovy?Groovy离开了,Scala是更好的选择吗?如果宝马首席执行官说他驾驶梅赛德斯,那么人们会想知道我们为什么不也都驾驶梅赛德斯吧?

(我知道这个问题是否真的很广泛并且可能是封闭的。但是我希望将其设为对其他人开放的Wiki。)


1
如果今天要看Grails vs Lift,那么Grails无疑是赢家。谁说的?
Mahmoud Hossam

我只是在做受欢迎。Grails有x1000个关注者,而Lift在stackoverflow上只有x200ish。
2011年

也许电梯比较容易?有更好的文档?还是Grails的存在时间比举升时间更长?
Mahmoud Hossam

3
将Grails与Scala + Play Framework进行比较会更加公平。Play Framework也可以与Java一起使用,并且受Ruby on Rails的启发。
乔纳斯(Jonas)

3
“如果今天要看Grails vs Lift,那么Grails无疑是赢家”,您2年前就说过,但是Play!2已轻松取代Lift作为基于Scala的领先Web框架,并且比Grails(IMHO)领先。
Vorg van Geir

Answers:


23

我不认为Groovy会消失,它现在是一个自我维持的实体。Grails框架是围绕Groovy语言构建的,这是保持活跃的一个很好的理由。Groovy得到了杀手级应用程序。

我并不是说Grails是唯一至关重要的Groovy项目,Gradle也相当不错。GORM非常方便。Gant是对Ant的一个很好的改进。

更不用说Groovy / Grails现在处于SpringSource的保护之下,并且致力于两者。

如果宝马首席执行官说他驾驶梅赛德斯,那么人们会想知道我们为什么不也都驾驶梅赛德斯吧?

猜猜詹姆斯·高斯林(James Gosling)选择了什么?


Gradle不再开源!
蚂蚁

1
真正重要的是核心语言及其核心库。您无法做得比Groovy好。核心语言简单,动态,快速,并且Java库(如apache等)比其他语言要好。这是周围最好的语言,因此它不会消失。插件和Grails无关紧要-像PHP这样的动态语言世界已经知道重要的事情(就像我说的那样)。还有tomcat和jboss。现在去检查Ruby,这是个玩笑!比.net还差!现在去检查Python,找出如何处理网络代码中的错误。
Andrew Smith

你是对的..摇篮正变得越来越流行,它使用Groovy脚本..
编码器

6

以及@The Legend of 1982的评论:

Groovy将继续坚持下去,因为它是Java的动态替代品,其语法与Java足够接近,以允许许多开发人员进行切换(或至少涉足其中)。

  • 每当Matt Raible进行大量的JVM语言Web框架比较表/分析时,Grails始终位于前2个框架中。他可能是最完整的分析。

  • GPars是一个新的并发库/ API,它使Groovy大大提高了Scala的功能。

随着时间的流逝,随着Groovy弄清楚如何使用invokedynamic和其他编译器技巧,速度问题将逐渐改善。


“ Grails始终处于前2个框架之内”,但是基于PHP的后端并不被视为“框架”,即使这是绝大多数企业仍在使用的框架。
Vorg van Geir

3

Groovy是一种非常好用且被低估的语言(即使您自己提到过,它也是它的创造者)。对我而言,它在Java生态系统中的作用就像Lua在C / C ++世界生态系统中的作用。是的,速度不是很快,但是。

如果groovy会死,我会很伤心,但是这个路线图实际上告诉我们,还不错。

实际上,Groovy是非常好的,简洁的表达语言。至于Scala,我相信Groovy和Scala处于不同的领域。


3

并不是要打破Groovy或Ruby的一般卓越水平,而是90%以上的Web流量都流向了用PHP或某些Java框架编写的网站。

我不知道您从哪里得到“许多大公司都使用Grails”,这就像说“所有财富500强公司都使用Python”,这是真的,但是,对于任何关键业务,他们都没有使用python。

他们不使用Grails,Rails等是正确的。它们非常适合小型整洁的站点,但是它们的伸缩性不好。同样,大多数大型企业都有错综复杂的相互连接的系统,而构建Web应用程序时的主要挑战围绕如何连接到所有其他提供或使用您的数据的系统上来进行,按惯例编码在此领域是行不通的。

Groovy语言的主要竞争对手实际上是JPython,它在相同的空间(JVM上的脚本)中运行,并用于相同的事物(自动化测试,自动化构建等)。


1
环顾四周,这些天我都不认识使用Groovy,并且在我所在的地区没有招聘过Groovy的工作清单。因此,肯定不会很好看。我敢肯定它正在使用中,但是它并不是这里的主流技术。
Brian Knoblauch

1
如果需要使用Grails,@ Brian Groovy仍然是唯一可行的选择。(坦率地说,Grails越来越多地被Play等更干净的新兴公司所取代!)
Vorg van Geir

@詹姆斯不要忘了Eclipse作为一个Groovy的杀手JVM脚本,自动化测试和构建,等等
VORG面包车盖尔

我现在已经在使用Groovy的一家本地商店中碰面了!但是,我仍然没有见过任何使用Grails的人。
Brian Knoblauch

2

Groovy 2.0的性能使Groovy现在与Java非常接近,请参阅http://java.dzone.com/articles/groovy-20-performance-compared本文中的基准非常非常粗略,但是我现在基于Robert Hundt(https://days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf)制定的Groovy 2.1新基准进行工作,以比较Google Go的性能与其他语言。在撰写本文之前,我需要2-3周的时间,但是到目前为止,测量结果看起来非常好。带有@CompileStatic和JDK7的Groovy2.1与具有JDK6(!)的Java具有大致相同的性能。

我认为Groovy将与Kotlin甚至与锡兰竞争,而不是与Scala竞争。Scala更像是一种学术研究语言(尽管很有趣),而不是Groovy和Kotlin这样的语言来完成工作。如果您只是缺少Java中的mixin,扩展方法,真正的闭包和其他东西,那么您就必须迈出一大步。Groovy的语法与Java非常接近,与Kotlin相比,这是一个真正的卖点。


4
我不同意Scala具有学术性。实际上,它非常高效且很有帮助,目前已在Linkedin,Twitter等许多金融机构中使用。实际上,我在这里工作的地方同时尝试了Scala和Groovy,对于那些复杂程度不高的项目,我永远不会选择Groovy。
Andrea 2013年

1
就在上周,出现了Groovy 2.1静态编译模式下的一个严重错误。您可以通过bug(即静态Groovy)来提高速度,或者可以提高可靠性,但要放慢一点(即动态编译的Groovy),但是不能同时兼顾速度和可靠性。量子效应编程语言对任何人都没有用。
Vorg van Geir

1
Groovy是Java之上的一种语言(即为Java添加了一些功能)。已经用Java构建了相当复杂的系统。因此,我认为您不需要非常复杂的语言来编写复杂的应用程序。我在Groovy的错误库中添加了几个Groovy编译器错误,并且我相信Scala具有更好质量的编译器。但是我认为您不需要Scala,因为应用程序要求很高。解决方案的设计和问题领域的专业知识,而不是语言。
OlliP
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.