服务热线:400-8098-313
最新推荐
基于业务解析的第五代计算机语言

阅读量:0

 
1946年2月14日世界上第一台电子数字计算机ENIAC诞生,验证了冯.诺依曼的EDVAC计算机体系的正确性并一直运用至今,历经了数次的硬件更新换代,信息技术以惊人的速度进步,英特尔(Intel)创始人之一戈登 摩尔(GordonMoore)提出:集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,性能也将提升一倍,也就是说在付出成本不变的情况下,每隔18个月计算机的性能将翻一翻。在二进制机器语言的基础上,面向各种应用涌现了许多通用或者特定领域的语言,大多数都昙花一现,然而也有一些语言如Java和C被广泛应用,究其原因最重要的还是符合用户需求发展的一般规律。用户需求驱动产生了一批影响较高的适合特定领域的编程语言,如通用商业语言COBOL,脚本语言Javascript,数据库的标准查询语言SQL,数学计算的MATLAB,数据分析的SAS,逻辑推理的Prolog等,这些语言都很好地解决领域里的专业问题。然而,语言的脚步并没有因此停止下来,面对更高的复杂的应用需求,这种演绎将持续演绎下去。
 
    60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是各自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。软件界不禁探究:大型程序的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程,程序的设计应易于保证正确性,也便于验证正确性。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言—Pascal语言出现,标志着结构化程序设计时期的开始。80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计及其以后十几年的各种编程框架思想的涌现,J2EE、.NET、以及各种MVC框架支撑并推动面向对象的继续探索,随后国际从事软件开发和语言研究的知名机构提出了构件化的软件编程思想,并积极研究基于构件化的开发语言,YiGo厚积8年后化茧成蝶。
 
    后对象时代构件思想主导程序开发
 
    面向构件的规划可以理解为面向对象设计的新层次。面向构件的开发是一种软件开发手段,在开发周期的所有阶段,都以构件为基础,包括需求分析、设计、测试、支撑性技术架构、项目管理等。这个概念把面向构件的开发扩展到用面向构件的思想来设计和实现软件系统,它在软件开发周期的各个阶段和各个方面都以构件为中心,这跟基于构件不同,比基于构件又先进了一点。设计构件的目的是为了构件可以像零部件一样用于组装,把构件设计成项目的零件,此时面向构件就比基于构件更有优势。
 
    一切应用系统的开发都是从业务需求出发的,最终目的也是为了处理好业务问题。系统分析员按照业务特性把系统划分为各个子系统,又把子系统划分为各个功能模块,便形成了构件业务化拆分逻辑。与“业务驱动”相一致,构件业务化是从业务的观点来分析构件,使得业务和构件相结合,从而面向构件可以更好的构建业务模型和业务流程。应用开发以技术为中心,业务人员和开发技术相分离,也使得用户需求、设计和开发相分离。构件业务化,是面向构件技术发展的必然,提高了业务构件的复用及适应业务变化的能力,使企业能够通过自身和业务(构件)的转换来应对来自市场的挑战。
但是构件的行为是离不开对象的,构件一般都包含了若干类或者原型对象。构件中还包含了一些固定的对象,它们被构件用来获取默认的初始状态和其他的构件资源。而构件中不一定要包括类,构件可以用过程体,全局变量,函数语言,汇编语言或者其他可用方法来实现自身的全部特性,构件中所包含的对象可以与该构件相分离,对于其他构件也是可见的。一个构件中可以不包含类元素,也可以包含一个或多个类元素,但是一个类元素只能让一个构件使用,除此之外,和类之间有继承关系相同,构件之间也存在这一些互相依赖的关系,一个构件中包含了一个类的父类但不一定包含它的子类,如果一个类的父类在一个构件中,类的子类在其他构件中,这两个类之间的继承关系就是跨构件,而且类之间的继承关系还导致了这两个构件之间的导入关系。规约的继承是保证正确性的一项很关键的技术,因为共同的规约是构件间达成共识的基础利用构件使项目结构更清楚,程序容易维护,代码重用性强。
 
    计算机语言正本清源
 
    一般来说,计算机语言分为机器语言、汇编语言和高级语言。
 
    机器语言是由01组成的数字序列,如某种计算机的指令为1011011000000000,它表示让计算机进行一次加法操作,而指令1011010100000000则表示进行一次减法操作,其前八位表示操作码,而后八位表示地址码。从上面两条指令可以看出,它们只是在操作码中从左边第0位算起的第7和第8位不同,这种机型可包含256个不同的指令,机器语言或称为二进制代码语言,计算机可以直接识别,不需要进行任何翻译,并且对不同型号的计算机来说一般是不同的。
 
    汇编语言是用特定的符号来代替某些操作,帮助记忆与学习。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址,再由汇编程序将汇编语言书写的程序翻译成与之等价的机器语言,因此,和机器语言一样,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植,针对苹果机和惠普机相同的功能要开发两套程序。
 
    高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的C#,Java,vb.net、c/c++、foxpro、delphi等,这些语言的语法、命令格式都各不相同。在这些语言中我们可以写这样的句子:c=a+b,它是将a与b相加,然后将结果给c,高级语言是面向人类而不是面向机器的语言,不用考虑异构机器内部构造的细节,只需关心任务的实现方法。
 
    高级语言克服了异构硬件的程序移植问题,计算机不直接执行高级语言,而是需要经过编译程序将其转换成机器指令,然后计算机才执行。从编译的方式上分为解释型的高级语言和编译型的高级语言两种。
 
    高级语言又分为过程性语言、面向对象语言、非过程性语言和管理解析语言等四个发展阶段。
 
    过程性语言是指编写的程序包含一系列的描述,告诉计算机如何执行这些过程来完成特定的工作,适合于那些顺序的算法,用过程性语言编写的程序有一个起点和一个终点,程序从起点到终点执行的流程是直线型的,即计算机从起点开始执行写好的指令序列,直到终点、如BASIC、COBOL、FORTRAN、Pascal、C等都是过程性语言。
查看更多 友情链接
医药研发猎头  医疗行业猎头  医药猎头网  医院猎头  医疗器械猎头  广州大学兼职网 
电话:400-8098-313
版权所有 (C) 2003 迪医信(北京)科技有限公司
人才许可证: RC1312407  京ICP备15007661号-2
迪医猎头 迪医猎头网 医药猎头 医药猎头公司 北京医药猎头公司 上海医药猎头公司 广东医药猎头公司