基于业务解析的第五代计算机语言


  台电子数字计算机eniac诞生, 验证了冯. 诺依曼的edvac计算机体系的正确性并不断运用至今, 历经了数次的硬件更新换代, 信息技术以惊人的速度进步, 英特尔(intel)开创人之一戈登·摩尔(gordonmoore)提出:集成电路上可容纳的晶体管数目, 约每隔18个月便会添加一倍, 性能也将提升一倍, 也就是说在付出成本不变的情况下, 每隔18个月计算机的性能将翻一翻。 在二进制机器语言的基础上, 面向各种运用涌现了许多

  c被普遍运用, 究其原因最重要的还是符合用户需求发展的一般规律。 用户需求驱动发生了一批影响较高的合适特定范围的编程语言, 如通用商业语言cobol, 脚本语言javascript, 数据库的规范查询语言sql, 数学计算的matlab, 数据分析的sas, 逻辑推理的prolog等, 这些语言都很好地处置范围里的专业成绩。 但是, 语言的脚步并没有因此停止上去, 面对更高的复杂的运用需求, 这种归结将持续归结下去。

  测试、评估规范, 其恶果是大批消耗巨资建立起来的软件系统, 由于含有错误而无法运用, 甚至带来庞大损失, 软件给人的感觉是越来越不牢靠, 以致几乎没有不出错的软件。 这一切, 极大地震动了计算机界, 史称“软件危机”。 软件界不禁探求:大型程序的编制不同于写小程序, 它应该是一项新的技术, 应该像处置工程一样处置软件研制的全进程, 程序的设计应易于保证正确性, 也便于验证正确性。 1969年, 提出了却构化程序设计方法, 1970年, 第一个结构化程序设计语言—pascal语言出现, 标志着结构化程序设计时期的开始。 80年代初开始, 在软件设计思想上, 又发生了一次

  革命, 其效果就是面向对象的程序设计及其以后十几年的各种编程框架思想的涌现, j2ee、、以及各种mvc框架支撑并推动面向对象的持续探求, 随后国际从事软件开发和语言研讨的知名机构提出了构件化的软件编程思想, 并积极研讨基于构件化的开发语言, yigo厚积8年后化茧成蝶。

  后对象时代构件思想主导程序开发

  VB编程面向构件的规划可以了解为面向对象设计的新层次。 面向构件的开发是一种软件开发手腕, 在开发周期的一切阶段, 都以构件为基础?ㄐ枨蠓治觥⑸杓啤⒉馐浴⒅С判约际跫芄埂⑾钅抗芾淼取?这个概念把面向构件的开发扩展到用面向构件的思想来设计和完成软件系统, 它在软件开发周期的各个阶段和各个方面都以构件为中心, 这跟基于构件不同, 比基于构件又先进了一点。 设计构件的目的是为了构件可以像零部件一样用于组装, 把构件设计成项目的零件, 此时面向构件就比基于构件更有优势。

  一切运用系统的开发都是从业务需求出发的, 最终目的也是为了处置好业务成绩。 系统分析员依照业务特性把系统划分为各个子系统, 又把子系统划分为各个功用模块, 便构成了构件业务化拆分逻辑。 与“业务驱动”相分歧, 构件业务化是从业务的观点来分析构件, 使得业务和构件相结合, 从而面向构件可以更好的构建业务模型和业务流程。 运用开发以技术为中心, 业务人员和开发技术相别离, 也使得用户需求、设计和开发相别离。 构件业务化, 是面向构件技术发展的必然, 进步了业务构件的复用及适应业务变化的能力, 使企业能够通过本身和业务(构件)的转换来应对来自市场的应战。

  但是构件的行为是离不开对象的, 构件一般都包含了若干类或者原型对象。 构件中还包含了一些固定的对象, 它们被构件用来获取默认的初始形态和其他的构件资源。 而构件中不一定要包括类, 构件可以用进程体, 全局变量, 函数语言, 汇编语言或者其他可用方法来完成本身的全部特性, 构件中所包含的对象可以与该构件相别离, 对于其他构件也是可见的。 一个构件中可以不包含类元素, 也可以包含一个或多个类元素, 但是一个类元素只能让一个构件运用, 除此之外, 和类之间有继承关系相反, 构件之间也存在这一些互相依赖的关系, 一个构件中包含了一个类的父类但不一定包含它的子类, 如果一个类的父类在一个构件中, 类的子类在其他构件中, 这两个类之间的继承关系就是跨构件, 而且类之间的继承关系还招致了这两个构件之间的导入关系。 规约的继承是保证正确性的一项很关键的技术, 因为共同的规约是构件间达成共识的基础利用构件使项目结构更清楚, 程序容

  易维护, 代码重用性强。

  计算机语言副本清源

  一般来说, 计算机语言分为机器语言、汇编语言和初级语言。

  机器语言是由01组成的数字序列, 如某种计算机的指令为1011011000000000, 它表示让计算机进行一次加法操作, 而指令1011010100000000则表示进行一次减法操作, 其前八位表示操作码, 然后八位表示地址码。 从上面两条指令可以看出, 它们只是在操作码中从左边第0位算起的第

  8位不同, 这种机型可包含256个不同的指令, 机器语言或称为二进制代码语言, 计算机可以直接辨认, 不需求进行任何翻译, 并且对不同型号的计算机来说一般是不同的。

  汇编语言是用特定的符号来替代某些操作, 协助记忆与学习。 在汇编语言中, 用助记符(memoni)替代操作码, 用地址符号(symbol)或标号(label)替代地址, 再由汇编程序将汇编语言书写的程序翻译成与之等价的机器语言, 因此, 和机器语言一样, 汇编语言依赖于详细的机型, 不能通用, 也不能在不同机型之间移植, 针对

  惠普机相反的功用要开发两套程序。

  初级语言主要是相对于汇编语言而言, 它并不是特指某一种详细的语言, 而是包括了很多编程语言, 如目前流行的c#, java, vb、c/c++、foxpro、delphi等, 这些语言的语法、命令格式都各不相反。 在这些语言中我们可以写这样的句子:

  c=a+b, 它是将a与b相加, 然后将结果给c, 初级语言是面向人类而不是面向机器的语言, 不用思索异构机器外部结构的细节, 只需关怀义务的完成方法。

  初级语言克制了异构硬件的程序移植成绩, 计算机不直接执行初级语言, 而是需求经过编译程序将其转换成机器指令, 然后计算机才执行。 从编译的方式上分为解释型的初级语言和编译型的初级语言两种。

  初级语言又分为进程性语言、面向对象语言、非进程性语言和管了解析语言等四个发展阶段。

  进程性语言是指编写的程序包含一系列的描述, 告诉计算机如何执行这些进程来完成特定的工作, 合适于那些顺序的算法, 用进程性语言编写的程序有一个起点和一个终点, 程序从起点到终点执行的流程是直线型的, 即计算机从起点开始执行写好的指令序列, 直到终点、如basic、cobol、fortran、pascal、c等都是进程性语言。

  面向对象语言是建立在用对象编程的方法基础之上的。 对象就是程序中运用的“实体”或“事物”, 按钮、菜单、对话框都是对象。 对象是基本元素, 在面向对象程序设计中只需思索如何创立对象以及创立什么样的对象;另外同一对象可用在不同的程序中, 这无形中扩大了程序员的生产率。 被分歧认可的是:c++是支持面向对象的c语言, java和j++是以c++为基础的更适于网络运用的面向对象语言, java和j++尤其适于生成网页上栩栩如生的图画和称为applet的java运用程序。

  非进程性语言只需程序员详细说明成绩的规则并定义一些条件即可。 意思就是你只用说做什么, 详细怎样做不需描述, 语言本身内置了方法把这些规则解释为一些处置成绩的步骤, 这就把编程的重心转移到描述成绩和其规则上, 而不是数学公式。 因此, 非进程型语言更合适于思想概念清晰但数学概念复杂的编程工作, 如数据库查询sql语言和逻辑式语言prolog就是非进程性语言的代表, sql只需程序员和用户对数据库中数据元素之间的关系和欲读取信息的类型予以描述, 逻辑式语言的语义基础是基于一组已知规则的形式逻辑系统, 被普遍运用于各种专家系统的完成。

  管了解析语言基于高层次的业务需求, 涵盖企业管理软件开发的特定概念和笼统, 由低层次的完成细节和详细事物笼统而来, 据有字典、单据、报表、工作流、审批流等管理业务描述的快速完成, 以最小的、不可拆分的业务规则作为管了解析语言的基本粒度, 依照管理逻辑进行组合, 构成特定管理业务的规范完成。 yigo语言是第一个完成管了解析思想的计算机语言, 拥有软件开发的原子逻辑以及n多管理业务的分子操作及其界面元素, 完成了对硬件、

  操作系统、数据库的透明操作。

  yigo扮演这样的角色:一种将技术和业务分分开来, 最大程度弱化用户对技术的依赖, 只需通过业务描述来推动技术完成, 这种业务解析的技术完成机制是将用户的需求描述成xml文档, 通过yigo解析技术在集成开发环境中自动生成系统运用。 可以看出, 一个系统运用的发生主要分为两个步骤, 一是描述用户的需求生成xml, 二是解释xml生成系统运用, 这种简单的程序开发模式, 使得编程不再是技术人员的专利, 熟习业务的人员也许做的更好!

  程序晋级实质上就是需求重新定义或者修正的进程, 反映在业务解析技术上就是导入原来的需求描述xml文件, 修正相关属性, 重重生成满足要求的xml文件, 再提交自动解析生成新的系统运用。 在这个进程中, 解释完全由系统执行, 用户只需清晰描述需求, 因此, 极大降低了二次开发的风险。

  这不只是一次技术的革新, 更是一种

  思想模式的革新, 一种程序快速交付模式的完成。

  因此, 思索到语法语义及人类思想模式的匹配等构成要素, 计算机语言阅历了五次革新, 相应发生了五代语言体系:第一代计算机语言汇编语言具备了语法语义基本形态, 第二代进程性计算机语言克制了对硬件的依赖, 完成了程序完成了不同硬件平台的可移植, 第三代面向对象计算机语言反映了人类意识形态的特点, 基于“实体”“对象”编程方法的运用, 使得人类跟计算机站在同一看法高度进行对话, 第四代非进程性计算机语言完成了计算机辅佐决策、人工

  突破了软件编程人员的自我限制, 使得计算机编程语言成为一般的管理人员而非专业技术人员也能运用和掌握的技能, 并从软件的开发模式、实施方法论等维度完成近似于自然语言的人机交互。

  综上所述, 进程性语言重在分析出处置成绩所需求的步骤, 然后用函数把这些步骤一步一步完成, 运用的时分一个一个依次调用就可以了;面向对象语言是把构成成绩事务分解成各个对象, 建立对象的目的不是为了完成一个步骤, 而是为了描叙某个事物在整个处置成绩的步骤中的行为, 面向对象的程序设计方法(objectorientedprogrammiing, 简称oop)是把设计方法从复杂繁琐的编写程序代码的工作中束缚了出来, 符合人的思想方式和理想世界。 而管了解析语言采用的构件化的思想, 是面向对象开发方法的一种发展与延伸, 构件和对象都笼统的描述了客观世界, 都将信息隐藏了起来具有相当的独立性, 但是由于构件要求是自描述的, 独立性比对象更强。
文章由婷美塑身内衣怎么样整理,收集辛苦,希望能保留出处。

posted on 2011-05-08 00:00  jiyizhen3721  阅读(440)  评论(0编辑  收藏  举报