1. DSL与通用编程语言的区别
本文关键词:领域专用语言实战,由笔耕文化传播整理发布。
> 其他综合 > 领域专用语言实战 1. DSL与通用编程语言的区别 2013-10-09 16:10:18 我要投稿
本文所属图书 > 领域专用语言实战
《领域专用语言实战》不仅介绍如何使用DSL 解决问题,还会使用Ruby、Groovy、Scala、Clojure 等现代语言阐述DSL 的设计与实现,针对这些语言所代表的不同编程范式深入讨论其在DSL 设计上的优劣。本书共分三部 立即去当当网订购
领域专用语言这个名字其实已经给出了答案。你应该牢记DSL最重要的两个特征:
一种DSL专门针对一个特定的问题领域;
DSL含有建模所需的语法和语义,在与问题域相同的抽象层次对概念建模。
用DSL编程时只需要处理问题域的复杂性,你用不着操心解答域的实现细节和其他非必要因素。(关于非本质复杂性的讨论,参见附录A。)因此,多数情况下非专业程序员也能用好DSL,前提是DSL具备了适当的抽象层次。数学家能轻松学会使用Mathematica进行工作,UI设计师写起HTML来怡然自得,就连硬件工程师都有VHDL(超高速集成电路硬件描述语言,是一种在电子设计自动化即EDA领域使用的DSL)可用,这些都是非专业程序员使用DSL的例子。因为要适应非程序员,DSL必须比通用编程语言更符合用户的直觉。
程序并不是一次写完了事,之后还要维护更新很多年,,而其中负责“照料”程序的人很可能并没有参与设计最初的版本。因此,沟通是一个关键问题:程序要有能力与它的目标读者沟通。对于DSL,编译器和CPU都不是它的直接读者,有心理解程序行为的人类大脑才是它的“倾诉对象”。语言要利于交流,要让代码片段能够充分体现出建模者的思考过程。这就要求在设计DSL的时候为语法和语义都找准适合用户的抽象层次。
点击复制链接 与好友分享!回本站首页 您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力 上一篇:1.3.1 何为DSL 下一篇:2. DSL对业务用户的益处 相关文章1.1 简介和CMMI入门
1.1.1 cmmi入门
1.1.2 短语“CMMI 符合性”在本书
1.2 敏捷方法入门
1.2.1 敏捷原则和实践
1.2.2 书中使用的敏捷术语
2.1 本章的学习内容
2.8.1 精简多余过程以缩短响应时间
2.10 了解CMMI模型的目的,帮助组织
2.11 使用CMMI模型时可以通过不同的
图文推荐本文关键词:领域专用语言实战,由笔耕文化传播整理发布。
本文编号:53267
本文链接:https://www.wllwen.com/wenshubaike/mishujinen/53267.html