为什么我们可以用Java语法编写Groovy代码?

为什么我们可以用Java语法编写Groovy代码?,java,testing,groovy,Java,Testing,Groovy,我刚刚接触Groovy,有几年Java经验。我遵循一个简单的教程说,95%的Groovy语法与Java相同。所以我想知道,将Groovy代码编写为Java是一种很好的实践吗?为什么不呢 感谢您可以用Java语法编写Groovy代码,从而使Java开发人员能够轻松地使用Groovy:因为该语言功能允许他们从编写他们知道的代码开始,或者他们可以将现有的Java代码复制/粘贴到Groovy脚本中 换句话说:groovy语言的设计就是为了实现这一点,以帮助吸引用户 从正反两方面来看: 编写类似java

我刚刚接触Groovy,有几年Java经验。我遵循一个简单的教程说,95%的Groovy语法与Java相同。所以我想知道,将Groovy代码编写为Java是一种很好的实践吗?为什么不呢


感谢

您可以用Java语法编写Groovy代码,从而使Java开发人员能够轻松地使用Groovy:因为该语言功能允许他们从编写他们知道的代码开始,或者他们可以将现有的Java代码复制/粘贴到Groovy脚本中

换句话说:groovy语言的设计就是为了实现这一点,以帮助吸引用户

从正反两方面来看:

  • 编写类似java的groovy代码的最大优点很简单:如果您对groovy不满意,您可以更轻松地返回。它还允许尚未学习groovy的团队成员/同事了解您的工作
  • 缺点:groovy的全部目的是为您提供Java所缺乏的一些功能,因此对于一个经验丰富的groovy程序员来说,“太多Java”风格可能会引发一个问题:“为什么在编写纯Java时使用groovy?”
除此之外,请记住groovy实际上更像是一种利基语言,从未获得过太多关注(在gradle构建生态系统之外)


从这个角度来看,我个人的两分钱:首先不要编写groovy代码。如今,即使是格拉德尔也可以与科特林一起使用。除非你为此得到了报酬,否则你最好把时间和精力花在其他语言上,比如kotlin

您可以用Java语法编写Groovy代码,使Java开发人员更容易使用Groovy:因为该语言功能允许他们从编写自己知道的代码开始,或者他们可以将现有Java代码复制/粘贴到Groovy脚本中

换句话说:groovy语言的设计就是为了实现这一点,以帮助吸引用户

从正反两方面来看:

  • 编写类似java的groovy代码的最大优点很简单:如果您对groovy不满意,您可以更轻松地返回。它还允许尚未学习groovy的团队成员/同事了解您的工作
  • 缺点:groovy的全部目的是为您提供Java所缺乏的一些功能,因此对于一个经验丰富的groovy程序员来说,“太多Java”风格可能会引发一个问题:“为什么在编写纯Java时使用groovy?”
除此之外,请记住groovy实际上更像是一种利基语言,从未获得过太多关注(在gradle构建生态系统之外)

从这个角度来看,我个人的两分钱:首先不要编写groovy代码。如今,即使是格拉德尔也可以与科特林一起使用。除非你为此得到了报酬,否则你最好把时间和精力花在其他语言上,比如kotlin

“将Groovy代码编写为Java是一种很好的做法吗?”

你是说使用Groovy编译器编译Java代码?你为什么要那样做

尽管Groovy支持Java语法,但它主要用于简化和压缩代码,提供Groovy编程习惯用法和语法糖。如果您只是一个初学者,那么在学习Groovy语法的同时,结合Groovy和Java代码是可以的。但归根结底,您应该只使用Groovy语法

因此,您的问题的答案是:不,将Groovy代码编写为Java不是一个好的实践。

将Groovy代码编写为Java是一个好的实践吗

你是说使用Groovy编译器编译Java代码?你为什么要那样做

尽管Groovy支持Java语法,但它主要用于简化和压缩代码,提供Groovy编程习惯用法和语法糖。如果您只是一个初学者,那么在学习Groovy语法的同时,结合Groovy和Java代码是可以的。但归根结底,您应该只使用Groovy语法


因此,您的问题的答案是:不,用Java编写Groovy代码不是一个好做法。

这听起来像是用电动螺丝刀代替手动螺丝刀,只是为了像手动螺丝刀一样使用;)@这就是C++的原理,就像用手动的螺丝刀代替手动螺丝刀,就像手动的一样。CFRICK这就是C++的一些东西。你是说使用Groovy编译器编译你的java代码?你为什么要那样做?如果您有一个混合的代码库,并且希望防止循环引用问题,那么将.java文件也放在.groovy源集中就更容易了,因为groovyc将它们委托给javac。但我认为问题更多的是关于编写Java代码的思考,“我在用Groovy编码”,你是说使用Groovy编译器来编译Java代码?你为什么要那样做?如果您有一个混合的代码库,并且希望防止循环引用问题,那么将.java文件也放在.groovy源集中就更容易了,因为groovyc将它们委托给javac。但我认为问题更多的是关于编写Java代码的思考“我在用Groovy编写代码”