面向对象方法的发展历史
- 格式:doc
- 大小:27.50 KB
- 文档页数:2
了解编程语言的历史与发展趋势编程语言是与计算机交互的工具,它们用于编写计算机程序来实现各种不同的任务。
编程语言起源于20世纪50年代,自那时以来,经历了多次演化与变革,为开发者提供了更强大、更灵活的工具。
本文将介绍编程语言的历史发展,以及当前的发展趋势。
一、编程语言的起源与发展1.机器语言最早期的计算机程序使用的是机器语言,它是计算机硬件能够识别和执行的一套二进制指令。
机器语言需要直接操作底层硬件,并且非常难以阅读和编写。
这种语言完全依赖于计算机硬件的结构,不具备可移植性。
2.汇编语言随着计算机硬件的发展,人们引入了汇编语言。
汇编语言是机器语言的抽象表现形式,使用助记符代替了二进制指令,使程序的可读性得到提高。
每一条汇编指令仍然直接对应于一条机器指令,需要由汇编器转换为机器语言。
3.高级编程语言20世纪50年代晚期,人们开始开发更高级的编程语言,通过引入更抽象的概念和语法,使得程序更加易读、易写并且具有更高的可移植性。
1958年,约翰·麦卡锡(John McCarthy)开发出了Lisp语言,它被认为是第一种高级编程语言之一。
Lisp采用了一种基于表达式的语法,并且首次引入了垃圾回收等概念,这些概念后来成为其他编程语言的基础。
随后,FORTRAN、COBOL、ALGOL等编程语言相继问世。
FORTRAN主要用于科学计算,COBOL专注于商业应用开发,而ALGOL则提供了一种通用的过程式编程语言的范式。
1960年代,Charles H. Moore开发了Forth语言,它是一种基于栈的编程语言,具有简洁的语法和高度的可定制性。
虽然Forth没有像其他编程语言那样广为流行,但它对后来的编程语言设计产生了深远的影响。
1970年代,C语言问世,它由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室开发。
C语言具有简洁的语法和强大的表达能力,成为了后来操作系统、网络编程等领域的主流语言。
ope产品发展史
OPE(Object Process Engineering)是一种面向对象的流程工程方法,旨在提供一种方法来创建和管理复杂的业务流程和应用程序。
OPE的发展历史可以追溯到20世纪80年代。
在那个时候,许多组织开始寻找一种更好的方法来管理和优化他们的业务流程,传统的流程建模方法无法满足他们的需求。
于是,一些研究人员开始探索面向对象的方法来处理业务流程。
1990年,John Arthur Zachman提出了Zachman框架,该框架
是面向对象方法论的一个重要里程碑。
该框架提供了一个分类结构,用于描述组织的业务流程和技术组件。
随着面向对象方法论的不断发展,一些研究人员开始将其应用于业务流程建模和工程领域。
1993年,John Howard提出了"OPE的原理和实践"这本书,系统地介绍了OPE的理论和方法。
在接下来的几年里,OPE逐渐得到了企业界和学术界的认可
和应用。
许多组织开始使用OPE来重新设计和优化他们的业
务流程,并开发相应的软件系统。
随着信息技术的不断进步,OPE也在不断演进和发展。
现在,许多软件开发工具和平台都支持OPE方法,使得它更容易应
用于实际项目中。
总的来说,OPE的发展史可以追溯到20世纪80年代,它是一种面向对象的流程工程方法,用于创建和管理复杂的业务流程和应用程序。
随着时间的推移,OPE逐渐得到了广泛的应用和发展。
计算机编程语言发展历史大事件计算机编程语言的发展历史是计算机科学领域中一个重要且有趣的话题。
从最初的机器语言到现代的高级编程语言,每一个语言都有自己的优点和特点,推动着计算机技术的进步和应用领域的扩展。
本文将重点介绍计算机编程语言发展历史中的一些重大事件。
一、机器语言的诞生计算机编程语言的起源可以追溯到20世纪40年代,当时计算机刚刚问世并且非常庞大且复杂,无法直接与人类进行交互。
为了操作这些计算机,人们设计了机器语言,即一系列由二进制代码组成的指令,用于控制计算机硬件执行特定的任务。
机器语言是计算机编程语言发展的起始点,为后来的高级编程语言打下了基础。
二、高级编程语言的兴起随着计算机的迅速发展和应用领域的不断扩展,人们开始追求更加高效和易用的编程方式。
在20世纪50年代末,第一种高级编程语言Fortran(Formula Translation)问世。
Fortran是用于科学和工程计算的一种编程语言,它使用了更加简洁和易懂的语法,大大提高了程序设计的效率。
Fortran的成功推动了高级编程语言的发展,为后来的编程语言奠定了基础。
三、C语言的诞生1972年,计算机科学家丹尼斯·里奇(Dennis Ritchie)在贝尔实验室设计并推出了C语言。
C语言在计算机编程语言历史上具有革命性的意义。
首先,C语言采用了高级语言的特性,可以进行结构化编程,提高了程序的可读性和可维护性。
其次,C语言可以编译成机器语言,使程序能够在不同的计算机平台上运行。
由于C语言的简洁和高效,它迅速流行开来,并成为后来很多编程语言的基础。
四、面向对象编程的兴起面向对象编程(OOP)是计算机编程语言发展的重要里程碑。
在20世纪80年代,面向对象编程开始流行起来,许多新的编程语言如C++、Java和Python等应运而生。
面向对象编程强调将程序划分为对象,以及对象之间的交互和继承关系。
这种编程方式使得程序的设计更加灵活和可扩展,有助于提高软件开发的效率和质量。
数据库发展的历史
数据库的发展历史可以追溯到20世纪50年代,以下是数据库发展的主要阶段:
1.早期阶段(20世纪50年代至60年代):在这个阶段,数据库主要用于文件管理和数据存储。
早期的数据库系统使用层次模型和网状模型来组织数据。
2.关系型数据库时代(20世纪70年代至80年代):20世纪70年代,E.F.Codd提出了关系型数据库的理论,为关系型数据库的发展奠定了基础。
这个时期出现了许多关系型数据库管理系统(RDBMS),如IBM的DB2、Oracle、SQLServer等。
3.面向对象数据库时代(20世纪80年代末至90年代):随着面向对象编程的兴起,面向对象数据库应运而生。
它们试图更好地支持面向对象编程范式和复杂的数据类型。
4.分布式数据库和NoSQL时代(21世纪初至今):随着互联网的发展和大数据的出现,分布式数据库和NoSQL数据库变得越来越流行。
NoSQL数据库提供了更高的可扩展性和灵活性,以适应大规模数据存储和处理的需求。
5.云数据库和大数据时代(近年来):随着云计算和大数据技术的发展,云数据库和大数据处理成为数据库领域的
新趋势。
云数据库提供了可伸缩性、灵活性和按需付费的优势,而大数据技术则专注于处理和分析大规模数据集。
数据库技术不断发展和演进,每个阶段都带来了新的理念和解决方案,以满足不断变化的业务需求和技术挑战。
程序设计语言发展历史程序设计语言是计算机科学的重要组成部分,随着计算机技术的不断发展,程序设计语言也经历了多个阶段的发展和演变。
下面将分别介绍机器语言、汇编语言、高级语言、面向对象编程(OOP)、函数式编程、动态类型语言、静态类型语言、解释型语言和编译型语言的发展历史。
1.机器语言机器语言是计算机最早的编程语言,它直接利用计算机硬件的指令集进行编程。
机器语言的优点是执行速度快,但是代码可读性差,难以维护和修改。
由于每个程序都需要手动编写,因此编写效率低下,开发周期长。
2.汇编语言汇编语言是机器语言的抽象,它使用助记符来表示机器指令。
汇编语言的优点是比机器语言更容易编写和理解,但是它仍然需要程序员手动编写代码,并且需要花费大量时间进行调试和优化。
3.高级语言高级语言是一种更接近人类语言的编程语言,它包括了变量、数据类型、控制结构等基本概念。
高级语言的优点是编写效率高,代码可读性强,易于维护和修改。
随着技术的发展,高级语言逐渐分为面向过程编程和面向对象编程两种风格。
4.面向对象编程(OOP)面向对象编程是一种以对象为基础的编程风格,它将数据和操作封装在一个对象中,并通过类和继承来实现代码的重用和扩展。
OOP的优点是提高了代码的可重用性和可维护性,同时也增加了代码的复杂度和学习难度。
5.函数式编程函数式编程是一种基于函数的编程风格,它将计算过程看作一系列函数的调用。
函数式编程的优点是代码简洁、易于理解和实现,同时具有较好的并发性能和可移植性。
但是函数式编程也存在一些问题,如代码可读性差、难以理解等。
6.动态类型语言动态类型语言可以在运行时动态地改变变量的类型,这种语言通常具有较高的灵活性和可读性。
动态类型语言的优点是可以减少类型转换的错误和代码的复杂性,同时也提高了代码的可读性和可维护性。
但是动态类型语言也存在一些问题,如类型不安全、难以调试等。
7.静态类型语言静态类型语言需要在编译时进行类型检查,以确保变量类型的正确性。
面向对象程序设计的历史及发展姓名:郭一恒班级:0901学号:2009302540014自从计算机发展以来,程序设计的方法为了适应越来越复杂的程序设计的需要而发生了急剧的变化。
计算机刚问世时.程序设计是通过计算机的控制板用二进制机器指令打孔完成的。
随着程序设计的发展,产生了汇编语言,程序员用助记符号代替机器指令,能够处理更大更复杂的程序。
随着计算机处理事物的越来越多,产生了高级程序设计语言,它们给程序员提供更多的处理复杂事务的工具。
但它们不是支持结构清晰、易于读懂的程序设计语言。
60年代诞生了结构化的程序语言,这就是者如c语言和Pascal语言支持的方法。
结构化程序设计语言的应用使得有可能较容易地编写复杂程度适中的程序。
一旦达到一定的复杂程度度,使用结构比的程序语言也会无法控制,其复杂程度已远远超过了程序员的管理所及。
如今,许多程序没汁语言已经或达到了结构化程序设汁方法的极限。
应运而生的面向对象的程序设汁方法就是为了解决这类问题的。
面向对象的程序设汁方法汲取了结构化程序设计方法的先进的思想,并把它同支持用户用新方法进行程序设计的概念结合起来。
所有的面向对象的程序设计语言一般都包含三个最基本的概念:对象、继承性和多态性。
一、面向对象程序设计的历史面向对象程序设计方法作为90年代程序设计的新思想、新方法,已经和正在给计算机界带来一场深刻的革命。
实际上,对面向对象程序设计方法的研究由来已久。
早在本世纪40年代,在对数字模拟的分析研究中就引入了“对象”的概念,随后在对模拟系统的分析中,大量的模拟仿真语言,如Simscript、GPSS、CSL和SimulaⅡ,为此应运而生。
在Simula Ⅱ中的“活动(Activity)、过程(Process)”概念正是如今OOPL中“类”和“对象”概念的雏型。
60年代中期,随着SimulaI中不断引入子类、模块、封装等新概念,导致了Simula67,Modula—2等具有OOP特点的一些模拟仿真语言的出现,它们被称为OOPL的祖先或前身。
计算机语言的历史计算机语言的历史可以追溯到20世纪40年代,当时人们开始探索如何使用机器语言编程计算机。
以下是计算机语言发展的主要里程碑。
1. 机器语言(1940年代):机器语言是计算机能够理解的二进制代码。
程序员必须手动编写这些代码,这使得编程非常困难和耗时。
2. 汇编语言(1950年代):汇编语言是一种更高级别的语言,它使用助记符号来代替二进制代码。
这使得编程更加容易,但仍然需要程序员手动编写代码。
3. 高级语言(1950年代后期):高级语言是一种更加抽象和易于理解的语言。
它们使用类似于英语的语法,可以更容易地编写复杂的程序。
FORTRAN和COBOL是最早的高级语言之一,它们分别用于科学计算和商业应用。
4. 结构化编程(1960年代):结构化编程是一种编程方法,旨在使程序更易于理解和维护。
它强调使用顺序、选择和循环结构来组织代码,以及避免使用goto 语句等不规范的控制结构。
5. 面向对象编程(1970年代):面向对象编程是一种编程范式,它将数据和操作数据的方法打包在一起,形成对象。
这种编程方法使得代码更加模块化、可重用和易于维护。
Smalltalk是最早的面向对象编程语言之一。
6. 脚本语言(1980年代):脚本语言是一种用于自动化任务的编程语言,它通常不需要编译,而是通过解释器直接执行。
Perl和Python是流行的脚本语言。
7. 网络编程语言(1990年代):随着互联网的普及,人们开始开发专门用于网络编程的语言。
Java和JavaScript是最著名的网络编程语言之一。
8. 函数式编程(2000年代):函数式编程是一种编程范式,它强调使用函数来处理数据,而不是通过修改变量的值来实现。
函数式编程语言包括Haskell和Scala。
总之,计算机语言的发展历程是一个不断演进的过程,每一种语言都有其独特的特点和应用场景。
UML的发展历史UML(Unified Modeling Language)是一种用于软件开发的工具,它通过图形化表示来描述各种软件系统的结构和行为。
UML 在软件开发过程中具有重要的意义,因为它可以帮助人们更好地理解软件系统,提高软件开发的效率和质量。
在本文中,我们将详细了解UML的发展历史。
1. UML的起源UML的起源可以追溯到20世纪80年代末,当时软件开发行业存在一些问题,例如软件开发周期长、成本高、缺乏标准化方法和工具等。
为了解决这些问题,一些软件工程师开始研究建立一种新的建模语言和工具,以便更好地描述和管理软件系统。
1995年,UML的前身OMT(Object Modeling Technique)首次发布,OMT是一种面向对象的建模技术,被广泛用于软件开发的早期阶段。
OMT包括三个重要的建模部分:对象模型、动态模型和功能模型。
对象模型描述了系统中的对象及其关系,动态模型描述了对象的行为,功能模型描述了系统的功能。
2. UML的发展随着需求的变化和技术的发展,UML在发展过程中也经历了一些重要的变化。
2.1 UML 1.x1996年,OMG(Object Management Group)成立了UML工作组,正式开始研发UML。
1997年,UML 1.0发布,它基于OMT 和其他面向对象建模技术,兼容了各种不同的建模方法和工具。
UML 1.x包括13种建模图,如类图、对象图、用例图、活动图、状态图、序列图等,其中类图是最基础和最重要的建模图。
2.2 UML 2.x2003年,UML 2.0发布,UML 2.x相对于UML 1.x而言,增加了很多新的特性和建模图,例如组件图、部署图、时序图、通信图、交互概览图。
UML 2.x的最大特点是引入了元模型的概念,元模型可以用于描述任何模型或模型元素,包括UML自身。
元模型的引入意味着UML成为了一个更加强大和灵活的建模语言。
2.3 UML 2.52015年,UML 2.5发布,它是UML的最新版本,与UML 2.4相比,UML 2.5主要是作了一些修补和改进,以提高其质量和稳定性。
计算机语言的发展历史计算机语言是计算机与人进行交流的工具,它允许人们通过编程来控制计算机完成各种任务。
随着计算机科学的发展,计算机语言也不断演化和进步。
本文将从早期的机器语言开始,逐步介绍计算机语言的发展历程。
1. 机器语言计算机语言的起源可以追溯到早期的机器语言。
机器语言是一种由二进制代码组成的语言,直接与计算机硬件进行交流。
程序员需要编写一长串的0和1来告诉计算机执行的指令。
这种语言对人类来说非常复杂和不直观,且容易出错,因此并不适合大规模应用。
2. 汇编语言为了简化程序员编写机器语言的困难,汇编语言应运而生。
汇编语言使用助记符(mnemonic)来代替0和1的编码,使得编写指令更加直观。
程序员可以使用简单的助记符来描述计算机指令,然后通过汇编器将其转换成机器语言。
虽然汇编语言相对机器语言来说更容易理解和编写,但仍然需要对计算机硬件有一定的了解。
3. 高级语言随着计算机的普及,人们对计算机的需求也越来越多样化。
为了满足日益增长的需求,高级语言应运而生。
高级语言是一种更接近人类语言的编程语言,它使用更加自然和抽象的语法来描述计算机指令。
高级语言可以通过编译器或解释器将程序转换成机器语言,从而实现对计算机的控制。
4. 第一代高级语言FORTRAN(Formula Translation)是第一代高级语言之一,它于1957年问世。
FORTRAN主要用于科学计算,为科学家提供了一种更高效和简洁的编程方式。
随后,ALGOL、COBOL等高级语言相继出现,为不同领域的应用提供了更多的选择。
5. 第二代高级语言第二代高级语言的典型代表是C语言。
C语言于1972年由贝尔实验室的丹尼斯·里奇(Dennis Ritchie)开发,它在计算机科学和软件工程领域广泛应用。
C语言具有高效、简洁和可移植的特点,成为后来许多其他高级语言的基础。
6. 面向对象语言面向对象编程(OOP)的兴起推动了面向对象语言的发展。
软件技术发展历史
软件技术的发展历史可以追溯到上世纪40年代的计算机诞生。
以下是软件技术发展的一些重要里程碑:
1. 机器语言和汇编语言时代(1940s-1950s):早期计算机使用机器语言编程,直接操作硬件。
后来出现了汇编语言,使程序员能够使用助记符来代替机器语言。
2. 高级编程语言时代(1950s-1960s):高级编程语言的出现使程序开发变得更加可读、可维护。
FORTRAN、COBOL、ALGOL等语言相继出现,为软件开发奠定了基础。
3. 结构化编程时代(1960s-1970s):结构化编程提出了使用顺序、选择和循环等结构来组织代码的概念。
这导致了高效、模块化和可维护的软件开发方法的发展。
4. 面向对象编程时代(1970s-1980s):面向对象编程(OOP)通过封装、继承和多态等概念,使得软件开发更加模块化、可重用和可扩展。
C++和Java 等语言推动了OOP的发展。
5. 互联网时代(1990s-2000s):互联网的兴起极大地推动了软件技术的发展。
出现了Web应用程序、电子商务、移动应用和社交媒体等。
此时,前端和后端开发、数据库管理和网络安全等技术得到了大幅发展。
6. 敏捷开发和DevOps(2000s至今):敏捷开发方法强调快速迭代、团队合作和持续交付,并推动了软件开发流程的变革。
DevOps则强调开发和运维的紧密协作,以实现软件的快速、稳定交付。
除了上述里程碑,还有很多其他的软件技术发展趋势,如云计算、大数据、人工智能和区块链等。
软件技术的发展是一个不断演进的过程,在不同的时间段出现了不同的方法和技术,为我们创造了现代化的数字化社会。
软件工程的发展历史(一)引言概述:软件工程是指将系统化、规范化和可定量化的方法应用于软件的开发、运行和维护的一门工程学科。
软件工程的发展历史可以追溯到上世纪60年代。
本文将从早期的软件开发方式、软件开发模型、软件工程方法学、软件工程的演化以及软件工程的未来趋势五个大点来阐述软件工程的发展历史。
正文内容:早期的软件开发方式:1. 自制软件:早期的软件开发主要通过自制软件的方式进行,由程序员独立完成。
2. 软件危机:随着软件规模的扩大,软件危机逐渐出现,难以满足需求、超预算和延期交付等问题成为普遍现象。
软件开发模型:1. 瀑布模型:20世纪70年代,瀑布模型被引入软件开发中,将软件开发划分为需求分析、设计、编码、测试和维护等严格的阶段。
2. 增量模型:为了解决瀑布模型中需求变更困难的问题,增量模型逐渐兴起,将开发分为多个阶段,每个阶段都有对应的功能交付。
软件工程方法学:1. 结构化方法:20世纪70年代末,结构化方法成为主流的软件开发方法,通过模块化、自顶向下设计等手段来提高软件的可维护性和可移植性。
2. 面向对象方法:20世纪80年代,面向对象方法兴起,将系统抽象为对象,通过封装、继承和多态等特性来提高软件的可重用性和可扩展性。
软件工程的演化:1. 软件工程的学科化:20世纪80年代,软件工程成为一门独立的学科,开始有专门的学校开设软件工程专业。
2. 迭代与增量开发:为了解决软件开发中的不确定性和需求的变更,迭代与增量开发开始流行,将软件开发过程分为多个迭代和增量。
软件工程的未来趋势:1. 敏捷开发:近年来,敏捷开发在软件工程领域中的影响力不断增强,以迭代、灵活、跨职能团队等特点为基础,实现快速交付高质量的软件。
2. 人工智能与自动化:随着人工智能和自动化技术的发展,软件工程将向着更自动化、更智能化的方向发展,提升软件开发的效率和质量。
总结:软件工程的发展历史经历了从自制软件到瀑布模型、增量模型的演变,从结构化方法到面向对象方法的创新,逐渐形成了一套规范的软件开发流程和方法论。
计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持.具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式.计算机语言的演化从最开始的到语言到各种结构化,最后到支持技术的.1、计算机语言的发展历史:二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机.当时的计算机十分昂贵,唯一想到利用来解决问题的人是德国工程师楚泽konrad zuse.几十年后,计算机的价格大幅度下跌,而也越来越复杂.也就是说,开发时间已经远比运行时间来得宝贵.于是,新的集成、可视的越来越流行.它们减少了所付出的时间、金钱以及脑细胞.只要轻敲几个键,一整段代码就可以使用了.这也得益于可以重用的程序代码库.随着c,pascal,fortran,等结构化的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图.由此诞生的三种重要控制结构,以及一些基本都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题.随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----,由此也诞生了一批支持此技术的,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成.由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,等等.2、计算机语言的发展现状:目前通用的有两种形式:语言和.语言的实质和是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的,更容易识别和记忆.用语言所能完成的操作不是一般高级语言所能实现的,而且经生成的不仅比较小,而且执行速度很快.高级语言是目前绝大多数编程者的选择.和语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用、等,这样就大大简化了程序中的指令.同时,由于省略了很多细节,编程者也就不需要有太多的专业知识.高级语言主要是相对于语言而言,它并不是特指某一种具体的语言,而是包括了很多,如目前流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同.高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 解释类和编译类.3、计算机语言的发展趋势:以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项的简单方式来完成编程.下面是一张计算机语言发展图表,从中不难得出计算机语言发展的特性:2 简单性提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序2 面向对象提供简单的类机制以及动态的接口模型.对象中封装状态变量以及相应的方法,实现了模块化和信息隐藏;提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用2 安全性用于网络、分布环境下有安全机制保证.2 平台无关性与平台无关的特性使程序可以方便地被移植到网络上的不同机器、不同平台.三、面向未来的汉语:从计算机诞生至今,计算机自硬件到软件都是以印欧语为母语的人发明的.所以其本身就带有印欧语的语言特征,在硬件上cpu、i/o、存储器的基础结构都体现了印欧语思维状态的"焦点视角",精确定义,分工明确等特点.计算机语言也遵照硬件的条件,使用分析式的结构方法,严格分类、专有专用,并在其发展脉络中如同他们的语言-常用字量和历史积累量极度膨胀.实际上,的发展越来越强调整体功能,计算机语言的问题日益突出.为解决这一矛盾,自六十年代以来相继有500多种计算机语言出现,历经五代,至今仍在变化不已.汉语没有严格的语法框架,字词可以自由组合、突出功能的整体性语言.在计算机语言问题成为发展瓶颈的今天,汉语言进入设计语言行列,已经成为历史的必然.1、发展汉语程序设计语言的理由:1计算机语言问题解决,只能从人类语言中寻找解决方案;2计算机语言的现存问题是形式状态与功能需求的矛盾;3的发展已为整体性语言-汉语进入设计语言提供了条件2、汉语程序设计语言的技术特点:1汉文字的常用字高度集中,生命力极强,能灵活组合,简明准确地表达日新月异的词汇,这些优点是无法企及的.2汉语言的语法简易灵活,语词单位大小和性质往往无一定规,可随上下语境和逻辑需要自由运用.汉语言的思维整体性强,功能特征突出.3汉语程序设计语言的发明者采用核心与无限相结合的方法,实现了汉语言的词素自由组合;将编译器与解释器合一,使汉语程序设计语言既能指令又能编程;以独特的虚拟机结构设计,将与意识流分开,达到汉语程序设计语言与汉语描述完全一致,通用自如.具有汉语言特性的汉语程序设计语言的出现,打破了汉语言不具备与计算机结合的条件而不能完成机器编码的神话.还为计算机科学与现代语言学研究提出了一条崭新的路径,它从计算机语言的角度,从严格的机械活动及周密的算法上,向世人证实汉语的特殊结构状态,及其特殊的功能.四、计算机语言之父——尼盖德尼盖德帮助奠下了基础,为计算机业做出了巨大贡献.尼盖德是奥斯陆大学的教授,因为发展了simula编程语言,为ms-dos和打下了基础而享誉国际.克里斯汀·尼盖德于1926年在奥斯陆出生,1956年毕业于奥斯陆大学并取得数学硕士学位,此后致力于计算机计算与编程研究.1961年~1967年,尼盖德在挪威计算机中心工作,参与开发了面向对象的编程语言.因为表现出色,2001年,尼盖德和同事奥尔·约安·达尔获得了2001年a.m.奖及其它多个奖项.当时为尼盖德颁奖的计算机协会认为他们的工作为java,c++等编程语言在个人电脑和家庭娱乐装置的广泛应用扫清了道路,“他们的工作使的设计和编程发生了基本改变,可循环使用的、可靠的、可升级的软件也因此得以面世.”尼盖德因其卓越的贡献,而被誉为“计算机语言之父”,其对计算机语言发展趋势的掌握和认识,以及投身于计算机语言事业发展的精神都将激励我们向着计算机语言无比灿烂的明天前进.。
面向对象方法的发展历史
(一)80年代面向对象的方法已成为新趋势
在五年之内方法论从5种开发到50种以上,面向对象最早开始提到的概念是在1986年,一开始就有五、六种不同的方法论,但在五年之内,它就开发到50多家,所以开发速度是很快的。
布什(Booch),面向对象软件工程在这些方法之中居于领导地位。
比较出名的Booch 方法由布什所发明;OMT由詹姆斯、云豹(James Rumbaugh)所发明;00SE由雅寇森(Jacobson)所发明。
另外的方法如:尤顿(coad-Yoadon),雪梨、米勒(Shlaer-Mellor)等各种不同方法。
(二)不同的总是表面
在共同的想法上集中收敛,因为各家所提出的方法都很多,大家当然要大战一场。
每一个人都说大话,说他们自己的最好,但事实上如果看到他们的本质,很多的方法都是相同的,性质也相似。
不同的是记号法和术语,不同的不是它的设计结构,而是所用的语言、术语,还有它的记号法,这种情形,在沟通上可能会产生一些问题。
基本上创造软件的语言,如果说术语不同的话,就没有办法沟通,但是剥开语言的层次看,它的实质都是相同的,逻辑设计概念都是相似的,所以这方面倒是非常相近。
(三)实际工程展示的工作与早期的方法经验有关
所以大家都说他们是最好的,到底谁是最好的,就是看他实际应用的经验,经验越多,它能够被使用的次数越多,那就证明它越好用。
(四)OMT分析与设计过程
1、对象模型、动态模型和功能模型各自呈现对系统的观点,彼此间又相互关联。
2、对象模型提供动态及功能模型运算操作所需的数据结构;
3、动态模型描述对象的控制结构;
4、功能模型描述那些被对象模型的“运算”及动态模型的“操作”所调用的功能。
(五)OMT系统分析方法
1、分析的过程,并不—定是循序渐进的。
尤其是复杂的系统,通常要经过许多次反复的分析,才能建立完整的模型;
2、对象模型显示出系统静态的数据结构,在建立对象模型时,须从该系统的问题描述及它所牵涉的领域范围来考虑;
3、动态模型显示系统受时间影响所产生的动态行为。
开始分析动态模型时必须找出事件,然后将影响每个对象的事件串行起来,用状态图表示出来;
4、功能模型显示系统内数据转换的情形,功能模型是绘制多个数据流程图的集合;
5、系统分析的工作并不是简单地一次就能完成,通常要经过许多次反复的修正才能完成。
在完成分析工作之后,必须再与用户做核对,以确保分析的结果与系统的问题描述相符合,否则修正的工作必须重复进行,直到两者符合为止。
6、分析的过程,并不—定是循序渐进的。
尤其是复杂的系统,通常要经过许多次反复的分析,才能建立完整的模型。
(六)BOOCH面向对象开发模型
1、逻辑模型:描述关键抽象与机制的意义,以定义系统结构成问题描述
2、实体模型:从软硬件的角度来描述系统的概观或设置
3、静态模型:描述对象类的属性、关系的静态方面
4、动态模型:表现对象类间的互动关系
(七)BOOCH图示方法
1、类图:用来表现系统逻辑观点中类的存在及其间的关系,并描述系统类的结构;在分析阶段中,类图可用以说明类的角色及责任,描述系统的行为面;在设计阶段时,则用以描述类结构,以形成系统结构。
2、对象图:用以表现系统逻辑观点,对象的存在及其间的关系。
在分析阶段,对象图可用来找出主要及次要情况的语意,作为系统行为的追踪:在设计阶段,则是用以描述系统逻辑设计的机制。
3、模组图:描述系统实体设计时对象及类配置及模组情形。
在设置阶段,模组可用以找出系统结构的分割与实体层级化。
4、处理图:用以描述在系统实体设计时,分配给处理器的情形;在设置阶段,可用以充分表达系统处理器的实体配置情形,有助于了解系统的执行平台。
5、状态转换图:描述类的状态,从一个状态转换至另一个状态的事件及状态改变的结果。
在分析阶段,状态转换图可用以描述系统的动态行为:在设计阶段,则可用来描述类或类组合的状态转换。
6、互动图:对应对象图场景,表达场景执行过程,以说明信息传递时间及事件发生的次序。
7、状态图:保留对象、子系统、系统的生命周期。
状态图必须属于所有的类,这些类必须清楚地定义状态与复杂行为。
状态图阐明事件会改变类中对象的状态
8、循序图:阐明对象如何与其它的对象互动。
循序图有两个轴,垂直方向轴表示时间,水平方向轴表示一组对象。
循序图显现互动关系,而且是介于两个对象之间的互动关系,它发生在系统执行期间相同的时间点上。
合作图专注于合作对象间的互动与连接。
循序图与合作图均显示互动,但循序图专注于时间,合作图则专注于空间。
连接显示真正的对象及其相互问的关系;一个对象能由其内部结构所显示。
循序图与合作图可以用在说明系统中执行的操作、执行的使用实例或单纯的互动剧本上,如电梯按钮合作图;
各种活动图记录各式活动及其结果。
它专注于执行完成—个操作的工作及在使用实例或对象中的各种活动。
活动图是状态图的转型,并有一些不同的目的,就是记录各式活动(工作与各种活动将被执行)与其对象状态转换方面的各种结果。
活动图中的各种状态(活动状态action-states)当其活动己执行完毕时,可直接转换至下一阶段(而不需要象状态图那样明确说明任何事件)。
活动图与状态图另一个不同点是其各种活动置放于责任区(swimlanes)。
责任区将各种活动依责任导向或组织归属的原则分类。
活动图是说明互动关系的另一种方法,并有把握表达活动如何做、做什么(对象各种状态的变化)、何时做(活动顺序)及何处做(责任区)。
活动图的目的如下:
①当一个操作正在执行时,记录其执行的工作。
这是最普通的用法。
①记录对象的内部工作。
①显示相关活动集合如何去执行,并对周围对象造成的影响。
①就各种活动与对象状态转换方面,显示使用实例案例如何执行。
就工作者、工作流程、组织及各种对象方面,显示企业的各种活动。
各种活动及转换一个活动执行后产生一个结果。
—个操作的完成可能是由相关活动集合来说明,而后再转换为程序。
如同早期的定义,活动图显示各种活动与其关系,有一个起点与一个终点。
起点以实心圆表示,终点以一个圆圈包含一个实心圆表示,活动以圆角长方形表示。