在离开平台很久之后,我正在用 Java 开发一个 LoB 应用程序(在过去 8 年左右的时间里,我一直在 Fortran、C、C++ 和后来的 .Net 中根深蒂固)。
Java,这门语言,与我记忆中的相比并没有太大变化。我喜欢它的优势,我可以解决它的弱点——平台已经发展壮大,并且决定无数不同的框架似乎做同样的事情是另一回事;但这可以再等一天——总的来说,我对 Java 很满意。然而,在过去的几周里,我已经迷上了 Groovy,这纯粹是出于自私的观点:但不仅仅是因为它使针对 JVM 的开发变得更加简洁和有趣(而且,嗯,“groovy”)命题比Java(语言)。
Groovy 最让我印象深刻的是它固有的可维护性。我们都(我希望!)努力编写有据可查、易于理解的代码。然而,有时我们自己使用的语言会打败我们。一个例子:2001 年,我用 C 语言编写了一个库,用于将 EDIFACT EDI 消息转换为 ANSI X12 消息。这不是一个特别复杂的过程,如果稍微涉及的话,我当时认为我已经正确地记录了代码 - 我可能已经 - 但大约六年后,当我重新访问该项目时(并且在适应 C# 之后)我发现我自己迷失在如此多的 C 样板(malloc、指针等)中,以至于我花了三天的时间进行深思熟虑的分析,才终于明白了六年前我一直在做什么。
今天晚上我写了大约 2000 行 Java 代码(毕竟是休息日!)。我已经尽我所知记录了最好的文档,但是,在这 2000 行 Java 中,很大一部分是 Java 样板。
这就是我看到 Groovy 和其他动态语言通过可维护性和后来的理解而获胜的地方。Groovy 让您专注于您的意图,而不会陷入特定于平台的实现;它几乎是但不完全是自我记录。当我在几年后重新审视我当前的项目(我将尽快移植到 Groovy)时,我认为这对我来说是一个巨大的福音,对我的继任者来说,他们将继承它并继续做好工作。
那么,有什么理由不使用 Groovy 吗?