• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试之下一代编程范型主要原则

发布: 2009-9-02 11:23 | 作者: 不详 | 来源: 领测软件测试网 | 查看: 24次 | 进入软件测试论坛讨论

领测软件测试网

Base Language之所以如此命名,是因为它是很多需要基本编程支持如变量、语句、循环等的语言很好的基础;它能够以三种方式使用:你可以扩展它以创建出你自己的基于它的语言,你可以在你的程序中引用它的概念,你还可以以Base Language生成你的代码;将会有几种可用的生成器来将Base Language转换成其它语言如Java,C++等;当然,不是每种语言都需要使用Base Language,但是在很多情况下,它是一个很好的起点

Collection Language 

下一种我们需要的最重要的语言是和集合一起工作的语言;对集合支持的需求是普遍存在的;每种主要的主流语言都提供了对集合某种类型的支持,例如,在Java 中你有java.util,在C++中你有STL;每个人都需要集合;如果每种DSL都提供自己的对集合的支持,那么将会有a Babylon of不同的集合语言,它们互不兼容;这就是为什么MPS必须提供一种每个人都使用的单一的Collection Language的原因

在很多主流语言中,集合并非语言特性而是类库,一个例子是Java的java.util包;这种支持技术上来说是存在的,但它是不方便的,杂乱的,并且易于出错的

Yuck!今天大部分的Java代码被一行接一行多余的、重复的处理集合的代码弄的杂乱无章;图6显示了一个例子,Collection Language是如何beats the tar out of a 类库的;例子是一个计算一组给定的点的convex hull的算法;更多关于Collection Language的细节会在以后的文章中提及

User Interface Language 

User Interface Language是我们的平台中下一种最重要的DSL;有趣的是,我前面提到的Editor Language能够另人信服的用来提供用户界面,但是一种专为图形用户界面设计的语言将会更灵活;这种语言带来的益处是巨大的;Java Swing代码就是一个想成为DSL的类库的极好的例子:功能有了,但很容易被误用,并且Swing的代码是彻底杂乱的;很多如今的开发环境都包含GUI builder来简化用户界面的创建;User Interface Language将把这项任务带到一个更高的层次;我将在以后的文章中讨论更多细节

Getting Started with MPS 
我已经能够听到一些对LOP怀疑的反应:“听起来不错,但是我们的项目已经步入正轨,现在切换到LOP是不可行的”,或者“听起来不错,但用一个像LOP这样的未经检验的方法来启动一个现实生活中的项目风险太大了”,或者“听起来不错,但是它什么时候才能为它的黄金时期做好准备呢?别忘了OOP用了20年才成为主流”

好消息是我们不需要一头扎进未知里,你可以先用脚趾头试一下水;你可以在你的项目中只是应用LOP的一小块来看一下它有没有提供一些实际的好处,然后如果你喜欢你可以用多一点;在不远的未来,你可以在MPS里试验两个可能的LOP应用: 

Using MPS on Java Applications 

已经有一个IntelliJ IDEA的原型插件允许你在你的项目中包含MPS的概念模型;当你编辑模型时,模型会自动在后台被转换成Java源代码;因此,你可以使用MPS来编写 Java应用的部分模块,喜欢用多点就用多点,喜欢用少点就用少点;这意味着你得到了MPS全部的力量,比如创建和使用特定DSLs的能力,做任何你想要的语言扩展,同时使用定制的带有自动完成、错误加亮、重构功能的编辑器,等等;插件将和IDEA紧密集成,允许你在你的MPS模型中嵌入Java代码,导航到嵌入或生成的Java代码,甚至进行概念层次的调试,就像IDEA中已经可用的JSP调试支持一样;更多集成特性正在计划中;这将是使用IDEA的 Java开发者可用的一个重要的新工具

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网