java - 有没有令人信服的理由不使用 Groovy?

标签 java groovy jvm

我正在用 Java 开发一个 LoB 应用程序,因为我在很久没有离开这个平台之后(在过去 8 年左右的时间里都在 Fortran、C、C++ 和后来的 .Net 中 Root )。

Java 是一门语言,与我内存中的情况相比并没有太大变化。我喜欢它的优势,我可以解决它的弱点——平台已经发展壮大,并且决定了无数不同的框架,这些框架似乎在做同样的事情,这是一个不同的故事;但这可以再等一天——总的来说,我对 Java 很满意。然而,在过去的几周里,我迷上了 Groovy,而且纯粹是出于自私的观点:但不仅仅是因为它使针对 JVM 的开发变得更加简洁和有趣(而且,“groovy”)命题比 Java(语言)。

Groovy 最让我印象深刻的是它固有的可维护性。我们都(我希望!)努力编写有据可查、易于理解的代码。然而,有时我们自己使用的语言会打败我们。一个例子:2001 年,我用 C 语言编写了一个库,用于将 EDIFACT EDI 消息转换为 ANSI X12 消息。这不是一个特别复杂的过程,如果稍微涉及的话,我当时认为我已经正确地记录了代码 - 我可能已经 - 但大约六年后,当我重新访问该项目时(并且在适应 C# 之后)我发现我自己迷失在如此多的 C 样板(malloc、指针等)中,以至于我花了三天的时间进行深思熟虑的分析,才终于明白了六年前我在做什么。

今天晚上我写了大约 2000 行 Java 代码(毕竟是休息日!)。我已经尽我所能地记录了文档,但是,在这 2000 行 Java 中,很大一部分是 Java 样板。

这就是我看到 Groovy 和其他动态语言获胜的地方 - 可维护性和后来的理解。 Groovy 让您专注于您的意图,而不会陷入特定于平台的实现;它几乎是但不完全是 self 记录。当我在几年后重新审视我当前的项目(我将尽快移植到 Groovy)时,我认为这对我和我的继任者来说是一个巨大的福音,他们将继承它并继续做好工作。

那么,有什么理由不使用 Groovy?

最佳答案

我认为不使用 Groovy(或 Jython 或 JRuby)的原因有两个:

  • 如果您真的非常需要性能
  • 如果你会错过静态类型检查

这两个都是大如果。在大多数应用程序中,性能可能没有人们想象的那么重要,静态类型检查是一个宗教问题。也就是说,所有这些语言的优势之一是它们能够与本地 Java 代码混合和匹配。两全其美。

由于我不对您的业务负责,所以我说“去吧”。

关于java - 有没有令人信服的理由不使用 Groovy?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/456140/

相关文章:

java - Ajax、Java 和 Hibernate

java - 我的第一个网络客户端给出 "MessageBodyWriter not found for media type..."(JSON)

java - 使用Eclipse Batch Compiler时有哪些引用信息

mysql - 如何在 Groovy 中收集 sql 行

java - Tomcat 和 Matlab 编译器运行时内存不足错误

java - 动态更改Java中库的返回值

linux - 在 groovy 脚本中更改文件扩展名时执行 shell 命令时出现意外标记 '.'

grails - 模拟标准计数api grails/groovy

java - 使用同一类的不同版本加载类 : java. lang.LinkageError:尝试为名称重复类定义

JVM 中的 C?在编程期间显示错误