Android的gradle用到的DSL语言是个什么鬼?

栏目: Groovy · 发布时间: 7年前

内容简介:Android的gradle用到的DSL语言是个什么鬼?

1.gradle文件的是Groovy介绍

Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了 PythonRuby 和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。

Groovy就是一种典型的DSL语言,那么什么是DSL语言?

2.DSL官方定义

DSL的全称是domain-specific language,它在wiki上的定义如下:

A domain-specific language (DSL) is a computer language specialized to a particular application domain.

与之相对的是GPL(general-purpose language)。

DSL指的是针对特定应用领域而设计使用的计算机语言,而GPL指的是针对跨应用领域而设计使用的计算机语言。

常见的DSL有:HTML,Shell,make语言,ant语言,maven语言,rpm语言,dpkg语言,awk语言,正则表达式,dc计算机语言等,有些DSL语言又被称为微型语言

常见的GPL有:Java,C等

3.DSL的通俗含义

DSL(Domain-Specific Language,领域特定语言)是什么?DSL 就是针对某个领域所设计出来的一个特定的语言。因为有了领域的限制,要解决的问题就被划定了范围,所以语言不需要复杂,就可以具有精确的表达能力。且这类语言通常相当小,很容易学习使用

DSL是一种专注于某一特定领域的语言,使用通用语言(如C或者Java)当然可以得到与DSL相同的功能。但是这样会产生大量繁琐的代码并导致大量的领域知识被隐藏在通用语言构造中(如for循环,if条件,方法调用,import声明等等)

让业务人员去写代码 然后解析他们所写的代码, 我们需要做一个编译器去解析他们写的字符串, 例如金融领域特有的dsl语言

4.DSL的特征

<1 DSL的目标受众是非程序员,业务员或者最终用户

<2 DSL = 整洁的代码

<3 DSL必须以文本代码的形式出现

<4 DSL的语法应该尽可能地接近英语或者其他自然语言

参考:

http://blog.csdn.net/dslztx/article/details/46682889 http://yangbinfx.iteye.com/blog/1917334 http://developer.51cto.com/art/200812/101918.htm


以上所述就是小编给大家介绍的《Android的gradle用到的DSL语言是个什么鬼?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法引论

算法引论

[美]乌迪·曼博(Udi Manber) / 黄林鹏、谢瑾奎、陆首博、等 / 电子工业出版社 / 2010-1 / 36.00元

本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。全书共分12章:第1章到第4章为介绍性内容,涉及数学归纳法、算法分析、数据结构等内容;第5章提出了与归纳证明进行类比的算法设计思想;第6章到第9章分别给出了4个领域的算法,如序列和集合的算法、图算法、几何算法、代数和数值算法;第10章涉及归约,也是第11章的序幕,而后者涉及NP完全问题;第12章则介绍了并行算法;最后......一起来看看 《算法引论》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具