DSL与groovy介绍

一、DSL介绍

1、DSL语言:领域全称特定语言,domain specific language

UML建模语言,它是用来将现实中的模型转换为计算机中的模型,也是DSL语言的一种。

更常见的是HTML,这也算是DSL语言的一个分支,他是专门来做浏览器可识别的网页的。

Groovy也是DSL语言的一个分支。Groovy主要是用来做脚本,和phython类似。

HML和XML也sgroovy语言的一种

 

2、特点:与系统语言是两个极端,系统语言是希望解决所有问题,比如java既希望能做android开发,右希望能做服务端开发等等。DSL语言初衷就是解决特定领域的问题

3、DSL与通用编程语言的区别

DSL就是解决特定领域内的问题,所以DSL是纵向,往深度发展的。

通用编程语言是向宽度更广方向发展的。

 

DSL语言核心思想:

求专不求全,解决特定问题

 

二、groovy介绍

1、是一种基于JVM的敏捷开发语言

java语言是将java文件编译为字节码文件让JVM去运行,而groovy与java文件是完全一样的,同样可以将groovy编译的字节码文件交给JVM去执行。groovy还可以直接将groovy源文件解释执行。就像javascript一样。

2、结合了Python、Ruby和Smalltalk的许多强大的特性。

所以groovy写脚本也非常强大。

3、groovy可以与java完美结合,而且可以使用java所有的库

 

 

三、groovy特性

1、语法上支持动态类型,闭包等新一代语言特性

动态类型和闭包是groovy最显著的特点之一,而且groovy的闭包比其它所有语言的闭包都要强大

2、无缝集成所有已经存在的Java类库

因为groovy同样是基于JVM的,所以,它可以和java无缝地去兼容。如果愿意的话,完全可以用java的语言和语法写groovy的程序,但是一般是不会这么去干的,虽然groovy与java语法类似,但是groovy做了好多修改,所以还是有一定的不同的

3、既支持面向对象编程也支持面向过程编程

面向对象是因为groovy是基于java的扩展,而java是面向对象编程的,所以groovy也是支持面向对象编程的。

而面向过程是因为groovy又集合了python、rubby这些脚本语言的特性。所以groovy也是支持面向过程编程的。

这就要看最终要将groovy用在什么用途了。如果要用groovy开发应用程序,就要用groovy的面向对象编程,而如果希望用groovy去写脚本,那么就使用的groovy的面向过程编程。

 

四、groovy的优势

1、一种更加敏捷的编程语言

在语法上做了很多处理,在java中很多需要写的东西在groovy中是可以省略的,所以可以用更少的代码写出更多的功能

2、入门非常容易,但功能非常的强大

入门容易指在掌握java的前提下掌握groovy非常简单

3、既可以作为编程语言,也可以作为脚本语言

因为groovy既支持面向对象开发,也支持面向过程开发,groovy既集合了java,也结合了phython等脚本语言的特性

4、熟练掌握java的同学会非常容易掌握Groovy

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值