脚本语言, 领域语言与软件自动构造


我对MDA一向不太关心它的层次结构以及转换方法,因为最重要的而且最难解决的是领域语言,如何让开发者制定最合适的领域语言才是关键。SQL是一种领域语言,它只对关系数据库进行一般操作,而且有标准的语法,世界通用。操作系统的的shell语言也是局限在宿主操作系统中的领域语言,他们的共同特征是:
1。局限在某一领域
2。不包含或很少包含界面,大多采用command line交互
3。开发者很容易掌握,说明他们很好的描述了这个领域的特征
4。基本命令都是上下文无关的服务,命令的粒度有大有小,很容易组合。
5。命令格式包括:命令名称,操作对象,操作选项,当然和普通的函数表示也没有太大差别,但是可读性就好多了,更何况在使用时还有帮助显示


今天本来想再写一点关于面向对象语言的缺点,在搜集资料的时候突然翻到这个帖子:

脚本语言:21世纪的高级编程语言 http://www.tclchina.com/article/translation/scripting_21/jiaobenbiancheng_cn.htm
Scripting: Higher Level Programming for the 21st Century
http://www.tclchina.com/article/translation/scripting_21/jiaobenbiancheng.htm

发现我的想法和作者的还是比较相近的,作者提到的很多观点都和我每天在公交车里遐想的差不多。而且作者确实做了一些面向对象语言和最近流行的脚本语言之间的比较,就更有说服力了。

每一次程序语言的变革就像资本论中生产力和生产关系的发展一样,程序语言代表生产关系,软件工程代表生产力,当软件项目越来越复杂,程序语言也需要不断变化以提高开发效率,降低开发风险。具体到语言结构上,基本反映在以下几个方面:可读性,可重用性,可扩展性。

C++,Java等语言至少还将统治计算机领域十年,以后是否会成为脚本语言的天下也很难说,然而可以肯定的是,现在开发中遇到的很多困难可以在语言层面上得到解决,比如C++中的悬挂指针,Java中的NullPointerException,在新的开发语言中将转化成更容易被处理的形式。整天埋头坐在电脑面前调试的程序员将成为稀有动物。

对于嵌入式领域,即使脚本语言可施展的空间很小,也并非没有用武之地。手机中的软件动辄几十万的代码也是很正常的,维护最基本的一行一行的代码是一件很痛苦的事情,不仅工作量大,还要冒着引入新问题的风险。相反换一个思考方向,手机软件是一个相对固定的领域(至少相对PC是这样),定义一套这个领域内部的标准语言,一边整合内部的程序,一边向用户开放接口,将非常有助于提升企业的竞争力。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值