Groovy 是一门基于 JVM 的动态编程语言,这门成熟的 JVM 编程语言将会有怎样的发展?根据它的 2018 Roadmap,我们发现,Groovy 将会进行一些功能方面的增强,例如支持 Java 9 的模块化和 Java 8 lambda 功能。尽管 Groovy 与 Java 密切相关,但它依然提供了一些额外的功能,如编写编译时(compile-time)转换以及宏。
Apache 软件基金会在明年对 Groovy 的更新计划如下:
2.5 正式版将于 2018 年初发布,适用于 Java 7 及更高版本
2.6 和 3.0 正式版都将在大约一年内发布,目前处于 alpha 阶段。2.6 版本针对 Java 7 用户提供,3.0 版本则是 Java 8 和 Java 9。2.6 和 3.0 的功能将是相似的
Groovy 3.0 已计划的功能
Groovy 3.0 将增加对 Java 8 lambda 语法和方法引用的支持
用户将能够通过 Java 9 JVM 运行 Groovy,且不会收到关于可能不被支持的特性的警告
Groovy 可作为 JVM 上的一个模块被调用 —— 通过使用 Java 9 的模块路径代替传统的类路径(尚未准备好与模块配合使用)。不过对该功能的支持程度仍在商讨中
被称为 Parrot 的更灵活的解析器,支持额外的语法和语言特性
Java 类的 do/while 循环,确保一个语句块的执行是被支持的
宏功能扩展了构建编译时(compile-time)转换的选项
增加 Java 风格的数组初始化方式
添加新的操作符,具有诸如认证比较(identity comparison)等功能
Groovy 2.6 会为 Java 7 提供相似的功能。
Groovy 2.5 已计划的功能
增加额外的编译时(compile-time)转换以提升生产力
宏功能扩展了构建编译时(compile-time)转换的选项
更好的 JSON 解析,用于编写需要与后端交互的 Web 应用程序
改进的工具和库
可从项目的仓库下载各版本的 Groovy。
参考:InfoWorld
引用来自“dreampursuer”的评论
groovy其实跟python比较类似,因此如果能够移植python方面的类库,加强机器学习方面的功能,比python应该有更多的优势,无论从运行性能上还是编写时的代码提示上应该会有更多的优势。当然,这个不是指针对groovy语言本身,而是groovy的生态系统。引用来自“我是小强”的评论
有道理引用来自“dreampursuer”的评论
groovy其实跟python比较类似,因此如果能够移植python方面的类库,加强机器学习方面的功能,比python应该有更多的优势,无论从运行性能上还是编写时的代码提示上应该会有更多的优势。当然,这个不是指针对groovy语言本身,而是groovy的生态系统。