近期接触了很多新的领域,在一个个大坑中摸爬打滚。其中一部分内容又让我发现了 Groovy
的新应用领域,但是我对 Groovy
越来越沦落为一个纯纯的 DSL 语言(DSL(Domain-Specific Language,领域特定语言)是一种为特定领域或问题设计的编程语言)。相较于通用编程语言(如 Java、Python),DSL 语言 专注于特定应用领域内的高效表达和操作。
想当初我刚接触 Groovy
的时候,还排在变成语言的前 20,最好成绩是 13 名。作为一门语言,其具有代表性的应用如下:Grade
、 Spock
、Grails
和 Jenkins
。在著名的 接口测试框架 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 原创精华