2006-09-12
关于DSL、MDA、UML、TDD的一些思考
这是计划中的一篇Blog,原来设想的题目是《MDA与DSL》 ,只是因为和徐昊聊天时产生了一些想法,想谈谈对MDA和DSL的新认识。现在这段时间又出现了很多关于DSL的讨论。
马大叔的两篇:领域专用语言(DSL)、界定DSL
还有在JavaEye的不少相关的讨论:DSL的讨论、规则系统or脚本系统,自然语言,DSL or Java语言、Ruby DSL
还有一篇不错的入门文章:用Ruby 创建领域特定语言(DSL)
因此自己又思考了不少东西。联想到以前说过的两句话:
“框架是弱语言,语言是强框架”
由此我们可以这么定义,DSL就是尽可能写得像语言的框架。
再接着追问,为什么框架还不够,还要发展为DSL呢?初步的看法是:语言是一种更加方便的使用方式。
前段时间徐昊一直在写一篇关于Antlr和DSL的文章,我也不断的看着文章的进展,跟他讨论着。有这么一些想法,还远不成型。
1、DSL一般来说,是Domain Specific Language的缩写,而我以为,更加实用的,应该是Domain Scripting Language,这种DSL。也就是说,DSL应该足够简单,一根筋,过程化,三分钟学会。否则,太过复杂的DSL,就不会有人喜欢了。
2、DSL的简单,是他的优点、特点、也是他的弱点和局限所在。
3、DSL与MDA最大的区别是,DSL是自底向上简化劳动的实践,而MDA则是企图自顶向下搞定一切的妄想。
马大叔的两篇:领域专用语言(DSL)、界定DSL
还有在JavaEye的不少相关的讨论:DSL的讨论、规则系统or脚本系统,自然语言,DSL or Java语言、Ruby DSL
还有一篇不错的入门文章:用Ruby 创建领域特定语言(DSL)
因此自己又思考了不少东西。联想到以前说过的两句话:
“框架是弱语言,语言是强框架”
由此我们可以这么定义,DSL就是尽可能写得像语言的框架。
再接着追问,为什么框架还不够,还要发展为DSL呢?初步的看法是:语言是一种更加方便的使用方式。
前段时间徐昊一直在写一篇关于Antlr和DSL的文章,我也不断的看着文章的进展,跟他讨论着。有这么一些想法,还远不成型。
1、DSL一般来说,是Domain Specific Language的缩写,而我以为,更加实用的,应该是Domain Scripting Language,这种DSL。也就是说,DSL应该足够简单,一根筋,过程化,三分钟学会。否则,太过复杂的DSL,就不会有人喜欢了。
2、DSL的简单,是他的优点、特点、也是他的弱点和局限所在。
3、DSL与MDA最大的区别是,DSL是自底向上简化劳动的实践,而MDA则是企图自顶向下搞定一切的妄想。
4、我当初设计的DJ(Dynamic Java),应该被称之为DML(Domian Modeling Language)——领域建模语言。相对于UML,DML是更加适合的领域建模工具,毕竟,UML受限于OO的思维模式,无法超越。
另外还有一些议论,也附在下面:
UML,是思考工具,不是开发工具。
TDD,是开发手段,不是设计手段。
UML作为开发工具,就会出现MDA那样的书呆子遐想
TDD作为设计工具,就会导致设计惰性与跳不出最初的心理暗示(隐喻)
发表评论
- 浏览: 705664 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
匪夷所思
共 19 张
共 19 张
最近加入圈子
最新评论
-
外国大牛也不过如此——《 ...
我们做的是项目,要赚钱的。他们做的是理想,要引导我们赚钱的。所以大牛还是大牛,我 ...
-- by defrag_sly -
IT开发与管理——新收获
为什么需要注册 写道引用1、锐道公司的范浩:“欲望不要超过自己的能力,就不会失败 ...
-- by soartju -
IT开发与管理——新收获
blueshoes 写道做这行的就是会吹水忽悠人,加钱加福利最实际,让员工看到未 ...
-- by xuwenhao -
IT开发与管理——新收获
欲望还是要稍微超过一点能力,好有前进的动力,不过欲望能力不匹配,人就会浮起来 [ ...
-- by xuwenhao -
IT开发与管理——新收获
写得太好了,受益匪浅
-- by miaomiao0307






评论排行榜