【Groovy 2.0静态类型检查及编译功能介绍】
2013-08-27 14:46
357 查看
Groovy开发团队近日发布了2.0的版本,Groovy是基于Java虚拟机(JVM),属于一种动态、面向装机常用网络软件对象的编程语言,尽管是一门动态语言,但是新版本加入了静态类型检查器和可选的静态编译应用程序的某些部分的功能,Groovy2.0还包括了语法加强、更加模块化、能充分利用JDK7的动态调用(invoked dynamic)等特性。
因为很多Java开发者使用Groovy作为一种扩展语言嵌套使用,Groovy因静态类型检查特性的加入使得开发者就能像使用Java一样在编译的时候看到错误消息,如果开发者在代码中使用@TypeChecked注解,Groovy编译器将在编译阶段执行静态类型检查,指出明显的错误如变量名称输入错误等,静态类型检查器同样可以验证返回值。开发者可以混合静态类型方法和该语言的动态特性以及可选的类型检查,这些都得益于Groovy的动态特性。
Groovy2.0支持JDK7的动态调用特性,当使用JDK7版本时此特性增强了Groovy的动态调用的性能。因为JDK7可以广泛的部署,Groovy开发团队增加了新的@CompileStatic转换,使之包含了静态类型检查代码的特性,这个版本的Groovy还包括了来自于Project Coin项目的一些语法增强。
为了让Groovy更加模块化,Groovy2.0分拆了最初的Groovy Jar 文件,由多个小模块组织起来,这使得核心Groovy JAR文件大小减少一半,因此而更加可移植。用户现在可以只选取必要的模块放到他们的程序中,这样开发的好处就是支持模块的扩展。Groovy的模块现在可以提供方法给其他类使用,包括JDK或者其他的库,这些扩展的方法是完全支持的,而且能被静态类型检查器和编译器所理解。
开发团队最初计划发布这个版本叫1.9,但是此版本大量的新特性让他们改变了想法,因此而命名为Groovy2.0.
从现在起,开发团队计划每年发布一个主要的版本,Groovy3.0将在明年发布。
因为很多Java开发者使用Groovy作为一种扩展语言嵌套使用,Groovy因静态类型检查特性的加入使得开发者就能像使用Java一样在编译的时候看到错误消息,如果开发者在代码中使用@TypeChecked注解,Groovy编译器将在编译阶段执行静态类型检查,指出明显的错误如变量名称输入错误等,静态类型检查器同样可以验证返回值。开发者可以混合静态类型方法和该语言的动态特性以及可选的类型检查,这些都得益于Groovy的动态特性。
Groovy2.0支持JDK7的动态调用特性,当使用JDK7版本时此特性增强了Groovy的动态调用的性能。因为JDK7可以广泛的部署,Groovy开发团队增加了新的@CompileStatic转换,使之包含了静态类型检查代码的特性,这个版本的Groovy还包括了来自于Project Coin项目的一些语法增强。
为了让Groovy更加模块化,Groovy2.0分拆了最初的Groovy Jar 文件,由多个小模块组织起来,这使得核心Groovy JAR文件大小减少一半,因此而更加可移植。用户现在可以只选取必要的模块放到他们的程序中,这样开发的好处就是支持模块的扩展。Groovy的模块现在可以提供方法给其他类使用,包括JDK或者其他的库,这些扩展的方法是完全支持的,而且能被静态类型检查器和编译器所理解。
开发团队最初计划发布这个版本叫1.9,但是此版本大量的新特性让他们改变了想法,因此而命名为Groovy2.0.
从现在起,开发团队计划每年发布一个主要的版本,Groovy3.0将在明年发布。
相关文章推荐
- 简单描述java-Groovy 2.0静态类型检查及编译功能介绍
- OC基础-静态类型,动态类型,编译检查,运行检查,父子类指针和对象互指17
- JAVA 泛型的 raw 类型带来的其 【编译时类型检查功能丧失】
- C++ 是一门静态类型语言,在编译时会作类型检查
- 使用C/C++给静态类型数据添加运算符重载功能
- PHP面向对象之后期静态绑定功能介绍
- 动态语言、动态类型语言、静态类型语言、强类型语言、弱类型语言介绍
- 精通Groovy_A 介绍, 与Java对比, 入门, 没有类型
- 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
- .NET Framework 2.0 类型库中新增的常用功能
- ASP.NET 2.0的页面缓存功能介绍
- ASP.NET 2.0的页面缓存功能介绍 [转]
- Coverity 代码静态安全检测工具功能介绍
- part2 react官方文档笔记10--静态类型检查
- ASP.NET 2.0的页面缓存功能介绍
- Interllij 常见文件类型的图标介绍,x号标记文件为不编译文件
- Spring 2.0 的AOP介绍及其通知类型
- ASP.NET 2.0的页面缓存功能介绍
- Objective-C 编程语言(9)使能静态行为----类型检查、返回值和参数的类型、将派生类静态地转换为基类类型
- ASP.NET 2.0的页面缓存功能介绍