近期接触了很多新的领域,在一个个大坑中摸爬打滚。其中一部分内容又让我发现了 Groovy 的新应用领域,但是我对 Groovy 越来越沦落为一个纯纯的 DSL 语言(DSL(Domain-Specific Language,领域特定语言)是一种为特定领域或问题设计的编程语言)。相较于通用编程语言(如 Java、Python),DSL 语言 专注于特定应用领域内的高效表达和操作。

想当初我刚接触 Groovy 的时候,还排在变成语言的前 20,最好成绩是 13 名。作为一门语言,其具有代表性的应用如下:GradeSpockGrailsJenkins。在著名的 接口测试框架 restassured 源码当中,也有大量的 Groovy 痕迹。

由于入行较晚,没赶上 Groovy 辉煌的时候,从上古资料中也能看到很多 Groovy 引领的潮流,其中不少是被 Java 吸纳,最具代表性的就是 Lambda 语法动态类型

我接触时候 Groovy 已经迎来了 3.x 版本,很多语法都遥遥领先 Java 。到现在 Groovy 已经到了 5.x 版本,但是好像也没有特别升级,本人也懒得升级使用。据我了解,很多版本都还停留在 2.x ,毕竟 又不是不能用 。而且在编程语言排名中,Groovy 已经很难在前几页找到了,曾经的代表应用似乎也没能延续往日的荣光。

据我观察 Groovy 已经事实成为一种 DSL 语言 。当然,Groovy 也非常适合作为一种 DSL 语言 。主要以下优势:

Groovy 似乎也与 Java 失去了竞争的能力,安心充当一门 DSL 语言 。而这样也能够很好地发挥优势,避免劣势,毕竟 Groovy 明显的缺陷着实不太适合完全充当一个项目的主力语言。

总体感觉,Groovy 生态这些年并没有很好发展,缺点并没有得到很好修复,但作为一门 DSL 语言Groovy 非常合适。

FunTester 原创精华


↙↙↙阅读原文可查看相关链接,并与作者交流