文档视界 最新最全的文档下载
当前位置:文档视界 › 计算机语言(或称程序设计语言)的发展过程

计算机语言(或称程序设计语言)的发展过程

计算机语言(或称程序设计语言)的发展过程
计算机语言(或称程序设计语言)的发展过程

计算机语言(或称程序设计语言)的发展过程是其功能不断完善、描述问题的方法越来越贴近人类思维方式的过程。

(1)第一代语言——机器语言

机器语言是计算机诞生和发展初期使用的语言,表现为二进制的编码形式,是由CPU 可以直接识别的一组由0和1序列构成的指令码。这种机器语言是从属于硬件设备的,不同的计算机设备有不同的机器语言。直到如今,机器语言仍然是计算机硬件所能“理解”的惟一语言。在计算机发展初期,人们就是直接使用机器语言来编写程序的,那是一项相当复杂和繁琐的工作。

例如,下面列出的一串二进制编码

011011 000000 000000 000001 110101

命令计算机硬件完成清除累加器,然后把内存地址为117的单元内容与累加器的内容相加的操作。

可以看出,使用机器语言编写程序是很不方便的,它要求使用者熟悉计算机的所有细节,程序的质量完全决定于个人的编程水平。特别是随着计算机硬件结构越来越复杂,指令系统变得越来越庞大,一般的工程技术人员难以掌握程序的编写。为了把计算机从少数专门人才手中解放出来,减轻程序设计人员在编制程序工作中的繁琐劳动,计算机工作者开展了对程序设计语言的研究以及对语言处理程序的开发。

(2)第二代语言——汇编语言

汇编语言开始于20世纪50年代初期,它是用助记符来表示每一条机器指令的。例如,上面的机器指令可以表示为

CLA 00 017

由于便于识别记忆,汇编语言比机器语言前进了一步。但汇编语言程序的大部分语句还是和机器指令一一对应的,语句功能不强,因此编写较大的程序时仍很繁琐。而且汇编语言都是针对特定的计算机或计算机系统设计的,对机器的依赖性仍然很强。用汇编语言编好的程序要依靠计算机的翻译程序(汇编程序)翻译成机器语言后方可执行,但这时用户看到的计算机已是装配有汇编程序软件的计算机。

(3)第三代语言——高级语言、算法语言

高级语言起始于20世纪50年代中期,它允许人们用熟悉的自然语言和数学语言编写程序代码,可读性强,编程方便。例如,在高级语言中写出如下语句:

X=(A+B)/(C+D)

与之等价的汇编语言程序如下:

CLA C

ADD D

STD M

CLA A

ADD B

DIV M

STD X

显然,前者比后者容易得多。

用一种高级语言写成的源程序可以在具有该种语言编译系统的不同计算机上使用,但这种语言必须经过编译或解释程序译成机器语言后才能执行。BASIC、FORTRAN、COBOL、PASCAL等都属于第三代语言。

第三代语言又称为“过程语言”,顾名思义,它是面向“过程的”。用过程语言编写程序,用户可不必了解计算机的内部逻辑,而主要考虑解题算法的逻辑和过程的描述,把

解决问题的执行步骤通过语言告诉给计算机。

在第三代语言的发展中,值得一提的有FORTRAN语言和COBOL语言。

FORTRAN语言是科学和工程计算领域中的传统编程语言,它首先引入了与汇编语言中的助记符有本质区别的变量的概念,并引入了表达式语句、子程序等概念,成为以后出现的其他高级程序设计语言的重要基础。FORTRAN语言一经问世便很快流行起来,因其执行的高效率与近乎完善的输入/输出功能,至今在科学计算领域仍充满着生命力。

COBOL语言是数据处理方面的标准语言,它对程序设计语言发展的主要贡献是引入了独立于机器的数据描述概念和与英语类似的语法结构,其中的数据描述概念正是数据库管理系统中主要概念的雏形。COBOL语言的出现,使人们开始意识到计算机不仅可应用于科学计算领域,而且适用于各种事务处理领域,大大拓宽了计算机的应用范围。

(4)第四代语言——非过程化语言

用户在使用这种语言时,不必关心问题的解法和处理过程的描述,只需说明所要完成的工作目标及工作条件,就能得到所要的结果,而其他的工作都由系统来完成。换句话说,原来费时费力的编程工作现在主要由系统来承担。因此,非过程化语言比过程化语言使用起来更加方便。但是非过程化语言目前只适用于部分领域,其通用性及灵活性不如过程化语言。

如果说第三代语言要求人们告诉计算机怎么做,那么第四代语言只要求人们告诉计算机做什么。因此,人们称第四代语言是面向目标的语言。

关系数据库的标准语言SQL即属于第四代语言。例如,用户想检索出满足一定条件的学生名单,只要通过SQL语言的SELECT语句告诉计算机查询的范围(查学生信息表)、查询内容(查出姓名和年龄)和检索条件(查年龄小于18岁的学生)即可得到查询结果。该语句形式如下:

SELECT sname,age

FROM students

WHERE age<18

(5)第五代语言——智能性语言

第五代语言除具有第四代语言的基本特征外,还具备许多新的功能,特别是具有一定的智能。 PROLOG(PROgramming in LOGic)语言是第五代语言的代表。智能化语言主要应用于抽象问题求解、数据逻辑、公式处理、自然语言理解、专家系统和人工智能等领域。

在计算机语言的发展过程中,新的技术和新的思想不断出现。

在20世纪60年代的10年时间里,人们至少发明了200多种高级语言。比较著名的有应用于人工智能领域的LISP语言,涉及到矩阵运算的科学计算领域的APL语言,成功地用于文本处理领域的SNOBOL语言,用于处理仿真问题的SIMULA语言,以及交互式的解释型程序设计语言BASIC。

20世纪70年代以来,随着结构化程序设计思想的日益深入,使得这段时期问世的几种程序设计语言的控制结构大为简化,比较有代表性的有PASCAL、Ada、C语言等。

目前用于教学及软件研制中的PASCAL语言在支持结构化程序设计思想的同时,吸收了其他语言中用户定义数据类型等优点,使其数据抽象进入了一个新的层次。

Ada语言以可靠性、可维护性、可读性及高效率为设计目标,集各种过程性程序设计语言的优秀思想之大成,在PASCAL语言的基础上,增加和扩充了数值计算、输入/输出、数据抽象、并发处理、实时处理、异常处理等内容,集中体现了软件工程学、程序设计语言学、程序设计方法学的优秀成果,支持程序的模块性、可移植性、可扩充性及抽象与信息隐藏,有助于高效地开发与维护程序。

C语言是美国Bell实验室开发成功的。当时的高级语言基本上都不适合开发系统软

件,系统软件都是用机器语言或汇编语言编写的,而C语言的许多类汇编语言特征却使其大获成功。C语言的表达式简洁,具有丰富的运算符、控制结构与数据结构。C语言已不限于系统软件的开发,而成为当前最流行的程序设计语言之一。

虽然C语言并不是为教学设计的(在一定意义上来说,C语言并不适合于教学),但由于它的实用性和广泛的市场占有率,因此在国内外计算机程序设计的课程中被广泛采用。

20世纪80年代初开始提出的“面向对象”(Object-Oriented)概念是相对于“面向过程”的一次革命。C++便是一种面向对象的程序设计语言。“面向对象”不仅仅作为一种语言,更作为一种方法论贯穿于软件设计的各个阶段。面向对象的技术在系统程序设计、数据库及多媒体应用等诸多领域得到了广泛应用,面向对象的程序设计思想将会主导今后程序设计语言的发展。

如果说,面向过程的语言仍然反映了计算机的思维方式,那么面向对象的程序设计语言则充分体现了人们看待周围事物所采用的面向对象的观点。这种观点认为:我们周围的世界是由一个个的对象组成的,而周围所发生的一切是对象间相互作用的结果。

面向对象的技术进一步缩小了人脑与电脑思维方式上的差异,并可以使人们在利用计算机解决问题时,不是将主要精力花在如何描述解决问题的过程上(即编程上),而是花在对要解决问题的分析上。

近年来,一种新的语言——Java正逐渐成为程序设计的流行语言。

Java的诞生最早大概可追溯至1991年4月,Sun的绿色计划(Green Project)开始着手于发展消费性电子产品,所使用的语言是C、C++及Oak(Java语言的前身),后因语言本身和市场的问题,使得消费性电子产品的发展无法达到当初预期的目标;再加上网络的兴起,绿色计划也因此而改变了发展方向,此时已是1994年了。

随着WWW的兴起,Java终于崭露头角。人们称Java是Internet上的世界语,是最佳的网络应用开发语言。Java的诞生,从根本上解决了Internet的异质、代码交换以及网络程序的安全性等诸多问题。首先,Java是一种与平台无关的语言,Java程序编译后,生成的字节代码(Byte-Code)运行在Java虚机器(实际上是一个解释器)上。一个操作系统平台只要提供Java虚机器,Java程序就可以在上面运行。从理论上讲,Java程序可以运行于所有的操作系统平台上,从根本上解决了Internet的异质问题。其次,Java采用了可移动代码技术,在网络上不仅可以进行无格式的数据信息交换,而且可以进行程序交换。

Java是比较纯的面向对象的语言,它的绝大多数程序实体都是对象,利用对象的封装性可以大大降低网络上程序交换的复杂性。最后,Java是一种更安全的语言,它消除了C和C++中众多的不安全因素(Java为了追求语言简单性和安全性,把C程序员推崇备至的指针也取消了),提供了诸多安全保障机制,例如异常处理、代码检查等,比其他语言更适合网络应用软件的开发。

4.2 Microsoft Windows 操作系统简述

4.2.1 Windows家族:

Windows这个词用于一系列不同的产品,它们可以划分为以下四个类别:

① 16位操作环境:这些产品只是提供了一个图形用户界面或桌面,还要有一个独立的操作系统提供必要的服务,例如读取磁盘服务、显示器和键盘的输入等等。这个系列的产品包括Windows 1.0(1985年)、Windows 2.0(1987年)以及它的近似产品Windows 286和Windows 386、Windows 3.0和Windows 3.1。它们都不能脱离DOS运行。

②混合的16/32位操作环境:这个系列的Windows是16位的Windows的升级版本,仍然需要DOS操作系统才能运行,但是由于和微软的MS-DOS组件整合在一起作为一个整体来发售,这样就不用再单独购买MS-DOS以运行Windows了。这个系列包括Windows 95(第一版发行于1995年,后来的改进版本发行于1996年和1997年),以及三个版本的Windows 98(1998年、1999年和2000年)。这三个版本最终发展成为Windows ME。但是它作为Windows 98家族的资格并没有在广告上出现。

③ 32位操作系统环境:起初是为更高性能的商业市场设计而编写的独立的32位操作系统。这个系列包括Windows NT 3.1(1992年)、NT 3.5、NT 3.51、NT 4.0、Windows 2000和Windows XP等。

④ 64位操作系统环境:最新的Windows版本开始采用64位操作系统环境,虽然不管是Intel的EM64T还是AMD的x86-64在本质上都是一种32位扩展指令集,兼容英特尔的EM64T扩展指令集和AMD的x86-64指令集(Intel的EM64T其实是其兼容指令集)。这个系列的产品包括Windows XP 64位版和Windows Server 2003 64位版。IA-64是Intel 的安腾处理器使用的完全不同的纯64位RISC指令集,在32位兼容模式下性能极为低下而且基本不兼容现有的x86软件,故和现有桌面平台所谓的64位元指令集是完全不同的概念,Microsoft仅仅有Windows 2000 Advanced Server Limited Edition这个限量版的基于IA-64指令集的系统和一个非常罕见的Windows Server 2003 for IA-64版本。

4.2.2 Windows的发展史

Windows起源可以追溯到Xerox公司所进行的研发工作。1970年,美国Xerox公司成立了著名的研究机构Palo Alto Research Center(PARC),从事局域网络、激光打印机、图形使用者接口(Graphic User Interface,缩写:GUI)和面向对象(Object-Oriented)技术的研究,并于1981年宣布推出世界上第一个商用的GUI系统:Star 8010工作站。但由于种种原因,此技术上的领先并未得到充份的重视,也没有进一步做商业化的应用。

然而Apple Computer公司的创始人之一Steve Jobs在参观Xerox公司的PARC研究中心后,认识到了GUI的重要性以及广阔的市场前景,于是开始着手进行自己的GUI系统研发工作,并于1983年研发成功第一个GUI系统:Lisa。不久,Apple又推出第二个GUI 系统:Macintosh,这是世界上第一个成功的商用GUI系统。Apple公司在开发Macintosh 时,出于市场战略上的考量,只开发了能于Apple公司自己的计算机上作运作的GUI系统,但当时,基于Intel x86微处理器芯片的IBM兼容计算机已渐露头角,因此就给了Microsoft公司所开发的Windows生存空间和市场。

Microsoft公司早就意识到建立业界标准的重要性,在1983年春季就宣布开始研究开发Windows,希望它能够成为基于Intel x86微处理芯片计算机上的标准GUI操作系统。它在1985年和1987年分别推出Windows 1.03版和Windows2.0版。但是,由于当时硬件和DOS操作系统的限制,这两个版本并没有取得很大的成功。此后,Microsoft公司对Windows的RAM管理、GUI做了重大改进,使GUI更加美观并支持虚拟内存。Microsoft 于1990年5月份推出Windows 3.0并一炮而红。这个「千呼万唤始出来」的操作系统一面世便在商业上取得惊人的成功:不到6周,Microsoft公司销出了50万份Windows 3.0,打破了任何软件产品的6周销售记录,从而一举奠定了Microsoft在操作系统上的垄断地位。后来更因此在1994年时被Apple公司控告侵权,展开了著名的“look and feel”诉讼官司。

自Windows 95和Windows NT 4.0以来,这个系统最明显的特征是桌面。微软设计的桌面大大改变了人机交流的界面,使得更多普通的任务只需要少量的计算机知识就可以胜任了,甚至一些比较复杂的任务。但是Windows界面也使得用户和计算器的内部工作隔离

开来,使得用户控制和设置计算器变得更加困难(这或多或少是由于现代操作系统功能和复杂性不断增长以及不断有大量低水平的计算机人员的增长所带来的必然)。

Windows获得了巨大的市场成功。估计现在有90%的个人计算机使用这个系统。但是用户也很难选择其它的操作系统,因为在他们花钱购买计算机的时候他们的计算机已经有了Windows系统,而他们必须删除了Windows之后才能安装别的系统(通常是免费的系统)。因此,无论是它的市场占有率或为了实现保持市场主导位置的活动都是极富争议性的。

Windows Vista和Windows Server 2003是现在最新的Windows版本。Windows Server 2003有四个版本:Windows Server 2003 Web服务器版本(Web Edition)、 Windows Server 2003标准版(Standard Edition)、 Windows Server 2003企业版(Enterprise Edition)以及Windows Server 2003数据中心版(Datacenter Edition)。Web Edition主要是为网页服务器(web hosting)设计的,而Datacenter是一个为极高端系统使用的。标准和企业版本则介于两者中间。

Windows CE系统是1996年开始设计的一款专门针对嵌入式设备设计的操作系统,最开始的时候微软打算在Windows 98和Windows NT的基础上修改,但是项目进行不顺利,后来经过全新设计产生了Windows CE系列产品其中包括后来的Pocket PC、Smartphone 以及Windows Mobile,严格的说Windows CE只是一个操作系统的核心,在这个核心的基础上发展了针对不同设备的不同版本的操作系统。

微软有一系列主动的计划:.NET,Palladium以及Windows Vista(开发代号Longhorn)操作系统。有人认为.NET和Windows Vista是微软希望从Windows中转移开来。有人推想这样将可能帮助微软避免遭到像反托拉斯那样的后果。也可以宣称微软的下一代产品将是全新的产品,而不是Windows的后续版本。

4.2.3为特殊设备设计的版本

为个人数码助理(PDA)设计的Pocket PC。

为移动电话设计的Smartphone和Windows Mobile(最新版本为5.0)。

为笔记本电脑及触摸式屏幕设计的Tablet PC。

为DEC Alpha、IBM Power PC和MIPS systems设计的Windows NT。(在2000年后都废止了)

为掌上电脑设计的Windows CE。

为[[1]]设计的[XP Media Center Edition](简称[MCE])

为XBOX游戏机设计的版本,名为 Dashboard,但实为 Windows 2000修改而成。

计算机语言发展史

计算机语言发展史(一) 2009-06-28 08:40:46| 分类:默认分类| 标签:|字号大中小订阅 本文以自然辩证的观点探讨了计算机语言的发展历程,运用自然辩证法的基本理论、基本方法,系统分析了计算机语言的发展历史、现状和未来。并对其的发展趋势和未来模式做了探索性研究和预测,同时以哲学的观点阐述其发展的因果关系,揭示其事物发展的共性问题;最后文章介绍了在计算机语言发展历程中做出杰出贡献的科学家,以其在计算机事业中的突出表现来折射出人类智慧的伟大,以其不平凡的一生来激励和指导我们在计算机语言的发展中向着正确的方向前进。 【关键字】 自然辩证法计算机语言计算机技术编程语言因特网面向对象 正文 一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。 一、科学认识大门的钥匙--当代自然辩证法 自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。 马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。 自然辩证法是马克思主义哲学的一个重要组成部分。在辩证唯物主义哲学体系中,自然辩证法与历史唯物论相并列。它集中研究自然界和科学技术的辩证法,是唯物主义在自然界和科学技术领域中的应用,它的 原理和方法主要适用于自然领域和科学技术领域。 学习和运用自然辩证法将有助于我们搞清科学和哲学的关系,从而更加清楚地认识科学的本质和发展规律,更加全面的观察思考问题,只有加深了认识,我们才能更好地发挥主观能动性,迎接新的科学技术的挑战。下面我将以自然辩证法的观点来分析计算机语言的发展历程。 二、计算机语言的发展历程和发展趋势

1、程序设计语言的进化

计算机世界/2004年/07月/12日/第A22版 程序设计语言的进化 中国科学院软件研究所宋靖宇 1967年5月20日,在挪威奥斯陆郊外的小镇莉沙布举行的IFIP TC-2工作会议上,挪威科学家Ole-Johan Dahl和Kristen Ny-g aard正式发布了Simula67语言。Sim ula67被认为是最早的面向对象程序设计语言,它引入了所有后来面向对象程序设计语言所遵循的基础概念:对象、类、继承。之后,在1968年2月形成了Sim ula67的正式文本。 也是在1968年,荷兰教授E.W.Dijkstra 提出了/GOTO语句是有害的0观点,指出程序的质量与程序中所包含的GOTO语句的数量成反比,认为应该在一切高级语言中取消GO-TO语句。这一观点在计算机学术界激起了强烈的反响,引发了一场长达数年的广泛的论战,其直接结果是结构化程序设计方法的产生。 相信当时没有任何人预见到当年发生的这两件事对后来计算机技术,特别是软件技术所产生的深远影响。尽管这两种方法的思想差异巨大,但是多年以后,无论是Ole-Johan Dahl 和Kristen Nygaard,还是E.W.Dijkstra,都因其在这一年所取得的成就,获得了计算机界的诺贝尔奖)))图灵奖。 随着计算机技术的迅猛发展,硬件成本不断降低,而软件成本却不断增加,因此,如何缩短软件生产周期和提高维护效率,研制出高质量的软件产品成为一个重要课题。 程序设计思想的进步 在20世纪60年代,软件曾出现过严重危机,由软件错误而引起的信息丢失、系统报废事件屡有发生。为此,1968年,荷兰学者E.W. Dijkstra提出了程序设计中常用的GOTO语句的三大危害:破坏了程序的静动一致性;程序不易测试;限制了代码优化。此举引起了软件界长达数年的论战,并由此产生了结构化程序设计方法,同时诞生了基于这一设计方法的程序设计语言Pascal。 由瑞士计算机科学家Niklaus Wirth开发的Pascal,一经推出,它的简洁明了以及丰富的数据结构和控制结构,为程序员提供了极大的方便性与灵活性,同时它特别适合微计算机系统,因此大受欢迎。结构化程序设计思想采用了模块分解与功能抽象和自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子程序,便于开发和维护。因此,结构化方法迅速走红,并在整个20世纪70年代的软件开发中占绝对统治地位。 但是,到了70年代末期,随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。结构化程序设计语言和结构化分析与设计已无法满足用户需求的变化,于是面向对象技术开始浮出水面。 面向对象程序设计方法起源于Simula67语言。在程序设计语言的发展史上,20世纪60年代后期是承上启下的重要时期。这一时期有三种重要的语言问世,即Simula67、由一批顶尖计算机科学家共同设计的Algol68、以及为IBM360系列机配套开发的PL/I。这三种语言虽均有所创新,但Simula67的面向对象概念的影响是最巨大而深远的。它本身虽因为比较难学、难用而未能广泛流行,但在它的影响下所产生的面向对象技术却迅速传播开来,并在全世界掀起了一股OO热潮,至今盛行不衰。面向对象程序设计在软件开发领域引起了大的变革,极大地提高了软件开发的效率,为解决软件危机带来了一线光明。

计算机程序设计语言的发展历程

1.概论自从世界上第一台电子计算机ENIAC于1946年问世以来,伴随着计算机硬件的不断更新换代,计算机程序设计语吉也有了很大的发展.至今已有四代语言问世。 在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。 尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。 程序设计语言正在与现代科技日益飞跃,人类的智慧在日益彰显。 1.机器语言电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。 计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。 使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。 而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。 但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。 机器语言,是第一代计算机语言。 2.汇编语言为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进: 用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“ADD”代表加法,“MOV”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。

然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。 汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。 3.高级语言从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。 第一个高级程厅设计语著诞生严50年代。 当时的计算机非常昂贵,而月功量非常之少,如问有效地使用计算机足一个相当重要的问题。 另一方面,计算机的执行效率也是人们追求的r1你。 为了有效地使用汁算机.人们设计出了高级语言,用以满足用户的需求。 用商级语言编写的程序需要经过翻译,计算机才能执行。 虽然,程序翻译占去了一些计算机时间,在一定程度上影响了计算机的使用效率。 坦是实践证明。 高级语言是有效地使用汁算机与计算机执行效率之间的一个很好的折中手段。 经过努力,1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,40多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASI C、LISP、SNOBOL、PL/ 1、Pascal、

编程语言发展历程

编程语言的发展历程及未来趋势 编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。 从计算机发明至今,随着计算机硬件和软件技术的发展,计算机的编程语言经历了机器语言、汇编语言、面向过程的程序设计语言以及面向对象的程序设计语言阶段。具体的语言又是不胜枚举。因此,对于一个以编程为职业的人来说,了解程序的发展及文化,是非常有必要的。 首先介绍下编程语言的发展 1946 Plankalkul Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚附近的阿尔卑斯山上时,独立开发了Plankalkul。他把该项成果应用在其它的事物中,比如国际象棋。

1949 Short Code ,第一种真正在电子计算设备上使用的计算机语言,尽管他是一个纯手工编译的的语言。 1951 Grace Hopper Grace Hopper为Remington Rand工作,是在第一个著名的编译器——A-o上开始设计工作。当Rand在1957年发布这个语言时,它被称为MATH-MATIC。 1952 AUTOCODE Alick E. Glennie ,他利用自己在曼彻斯特大学的课余时间,发明了一个名为AUTOCODE的编程系统,一个未能成型的编译器。 1954 Fortran FORTRAN(FORmula TRANslator的缩写)意为“公式翻译器”,是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。 1958 LISP LISP语言(全名LISt Processor,即链表处理语言)由约翰

计算机程序设计语言发展史和对程序设计语言未来的看法

计算机程序设计语言发展史和对程序设计语言未来的看法信息科学与工程通信一班比拉力江·买买提20104055049 【摘要】 本文以自然辩证的观点探讨了计算机语言的发展历程,运用自然辩证法的基本理论、基本方法,系统分析了计算机语言的发展历史、现状和未来。并对其的发展趋势和未来模式做了探索性研究和预测,同时以哲学的观点阐述其发展的因果关系,揭示其事物发展的共性问题;最后文章介绍了在计算机语言发展历程中做出杰出贡献的科学家,以其在计算机事业中的突出表现来折射出人类智慧的伟大,以其不平凡的一生来激励和指导我们在计算机语言的发展中向着正确的方向前进。 【关键字】 自然辩证法计算机语言计算机技术编程语言因特网面向对象 一、引言 一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。 二、科学认识大门的钥匙--当代自然辩证法 自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。 马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。

计算机程序语言的发展历程

计算机程序语言的发展历程 计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程 1. 机器语言 电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。 2. 汇编语言 为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁 的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“A DD”代表加法,“M O V”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。 3. 高级语言

从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1 9 5 4年,第一个完全脱离机器硬件的高级语言—F O RT R A N问世了,4 0多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有F O RT R A N、A L G O L、C O B O L、B A S I C、L I S P、S N O B O L、P L / 1、P a s c a l、C、P R O L O G、A d a、C + +、V C、V B、D e l p h i、J A V A 等。 高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。 6 0年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1 9 6 9年,提出了结构化程序设计方法,1 9 7 0年,第一个结构化程序设计语言—P a s c a l语言出现,标志着结构化程序设计时期的开始。 8 0年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被执行完成前,人们不能干别的事,也无法动态地改变程序的执行方向。这和人们日常处理事物的方式是不一致的,对人而言是希望发生一件事就处理一件事,也就是说,不能面向过程,而应是面向具体的应用功能,也就是对象(o b j e c t)。其方法就是软件的集成化,如同硬件的集成电路一样,生产一些通用的、封装紧

浅谈计算机编程语言的发展

浅谈计算机编程语言的发展 信息学院103班潘红10263210 摘要:一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重。1.引言 在计算机科学中,编程语言是用来编写可被计算机运行的一系列指令(计算机程序)的人工语言,于英语等自然语言相类似,编程语言具有词汇、语法和句法。然而,自然语言不适合计算机编程,因为它们能引起歧义,也就是说它们的词汇和语法结构可以用多种方式进行解释。用于计算编程的语言必须具有简单的逻辑结构,而且它们的语法、拼写和标点符号的规则必须精确。 2.计算机编程语言的发展历史 二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程 序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。 3.计算机编程语言的发展现 目前通用的编程语言有两种形式:汇编语言和高级语言。 2.1汇编语言 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。计算机编程人员用汇编语言使机器语言程序编写起来更简单一些。在汇编语言中,每条语句大致对应一条机器语言指令。汇编语言的语句是借助易于记忆的命令编写的。在典型的汇编语言

计算机语言程序设计考试试题

计算机语言程序设计考试试题 1 / 5 计算机语言程序设计试题 一、填空题(每空2分,共30分) 1.结构化程序设计的三种基本结构是:【1】 、【2】 和【3】 。 2.在C 语言中(以16位PC 机为例),一个float 型数据在内存中所占的字节数为【4】 。 3.若有定义int a=2;在Turbo C 中有printf (“%d ,%d ”,a ,2&&++a );则输出为【5】 。 4.表达式x=23>16&&12+1的值为【6】 。 5.执行语句printf ("%d",strupr ("Windows ");后,输出结果为【7】 。 6.有int a=12,n=5,表达式a%=(n%=2)运算后a 的值为【8】 。 7.在C 语言中,二维数组元素在内存中的存放顺序为【9】 。 8.使用局部和全局变量时,全局变量和局部变量【10】 同名;形参和局部变量【11】 同名。 9.字符数组的输入输出有两种方法:逐个字符输入输出,用格式符【12】 ;将整个字符串 一次输入或输出,格式符【13】 。 10.语句段char s[20]=”ABCD ”,*sp=s; sp++;puts(strcat(sp+1,”MA ”));的输出结果是【14】 。 15】 值。 二、单项选择题(每小题2分,共30分) 1.C 程序的基本单位是( ) A .语句 B .字符 C .程序行 D .函数 2.TURBO C 中float 类型变量所占字节数是( ) A .8 B .4 C .2 D .2

3.以下符号中能用作用户标识符的是() A.if B.3com C._3com D.break 4.C语言中运算对象必须是整型的运算符是() A.%= B./ C.= D.* 5.执行循环语句:for(x=0,y=0;y!=200&&x<4;x++)y+=100;其循环体共执行()次。 A.2 B.3 C.4 D.5 6.与(!a==1)等价的表达式是()。 A.(a>0)B.(!a)C.(a!=0)D.(a<0) 7.如有函数int max(float x){x++;return x;},则该函数返回值的类型为()。 A.float类型B.void类型C.int类型D.无法确定 8.能正确表示代数式ln(x+y)的C语言表达式是()。 A.log10(x+y) B.lg10(x+y) C.lg(x+y) D.log(x+y) 9.执行下面的程序段后,num的值为()。 int *p,num; num=10; p=# num=*p+20; A.30 B.20 C.10 D.40 10.若有定义:int x,*pp;则正确的赋值表达式是()。 A.pp=&x B.pp=x C.*pp=&p D.*pp=*x 11.若有定义int x=1,y=1,z=1,c;执行语句c= --x&&++y&&z++;后x、y、z的值分别是()A.0、2、2 B.0、1、1 C.0、1、2 D.0、2、1 12.字符串”\abcd\13\\”的长度是()。 A.7 B.6 C.11 D.10 13.下面程序main( ){int c1=2,c2=0; while(c1) {printf(”%d%d”,c1--,c2);}}运行的结果是()。 A.输出2 0 B.无输出内容C.陷入死循环D.输出1 0 14.下面程序运行的结果是()。 #include #define HELLO ”lin” void main( ){printf(“HELLO”);printf(HELLO);} A.HELLOHELLO B.HELLO C.HELLOlin D.linHELLO 15.下面程序的输出结果是()。

计算机程序设计发展史

计算机程序设计发展史 【摘要】 程序设计语言原本是被设计成专门使用在计算机上的,但它们也可以用来定义算法或者数据结构。正是因为如此,程序员才会试图使程序代码更容易阅读。设计语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成,面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。 【关键字】 机器语言汇编语言高级语言计算机语言计算机技术编程语言【正文】 随着计算机的迅速发展,计算机程序设计已经从一种技巧发展成为一门科学,程序设计的方法也在不断的变化、发展。 50年代用机器指令代码进行手编程序是相当麻烦的,在工程技术人员中也很难得到推广。当程序设计是繁杂而又仔细的劳动,重复处理0与1又得花费大量的时间来编制与调试程序,故后期逐渐被用符号指令的汇编程序设计所代替。 1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,大大简化了程序设计,用高级语言编写的程序实现了基本上与机器无关。40多年来,共有几百种高级语言出现,有重要意义的有几十种,诸如FORTRAN、BASIC,ALGOL, COBOL,LISP,PL/1,C,C++等。 当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。 在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而有许多语言并对新手来说太难学;还有,不同程序之间的运行成本各不相同。有许多用于特殊用途的语言,

程序和程序设计语言(教学设计)

第 3 节程序和程序设计语言 、教学目标 知识目标:1、掌握计算机程序的概念 2、掌握计算机程序的概念、计算机语言分类及其特征。 技能目标:通过阅读程序,学生主动探寻算法与程序的关系 情感态度与价值观:编程语言没有好坏之分,应选择适合自己的语言深入学习 二、教学重点和难点 重点:1、计算机语言的概念。 2、高级语言的特征 难点:程序的编译与解释 三、教学过程 以九歌机器人七秒成诗引入新课 一)程序和程序设计 计算机能做很多的事情,包括各种控制活动,它们都是在程序的控制和指挥下进行的,可以这么说:离开了程序,计算机什么也干不了。 1、程序及其特征 (1)程序(Program):是一组操作的指令或语句的序列,是计算机执行算法的操作步骤。 2)程序的特征: 解决问题的每一个算法步骤对应着程序中的一个或多个语句实现一个或多个操作,每一个操作都有执行 对象。 在程序中被施行操作的对象称为数据。 除了有特殊的程序转向控制语句外,程序都是从第一条语句开始顺序执行。 2、程序的基本结构 1)顺序结构2)选择结构3)循环结构 3、程序设计:从分析问题、建立模型、设计算法、编写修改程序,一直到程序正确运行的整个过程。 (二)程序设计语言 程序设计语言:是指人们编制程序所使用的计算机语言。 程序设计语言的分类: 机器语言汇编语言高级语言

1、机器语言 机器语言(machine Ianguage):把直接用二进制代码表示的计算机指令系统称为机器 语言。 机器语言特点: ①用机器语言编写的程序可以被计算机直接执行,速度快,占用内存少。 ②编写程序相当繁琐。 ③程序不具有通用性。 2、汇编语言 汇编语言(assembly Ianguage):用符号和数字来代替二进制代码的计算机语言称为汇 编语言。 汇编语言特点: ①不能被计算机直接执行。 ②编写程序比机器语言方便得多。 ③程序不具有通用性。 3、高级语言 高级语言(high-level Ianguage ):由一系列按一定语法规则的语句组成(与计算机内部结构无关、通用、用其编写的程序需要“翻译”后才可执行) 咼级语言特点: ①不能被计算机直接执行。 ②易读、易改,编写程序方便。 ③程序通用性好。 补充:Basic语言的发展历程 BASIC ( Beginner' s All-purpose Symbolic Instruction Code 的缩写,即初学者通用符号指令代码)语言简单易学,适合初学者。

计算机程序设计语言(FORTRAN语言)

计算机程序设计语言(FORTRAN语言) (总分:36.00,做题时间:90分钟) 一、 (总题数:36,分数:36.00) 1.编译程序能将高级语言编写的源程序转换成( )。 A.解释程序 B.汇编程序 C.映象程序 D.目标程序 (分数:1.00) A. B. C. D. √ 解析: 2.一个完整的FORTRAN源程序( )。 A.至少包括一个主程序 B.至少包括一个主程序和一个子程序 C.由一个主程序与一个以上的子程序组成 D.由一个主程序与一个子程序组成 (分数:1.00) A. √ B. C. D. 解析: 3.语句函数定义语句在程序内合法的位置是( )。 A.在程序块开头语句之后,END语句之前 B.在程序块开头语句之后,可执行语句之前 C.在说明语句之后,END语句之前 D.在说明语句之后,可执行语句之前 (分数:1.00) A. B. C. D. √ 解析: 4.下列关于函数子程序虚实参数的错误说法是( )。 A.可以没有形参数 B.虚实结合的数组长度可以不同 C.实参表与虚参表类型可以不同 D.函数名可以作为虚参

(分数:1.00) A. B. C. √ D. 解析: 5.下列叙述中正确的是( )。 A.FORTRAN程序块中,无名公用语句只能有一个B.FORTRAN子程序中,至少应有一个RETURN语句C.FORTRAN程序块中,最后一行必须是END语句D.FORTRAN程序块中,必须有变量说明语句 (分数:1.00) A. B. C. √ D. 解析: 6.运行下面的程序时得不到所需的结果,其主要原因是( )。INTEGER X(11) DATA X/9,8,7,6,5,4,3,2,1,0,-1/ DO 10 1=1,X(1) ,-1 WRITE(*,*)1.0/SQRT(25.0-REAL(X(1) )* * 2) 10 CONTINUE END A.没有给X(11) 赋初值 B.发生除以零的情况 C.发生负数开平方的情况 D.循环参数设置错误 (分数:1.00) A. B. C. D. √ 解析: 7.下列数据中,不符合FORTRAN常量表示法的是( )。 A.-25.6 B.2.758D3 C.'FOOT"=' D.TRUE (分数:1.00) A. B. C. D. √ 解析:

计算机语言(或称程序设计语言)的发展过程

计算机语言(或称程序设计语言)的发展过程是其功能不断完善、描述问题的方法越来越贴近人类思维方式的过程。 (1)第一代语言——机器语言 机器语言是计算机诞生和发展初期使用的语言,表现为二进制的编码形式,是由CPU 可以直接识别的一组由0和1序列构成的指令码。这种机器语言是从属于硬件设备的,不同的计算机设备有不同的机器语言。直到如今,机器语言仍然是计算机硬件所能“理解”的惟一语言。在计算机发展初期,人们就是直接使用机器语言来编写程序的,那是一项相当复杂和繁琐的工作。 例如,下面列出的一串二进制编码 011011 000000 000000 000001 110101 命令计算机硬件完成清除累加器,然后把内存地址为117的单元内容与累加器的内容相加的操作。 可以看出,使用机器语言编写程序是很不方便的,它要求使用者熟悉计算机的所有细节,程序的质量完全决定于个人的编程水平。特别是随着计算机硬件结构越来越复杂,指令系统变得越来越庞大,一般的工程技术人员难以掌握程序的编写。为了把计算机从少数专门人才手中解放出来,减轻程序设计人员在编制程序工作中的繁琐劳动,计算机工作者开展了对程序设计语言的研究以及对语言处理程序的开发。 (2)第二代语言——汇编语言 汇编语言开始于20世纪50年代初期,它是用助记符来表示每一条机器指令的。例如,上面的机器指令可以表示为 CLA 00 017 由于便于识别记忆,汇编语言比机器语言前进了一步。但汇编语言程序的大部分语句还是和机器指令一一对应的,语句功能不强,因此编写较大的程序时仍很繁琐。而且汇编语言都是针对特定的计算机或计算机系统设计的,对机器的依赖性仍然很强。用汇编语言编好的程序要依靠计算机的翻译程序(汇编程序)翻译成机器语言后方可执行,但这时用户看到的计算机已是装配有汇编程序软件的计算机。 (3)第三代语言——高级语言、算法语言 高级语言起始于20世纪50年代中期,它允许人们用熟悉的自然语言和数学语言编写程序代码,可读性强,编程方便。例如,在高级语言中写出如下语句: X=(A+B)/(C+D) 与之等价的汇编语言程序如下: CLA C ADD D STD M CLA A ADD B DIV M STD X 显然,前者比后者容易得多。 用一种高级语言写成的源程序可以在具有该种语言编译系统的不同计算机上使用,但这种语言必须经过编译或解释程序译成机器语言后才能执行。BASIC、FORTRAN、COBOL、PASCAL等都属于第三代语言。 第三代语言又称为“过程语言”,顾名思义,它是面向“过程的”。用过程语言编写程序,用户可不必了解计算机的内部逻辑,而主要考虑解题算法的逻辑和过程的描述,把

计算机基础与程序设计考试复习资料

填空题 1、在微机中通常说是的cpu是指运算器和控制器。 2、C程序的运算符中赋值运算符的优先级仅高于逗号运算符。 3、在C语言中如果对函数f的类型未加显说明,则函数f的隐含类型是int型。 4、在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数是rewind( )。 5、CPU、主存储器、和外部设备组成计算机的硬件系统。 6、存储器是计算机能够实现“存储程序”功能的硬件基础。 7、使用strcpy函数应包括的头文件是string.h。 8、定义文件指针fp的定义语句为FILE*fp。 9、硬件系统和软件系统组成一个完整的计算机系统。 10、C程序中,函数体放在一对{}中。 11、在C语言中,输入操作是由库函数printf( )完成的,输入操作是由库函数scanf()完成的。 12、在函数外部定义的变量统称为全局变量,它们的作用域从定义之处开始,直到源文件或程序结束。 13、C语言中的文件,按存取方式可以分为顺序存取文件和随机存取文件。 14、在一个C源程序中,注释部分两侧的分界符分别为/*和*/。 15、在C语言中,如果实参是简单的数据类型,则函数形参和实参之间的数据传递,只能由实参传给形参。 16、一个C源程序中至少应包括一个名为main( )的主函数。 17、当函数类型和return语句中的表达式的类型不一致时,则应以函数类型为准。 18、C语言规定一维数组名代表一维数组的起始地址。 19、结构体是用户自己定义的一个集合体,它由多个成员组成,成员的数据类型允许不同。 20、C语言中的文件,按数据的组织形式可以分为文本文件和二进制文件。 21、在系统总线上通常传输的三种信号是地址信号、数据信号、控制信号。 22、一个函数由函数说明和函数体两部分组成。 23、C语言中,函数在调用之前必须先定义。 24、指针数组的全部数组元素必须是指向相同数据类型的指针。 25、C语言规定,结构体变量的地址在数值上等于第一个成员的地址。 26、判断文件是否结束使用的函数是feof( )。 27、DOS的启动方法可分为冷启动和热启动。 28、C语言语句的结束标志是;。 29、C语言程序执行,在main( )函数中开始,在main( )函数中结束。 30、在C语言中,为赋值的auto变量的值是随机性。 32、指向数据类型相同的变量的指针px和py,若px=py,则说明px和py指向同一个变量。 33、文件是DOS管理的基本对象。 34、C语言中实型变量分为两种类型float和double。 35、在C语言中,为赋值的数值型static变量的值是0. 36、如果函数间传递的是地址值,函数的形参必须是指针变量。 37、从文件中一次读出一个字符的函数是fgetc( )。 38、按照与CPU的关系,存储器被分为内部存储器和外部存储器。

计算机程序设计语言的发展史及现状

计算机程序设计语言的发 展史及现状 姜生

110310119 计算机1班 计算机程序设计语言的发展史及现状 提要:本文系统的分析了计算机语言的发展历史、现状和未来。并对其的发展趋势和未来模式做了探索性研究和预测,同时以哲学的观点阐述其发展的因果关系,揭示其事物发展的共性问题;最后文章介绍了在计算机语言发展历程中做出杰出贡献的科学家。 【关键字】计算机语言计算机技术编程语言因特网面向对象 正文 一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。 一、科学认识大门的钥匙--当代自然辩证法 自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。

马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。 自然辩证法是马克思主义哲学的一个重要组成部分。在辩证唯物主义哲学体系中,自然辩证法与历史唯物论相并列。它集中研究自然界和科学技术的辩证法,是唯物主义在自然界和科学技术领域中的应用,它的原理和方法主要适用于自然领域和科学技术领域。 学习和运用自然辩证法将有助于我们搞清科学和哲学的关系,从而更加清楚地认识科学的本质和发展规律,更加全面的观察思考问题,只有加深了认识,我们才能更好地发挥主观能动性,迎接新的科学技术的挑战。下面我将以自然辩证法的观点来分析计算机语言的发展历程。 二、计算机语言的发展历程和发展趋势 计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。 1、计算机语言的发展历史:二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konradzuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c, pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。 2、计算机语言的发展现状:目前通用的编程语言有两种形式:汇编语言和高级语言。 汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了

程序设计语言的发展肯展望

程序设计语言的发展肯展望 程序设计语言是与现代计算机共同诞生、共同发展的,至今已有40余年的历史,早已形成了规模庞大的家族。进入80年代以后,随着计算机的日益普及和性能的不断改进,程序设计语言也相应得到了迅猛发展。 计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。第一代的机器语言,在程序有错需要修改时,十分麻烦,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但是,针对特定型号计算机的语言,所以运算效率是所有语言中最高的。由此,后来又产生了汇编语言,但是需要有编译程序翻译,因为计算机不认识那些符号的,这个程序可以将这些符号翻译成二进制数的机器语言,但是,汇编语言十分依赖机器硬件,移植性不好,但效率还是十分高,它能准确发挥计算机硬件的功能和特长,程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。其次,而后又有了高级语言,它是接近于数学语言或人的自然语言,但是高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程,相应得,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。 60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序ude编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言——pascal语言的出现,标志着结构化程序设计时期的开始。 80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被执行完成前,人们不能干别的事,也无法动态地改变程序的执行方向。这和人们日常处理事物的方式是不一致的,对人而言是希望发生一件事就处理一件事,也就是说,不能面向过程,而应时面向具体的应用功能,也就是对象。其方法就是图案件的集成化,如同硬件的集成电路一样,生产一些通用的、封装紧密的功能模块,称之为软件集成块,它与具体应用无关,但能相互组合,完成具体的应用功能,同时又能重复使用。对使用者来说,只关心它的接口(输入量、输出量)及能实现的功能,至于如何实现的,那是内部的事,使用者完全不用关心,C++、VB、Delphi就是典型代表。 高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。在这种语言下,其语法和结构更类似普通英文,且由于远离对硬件的直接操作,使得一般人经过学习之后都可以编程。高级语言通常按其基本类型、代系、实现方式、应用范围等分类。高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的c,c++,pascal,python,lisp,prolog,FoxPro,Delphi等等,这些语言的语法、命令格式都不相同。高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言

相关文档
相关文档 最新文档