程序设计方法学的发展历史

程序设计方法学的发展历史,第1张

1950年代—1960年代初,手工艺式的程序设计方法,高德纳把程序称为艺术品。

1960年代末—1970年代初,出现软件危机:一方面需要大量的软件系统,如 *** 作系统、数据库管理系统; 另一方面,软件研制周期长,可靠性差,维护困难。编程的重点:希望编写出的程序结构清晰、易阅读、易修改、易验证,即得到好结构的程序。

1968年,北大西洋公约组织(NATO)在西德召开了第一次软件工程会议,分析了危机的局面,研究了问题的根源,第一次提出了用工程学的办法解决软件研制和生产的问题,本次会议可以算做是软件发展史上的一个重要的里程碑。

1969年,国际信息处理协会(IFIP)成立了“程序设计方法学工作组”,专门研究程序设计方法学,程序设计从手工艺式向工程化的方法迈进。 1968 年,结构化程序设计方法的研究。Dijkstra 提出了“GOTO是有害的”,希望通过程序的静态结构的良好性保证程序的动态运行的正确性。

1969 年,Wirth 提出采用“ 自顶向下逐步求精、分而治之” 的原则进行大型程序的设计。其基本思想是:从欲求解的原问题出发,运用科学抽象的方法,把它分解成若干相对独立的小问题,依次细化,直至各个小问题获得解决为止。 1967年,Floyd 提出用“ 断言法” 证明框图程序的正确性。

1969年,Hoare 在Floyd 的基础上,定义了一个小语言和一个逻辑系统。此逻辑系统含有程序公理和推导规则,目的在于证明程序的部分正确性,这就是著名的Hoare逻辑。他的工作为公理学语义的研究奠定了基础。

1973年,Hoare和Wirth把PASCAL语言的大部分公理化。

1975年,一个基于公理和推导规则的自动验证系统首次出现。

1979年,出现了用公理化思想定义的程序设计语言Euclid。

1976年,Dijkstra提出了最弱前置谓词和谓词转换器的概念,用于进行程序的正确性证明和程序的形式化推导。

1980年,D.Gries综合了以谓词演算为基础的证明系统,称之为“程序设计科学”。首次把程序设计从经验、技术升华为科学。

1974年,人们利用模态逻辑验证并行程序的正确性。

关于程序正确性证明的争论:

怀疑和反对派,理由:首先,形式证明太复杂,谁能够保证证明本身没有错误呢!其次,程序写好后再证明其正确性,相当于“ 马后炮” ,即错误已经铸成,证明何能补救?

折中的方案:编写程序,边考虑证明。即程序设计与正确性证明同时并行考虑。 利用Dijkstra 的谓词转换器及其演算规则集合,可以推导出正确的程序。

利用程序变化构造正确的程序。它对程序应用一连串的保护正确性的变换规则,最终得到可执行的程序。程序变换是1970年代以来,“程序设计方法学” 研究的重要方面,是程序设计自动化很有希望的途径之一。递归程序变换是这一时期的最有意义的成果。 如Burstall 和Darlington 的递归程序变换系统等。

逻辑程序设计和函数程序设计代表一种新的研究方向。Prolog是以谓词逻辑的子集(Hoare 子句)为基础的一种形式系统。Prolog 的执行过程就是执行逻辑上消解算法的过程。 抽象数据类型是程序设计方法学中一种极为重要的方法。人们把它誉为程序设计方法学发展史上的一个重要的里程碑。

计算机语言的发展历史:

二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad

zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。

应用程序的历史

一、软件的本质是构造—constructive

传统科学的特点是发现世界,软件的特点是构造世界。

传统科学发现客观世界的构造,解释构造元素关系从而导出科学,去创造人工世界。从巨、宏到微末两端,人们发现了不同层次的世界(夸克世界,粒子世界,原子世界,分子世界,纳米世界,微生物世界,宏观世界,星系… …),并为各自创造出一套概念空间进行描述。

软件不用再去发现,它的最低层就是{0、1}。一切都是建筑在布尔数学、离散数学上的构造。通过一层一层的构造,人们可以实现数据、文件、 *** 作系统,甚至人工智能。

在计算机软件世界里,人有多大胆,地有多高产。

(构造的极限是什么?也许是人类构造出的软件能够进行自我构造吧----也就是终极的人工智能。想一想《黑客帝国》里的Matrix,反过来可以奴役人类,不知人工智能是否真能达到那种程度)

二、程序设计语言的三次分离使软件技术产生飞跃

1950年代,第一次分离,主程序和子程序的分离

程序结构模型是树状模型,子程序可先于主程序编写。

通过使用库函数来简化编程,实现最初的代码重用。

产生基本的软件开发过程:分析—设计—编码—测试,使大型软件系统的开发成为可能

1975—1980年代,第二次分离,规格说明(Spec)和体(body)的分离

说明是类型定义和 *** 作描述,体是 *** 作的具体实现。

(具体的例子就是C++,Java等面向对象语言的类说明与类实现的分离。)

解决方案设计只关注说明,实现时引用或者设计体。

体的更改、置换不影响规格说明,保证了可移植性。

支持多机系统,但要同样环境。

此时产生了划时代的面向对象技术。

1995—2000年代,第三次分离,对象使用和对象实现的分离

基于构件开发:

标准化的软件构件如同硬件IC,可插拔,使用者只用外特性,不计内部实现。

Web Services:

软件就是服务。分布式,跨平台,松耦合。

三、软件开发技术发展方向

特点:软件技术走向成熟平稳

—原先

新语言版本半年到一年一个,如VB3.0,4.0,5.0,6.0,.NET

新数据库管理系统一年到一年半一个,如SQL Server,Oracle7,8i,9i,10g

新 *** 作系统2年到3年一个新版本,Windows95、98、2000、XP、2003

—现在

Java、C#已有6到8年,Java到Java2.0趋于稳定

C++已有10年无出其右新语言

64位O.S Vista 可能还有2-3版本后也会稳定

Unix 风行30余年

Linux 开放已有五年

结论:不必追赶新技术新功能疲于奔命,可以冷静下来思索

计算机语言发展史

【摘要】 本文以自然辩证的观点探讨了计算机语言的发展历程,运用自然辩证法的基本理论、基本方法,系统分析了计算机语言的发展历史、现状和未来。

并对其的发展趋势和未来模式做了探索性研究和预测,同时以哲学的观点阐述其发展的因果关系,揭示其事物发展的共性问题;最后文章介绍了在计算机语言发展历程中做出杰出贡献的科学家,以其在计算机事业中的突出表现来折射出人类智慧的伟大,以其不平凡的一生来激励和指导我们在计算机语言的发展中向着正确的方向前进。 【关键字】 自然辩证法 计算机语言 计算机技术 编程语言 因特网 面向对象 正文 一九九三年美国的克林顿 *** 提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。

一、科学认识大门的钥匙--当代自然辩证法 自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。

马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。 自然辩证法是马克思主义哲学的一个重要组成部分。

在辩证唯物主义哲学体系中,自然辩证法与历史唯物论相并列。它集中研究自然界和科学技术的辩证法,是唯物主义在自然界和科学技术领域中的应用,它的原理和方法主要适用于自然领域和科学技术领域。

学习和运用自然辩证法将有助于我们搞清科学和哲学的关系,从而更加清楚地认识科学的本质和发展规律,更加全面的观察思考问题,只有加深了认识,我们才能更好地发挥主观能动性,迎接新的科学技术的挑战。下面我将以自然辩证法的观点来分析计算机语言的发展历程。

二、计算机语言的发展历程和发展趋势 计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。

计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。 1、计算机语言的发展历史: 二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。

当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。

也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。

它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。

这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。

由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。

面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。 2、计算机语言的发展现状:目前通用的编程语言有两种形式:汇编语言和高级语言。

汇编语言的实质和机器语言是相同的,都是直接对硬件 *** 作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。用汇编语言所能完成的 *** 作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体 *** 作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。

同时,由于省略了很多细节,编程者也。

中国软件 发展历史

件发展简述

在20世纪80年代的时候,pc刚诞生,这时国内还没有几个人会写程序。那么,如果你写个程序,别人就可以拿来用。这时候的程序就能产生价值,这个程序就直接等同于软件。

但软件行业发展到现在,这里以中国的情况为例(美国在20世纪80年代,程序已经不等同于软件了),程序也不等同于软件了。因为现在会写程序很容易,但是你的这个程序很难产生什么样的商业意义,也不能产生什么价值,这就很难直接变成软件。要使一个程序直接变成软件,中间就面临着很高的门槛问题。这个门槛问题来自于整个行业的形成。

现在,你写了一个程序以后,要面临商业化的过程。你要宣传,你要让用户知道,你要建立经销渠道,可能你还要花很多的时间去说服别人用你的东西。这是程序到软件的一个过程。这门槛已比较高了。

我们在和国内的大经销商的销售渠道的人聊天时,他们的老板说,这几年做软件的门槛挺高的,如果你没有五、六百万做软件,那是“玩”不起来的。我说:“你们就使门槛很高了。”他说:“那肯定是的。如果你写个“烂”程序,明天你倒闭了,你的东西还占了我的库房,我还不知道找谁退去呢。我的库房是要钱的呀!现在的软件又是那么多!”

所以,如果你没有一定的资产的话,经销商都不理你。实际情况也是这样的,如果你的公司比较小,且没什么名气,你的产品放到经销商库房,那么他最多给你暂收,产品销不动的话,一般两周绝对会退货。因为现在经销商可选择的余地已很多了,所谓的软件也已经很多了。而程序则更多,程序都想变成软件,谁都说自己的是“金子”。但只有经受住用户的检验,才能成为真正的“金子”。

这就是美国为什么在20世纪90年代几乎没有什么新的软件公司产生的原因。只是原来80年代的大的软件公司互相兼并,我吞你,你吃我。但是,写程序的人很多,美国的程序变软件的门槛可能比我们还高,所以很多人写了程序就丢在网上,就形成了共享软件。

2. 共享软件

共享软件是避开商业渠道的一种方法。它避开了商业的门槛,因为这个行业的门槛发展很高以后就轻易进不去了。我写个程序丢在网上,你下载就可以用,这时候程序又等于软件。共享软件是这样产生的,是因为没有办法中的办法。如果说程序直接等于软件的话,谁也不会轻易把程序丢到网上去。

开始做共享软件的人并不认为做它能赚钱,只是后来用的人多了,有人付钱给他了。共享软件使得程序和软件的距离缩短了,但是它与商业软件的距离会进一步拉大。商业软件的功能和所要达到的目标就不是一个人能“玩”得起来的了。这时的软件也已不是几个人、一个小组就能做出来的了。这就是在美国新的软件公司没法产生的原因。比如scape网景是在1995~1996年产生的新软件公司,但是,两三年后它就不见了。

1.1.1 商业软件门槛的形成

1. 商业软件门槛的形成

商业软件门槛的形成是整个行业发展的必然结果。任何一个行业初始阶段时的门槛都非常低,但是,只要发展到一定的阶段后,它的门槛就必然抬高。比如,现在国内生产小汽车很困难,但在20世纪50年代~60年代的时候,你装4个轮子,再加上柴油机等就形成汽车。那时的莱特兄弟装个螺旋桨,加两个机翼,就能做飞机。整个行业还没有形成的时候,绝对可以这样做,但是,到整个行业形成时,你就做不了了。所有的行业都是这样的。

为什么网站一出来时那么多人去挤着做?这也是因为一开始的时候,看起来门槛非常低,人人都可以做。只要有一个服务器,架根网线,就能做网站。这个行业处于初始阶段时,情况就是这样的。但这个行业形成后,你就轻易地“玩”不了了。

国内的软件发展也是如此。国内的软件自从软件经销商形成以后,这个行业才真正地形成。有没有一个渠道是判断一个行业是否形成的很重要的环节。任何一个行业都会有一个经销渠道,如果渠道形成了,那么这个行业也就形成了。第一名的经销商是1994年~1995年成立的,也就是说,中国软件行业大概也就是在1995年形成的,至今才经历8年时间的发展。

有一种浮躁的思想认为,中国软件产业应该很快就能赶上美国。美国软件行业是上世纪80年代形成的,到现在已经发展了20多年了。中国软件行业才8年,8年才是一个懵懂的小孩,20多岁是一个强壮的青年,那么他们的力量是不对等的。但也要看到,当8岁变成15岁的时候,它真正的能量才会反映出来。

请问历史最终任务绝对流程

开始。

到新手指导那新手指导让你去送信首席秘书(2218,2750)。

首席秘书再让你找海军少将(2278,2829) 少将让你弄海军食物。精灵果(精灵草和森灵)射水 贝 壳(射水贝出) 海螺肉(海螺星出)打完回去交任务。

。少将再让你找唐德(1958,2691)唐德就在 西门一出 一直跑到靠山。

再向上跑一会就到了。找到后再回去给少将 报信。

。少将说全体食物中毒,要求你去找药草商人(2250,2771)在城内那, 问明原因。

。然后要你找 坚硬的壳(海螺星出) 小猪尾巴(迷你猪出)羊绒(厚绒羊出),回去交任务把解药给海军少将。

。少将让 你再找药商。

查明残暴山羊为什么变狂暴。

药商让你去打残暴山羊口水(残暴山羊在唐德身边), 打完后回药草商人那交任务然后药商, 再让你打贝王珠了,射水贝王刷在贝商人(2060 2537)上方15分钟刷一次 。打完后,交掉任务。

让你去找废都补给站(1905,1820) 的守卫,找到后。 守卫让你找掉失的工具箱(1571。

2679) (1531,2739) (1600。2753)? (1543,2708) (1593。

2753)(1611。2719)(1634。

2651) 我知道这4个点刷工具箱,对箱子点一下就拣起来了 回去交任务后,守卫让你去打蟹王的胃结石(1800,2530),交任务后 让你找神秘人(2217 2547)(神秘人其实是一个桶) 找到后回去交任务他让你去杀山贼(赖安补给,往下跑1055,3086左右)打到3个山贼的项链 然后回去交任务后。 。

让你去杀山贼老大(1040 3061)赖安补给站往下走 进入大本外右上方 15分刷一次。

(35以上才去杀)杀完后,回守卫那。 以下是沙岚部分 坐标请在沙岚地图里面找! 他让你到沙漠找族长。

。在沙城右下方药店旁边。

。找到族长后族长让你查变异。

。 你向下行。

问那小羊(沙造船的地方在往下走)。再回交任务。

然后再让你出去门口的守卫。

找到后再让你去找闪光侠八世(1080。3102) (在混乱绿洲)一直向右上跑。

。找到后让你打10个沙匪5个骑士。

然后回他那交任务然后 然后让你杀沙废头领(右上跑)在沙匪大本里面。 杀完了 回闪光侠八世那交任务。

交好任务后让你回去找门口的守卫,找到守卫后, 他让你找港卫队员*鹧鸪草(城里866,3661) 然后让你出去找猫眼(1118,3613)出门一直向右边海跑。跟海边跑。

找到后让你去打费克船长(1500 3450)左右出没(40以上杀最好)。 。

杀完就回去找猫眼。

猫眼让你去找收信人"J"(其实就是闪光侠八世T_T) 以下冰狼部分!坐标请在冰狼地图找 然后回去找猫眼他让你去冰狼找雷欧(冰狼堡下城1364 571) 找到再到冰上方找贵族马尔斯(往上走到1346 454)。 找到后他让你去找小莫(冰下城守卫1237 611) 小莫让你找。

。去阿兰比斯补给站的奎塞斯*狂沙(1030 650)后,奎塞斯*狂沙让你 去杀雪人(850 925左右)抢回补给品,然后回来交任务后, 奎塞斯*狂沙让你护送补给品到雷欧后,他让你去找艾伦娜(1142,575) 然后艾伦娜让你打5个雪女记忆石(雪女出)5个雪人记忆石(雪人出) 5个雪娃娃记忆石(调皮出) 最后还要杀个雪人王(在灵巧和雪人之间)记忆石。

。 又回到白银了!以下白银找! 最后到白银服装旁边找糊涂山人(白银城2273 2702) 她让你到白银酒吧(2220 2885)找酒吧女蒂娜弄八珍酒的材料 需要恐龟蛋2个在贝比平原(910,2634)(904,2667) 野猪的健子肉2个(赖安补给站左下),曼佗罗的藤蔓2个(古里咯利补给站往N的方向走) 矿物的结晶粉末2个(银矿1楼),收集完回到白银酒吧找蒂娜,然后她让你去收集八宝酒的材料 竹叶上的露珠2个(打飞熊猫),养颜的珍珠粉2个(打珍珠贝壳),走私香料2个(走私**) 袋鼠的私酿3个(打暴击袋鼠)。

收集好后 回到酒吧她会给你 八宝酒 接着 带着酒来到糊涂山人那交掉!然后他让你去找商会会长(2240 2748), 找到后交掉任务,然后回去和糊涂山人对话,接着他让你去找海军少将,找到后少将让你去银矿 打泥浆怪得到得到破旧的纸片后回少将这交任务,然后他让你带着找 商会会长,接着给你2个任务1是找到比特(2193,2767),2是打巨兽获取 找到比特后让你去找贝蒂(2277,2770),找到后贝蒂让去去银矿找矿工大肚腩银矿2楼(295 56) 大肚腩让你抢回便当,杀忍者鼹鼠(在废矿1楼) 废矿可以从银矿3楼往下走到废矿2楼 然后在下楼到废矿1楼,也可以从 德尔维平原(1646,2700)进入,打到以后 回大肚腩那交任务,然后去完成任务2,杀巨兽 巨兽在2楼 在银矿3楼下到废矿2楼 (在怪物洞穴)。 。

建议组队去打,或者45级 以上的人去单杀。

。买多点蛋糕!)杀完巨兽得到 镣铐后回城到商会会长那交任务, 以下混杂地图。

。有详细说明!自己找! 然后会长让你去找T9补给站,你先去白银出海员*雪利(2241,2826)那拿到一张海贼 地图,地图上让你去找穆穆补给站(2030,2730){在魔女之海},到了补给站之后让你去打 15个暴风水母晶体(本人在碎冰岛打的~),打够15个晶体后回穆穆 补给站交任务~ 然后让你送巴奥的货物到冰码头海港指挥*席林(1216,682),然后席林让你去找 鲁格兰(1321,583),然后让你弄12个雾隐鱼的鳞片~(我在沙出港的地方。

历程和过程有什么区别

一、意思不同

1、历程:指经历过的事情。

2、过程:事物发展所经过的程序;阶段。

二、时态不同

1、历程:是已经发生的事情。

2、过程:当下正在发生的事情。

三、用法不同

1、历程:历程指的是生活的经历,历程则是讲时间上或精神上的经历。比如生命历程。

2、过程:过程是办事的经过没有特定指派。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12045477.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存