基于DSLs的程序设计范式的研究.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
72 福 建 电 脑 2008年第7期 基于DSLs的程序设计范式的研究 陆晓希,徐荣国 (柳州职业技术学院 信息工程系 广西 柳州 545006) 【摘 要】:面向对象程序设计(Object Oriented Progammi.g)已经使用了近20多年,在今天某些领域或某个时期的开发 中出现了瓶颈,现在是在软件开发领域进行下一代技术革命的时候了,而且新的程序设计技术的形式也越来越清晰,下一代 编程范式正呼之欲出。这里我们将要概括一种软件开发的新方法。 【关键字】:程序设计范式;软件开发技术;DSLs 1.引言 虑之内。综上所述,在面向对象编程方式中。大部分花在”程序设 今天主流的程序设计方法已形成固定设计模式桎梏着我 计”上的时间.实际上是在寻找用编程层次的抽象的术语来表达 们,尽管大部分的开发人员还没有意识到这一点。即便在程序设 自然语言概念的方法,而这是很困难的,缺乏创造性的,或多或 计领域取得前所未有的进步一面向对象编程.能够满足我们的 少是一种时间的浪费 需要的时候,但是要解决困难的、复杂的、非结构化的问题时,开 综上所述: 发人员有时也会觉得无能为力。当前的面向对象程序设计的局 2.1已有代码的维护 限是需要程序开发人员像计算机一样思考.而不是令计算机像 传统方法是写注释或其它形式的文档来记录设计信息和模 开发人员一样思考.这个问题是严重的、根深蒂固、需要花费巨 型信息.在编写这些辅助文档的成本、文档和代码逐渐不同步的 大的努力去克服的局限。于是,本文将阐述一种程序设计的新模 趋势等几个方面的因素都证明,这是一种脆弱的解决方案;并 式.彻底重新定义程序设计的范式。 且.还有一个没被广泛认识到的事实.就是文档并不能直接连接 2.当今主流的程序设计思想 到它所记录的概念。注释和源代码被绑定到同一个地方。但是概 程序开发人员受到限制是因为他们深深依赖于那些不能轻 念可能需要表达在源代码的多个地方:其它类型的文档彻底从 易改变的”编程语言”和”集成开发环境”。如果程序需要一些扩 源代码中分离出来,只能间接的引用源代码。理想情况下,代码 展。只能等待”编程语言”得到更新:如果需要使用的集成开发环 应该是自我描述的.维护人员应该只阅读代码本身来理解代码, 境有一些额外的功能.只能等待供应商来为其添加新的性能。这 而不是首要的去阅读注释和外部的文档。 些使得程序设计的完全自由受到依赖和限制。当然.集成环境可 2.2专业领域的程序设计 以白定义或白行开发,而且效果显而易见,然而,代价必然是花 第三个主要的问题是对程序设计语言进行领域相关的扩 费大量的时间和人力.对大部分开发人员来说是不可行的。要解 展。例如.在OOP中扩展语言的主要方法是使用类库。问题是类 决的问题就是减少程序设计所依赖层次。例如,Java的主要目标 库不是用领域概念相关的术语来表达的.而是用低层的抽象诸 之一是减少对操作系统的依赖.给开发人员在不同操作系统上 如类和方法等来表达。因此,库很少能够直接表述领域概念,它 部署的自由 们必须引入额外的枝节(如一个类的运行时行为)来完成到领域 当前主流的面向对象程序开发所用的方法如下(见图1): 概念的映射。例如:GUI库和Database库。即使是该领域专家学 需要编程解决一个问题,首先.必须形成该问题解决方案的 习这些类库不是一项简单的任务.因为从领域到语言的映射不 概念模型;然后,选择一种面向对象语言,如C++或JAVA。最后, 是直接的,必须学习这种映射.并运用大量的文档来解释这个问 用选择的一种语言来编写程序实现解决方案.并编译所写的程 题,而学习将花费大量开发时间.类库变得复杂的时候,学习也 序。得出可执行的程序。解决方案与编程语言的映射编程这一步 随之更困难.更耗人力物力,程序员将会选择放弃。即便是掌握 的过程是瓶颈所在.因为大部分情况,这样的映射是不自然的. 了这种复杂的映射之后,误用类库的情况也时常发生.因为集成 在开发

文档评论(0)

heroliuguan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8073070133000003

1亿VIP精品文档

相关文档