答案选择C、初级语言,程序设计语言是没有经过初级语言的。
程序设计语言的发展历程:
第一代机器语言
机器语言是由二进制 0、1 代码指令构成,不同的 CPU 具有不同的指令系统。机器语言程序难编写、难修改、难维护,需要用户直接对存储空间进行分配,编程效率极低。这种语言已经被渐渐淘汰了。
第二代汇编语言
汇编语言指令是机器指令的符号化,与机器指令存在着直接的对应关系,所以汇编语言同样存在着难学难用、容易出错、维护困难等缺点。
但是汇编语言也有自己的优点:可直接访问系统接口,汇编程序翻译成的机器语言程序的效率高。 从软件工程角度来看,只有在高级语言不能满足设计要求,或不具备支持某种特定功能的技术性能(如特殊的输入输出)时,汇编语言才被使用。
第三代高级语言
高级语言是面向用户的、基本上独立于计算机种类和结构的语言。其最大的优点是:形式上接近于算术语言和自然语言,概念上接近于人们通常使用的概念。
高级语言的一个命令可以代替几条、几十条甚至几百条汇编语言的指令。因此,高级语言易学易用,通用性强,应用广泛。高级语言种类繁多,可以从应用特点和对客观系统的描述两个方面对其进一步分类。
第四代非过程化语言
4GL 是非过程化语言,编码时只需说明“做什么”,不需描述算法细节。
数据库查询和应用程序生成器是 4GL 的两个典型应用。用户可以用数据库查询语言(SQL)对数据库中的信息进行复杂的 *** 作。 用户只需将要查找的内容在什么地方、 据什么 根条件进行查找等信息告诉 SQL,SQL 将自动完成查找过程。
应用程序生成器则是根据用户的需求“自动生成”满足需求的高级语言程序。真正的第四代程序设计语言应该说还没有出现。
扩展资料常见编程语言种类:
1、C#
C#是微软公司发布的一种面向对象的、运行于NET Framework之上的高级程序设计语言。C#是微软公司研究员Anders Hejlsberg的最新成果。是微软公司在2000年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相。
2、Basic
意思就是“初学者的全方位符式指令代码”,是一种设计给初学者使用的程序设计语言。BASIC是一种直译式的编程语言,在完成编写后不须经由编译及连结等手续即可执行,但如果需要单独执行时仍然需要将其建立成执行档。
3、Pascal
Pascal是一种计算机通用的高级程序设计语言。Pascal的取名是为了纪念十七世纪法国著名哲学家和数学家Blaise Pascal。它由瑞士Niklaus Wirth教授于六十年代末设计并创立。Pascal语言语法严谨,层次分明,程序易写,具有很强的可读性,是第一个结构化的编程语言。
4、C语言
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。
它由美国贝尔研究所的DMRitchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上。
它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
5、C++
C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。
它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
参考资料来源:百度百科-程序设计语言
参考资料来源:百度百科-编程语言
计算机的发展历史
一、第一台计算机的诞生
第一台计算机(ENIAC)于1946年2月,在美国诞生。
ENIAC PC机
耗资 100万美圆 600美圆
重量 30吨 10kg
占地 150平方米 0.25平方米
电子器件 1.9万只电子管 100块集成电路
运算速度 5000次/秒 500万次/秒
二、计算机发展历史
1、第一代计算机(1946~1958)
电子管为基本电子器件;使用机器语言和汇编语言;主要应用于国防和科学计算;运算速度每秒几千次至几万次。
2、第二代计算机(1958~1964)
晶体管为主要器件;软件上出现了 *** 作系统和算法语言;运算速度每秒几万次至几十万次。
3、第三代计算机(1964~1971)
普遍采用集成电路;体积缩小;运算速度每秒几十万次至几百万次。
4、第四代计算机(1971~ )
以大规模集成电路为主要器件;运算速度每秒几百万次至上亿次。
三、我国计算机发展历史
从1953年开始研究,到1958年研制出了我国第一台计算机
在1982年我国研制出了运算速度1亿次的银河I、II型等小型系列机。
计算机的历史
计算机是新技术革命的一支主力,也是推动社会向现代化迈进的活跃因素。计算机科学与技术是第二次世界大战以来发展最快、影响最为深远的新兴学科之一。计算机产业已在世界范围内发展成为一种极富生命力的战略产业。
现代计算机是一种按程序自动进行信息处理的通用工具,它的处理对象是信息,处理结果也是信息。利用计算机解决科学计算、工程设计、经营管理、过程控制或人工智能等各种问题的方法,都是按照一定的算法进行的。这种算法是定义精确的一系列规则,它指出怎样以给定的输入信息经过有限的步骤产生所需要的输出信息。
信息处理的一般过程,是计算机使用者针对待解抉的问题,事先编制程序并存入计算机内,然后利用存储程序指挥、控制计算机自动进行各种基本 *** 作,直至获得预期的处理结果。计算机自动工作的基础在于这种存储程序方式,其通用性的基础则在于利用计算机进行信息处理的共性方法。
计算机的历史
现代计算机的诞生和发展 现代计算机问世之前,计算机的发展经历了机械式计算机、机电式计算机和萌芽期的电子计算机三个阶段。
早在17世纪,欧洲一批数学家就已开始设计和制造以数字形式进行基本运算的数字计算机。1642年,法国数学家帕斯卡采用与钟表类似的齿轮传动装置,制成了最早的十进制加法器。1678年,德国数学家莱布尼兹制成的计算机,进一步解决了十进制数的乘、除运算。
英国数学家巴贝奇在1822年制作差分机模型时提出一个设想,每次完成一次算术运算将发展为自动完成某个特定的完整运算过程。1884年,巴贝奇设计了一种程序控制的通用分析机。这台分析机虽然已经描绘出有关程序控制方式计算机的雏型,但限于当时的技术条件而未能实现。
巴贝奇的设想提出以后的一百多年期间,电磁学、电工学、电子学不断取得重大进展,在元件、器件方面接连发明了真空二极管和真空三极管;在系统技术方面,相继发明了无线电报、电视和雷达……。所有这些成就为现代计算机的发展准备了技术和物质条件。
与此同时,数学、物理也相应地蓬勃发展。到了20世纪30年代,物理学的各个领域经历着定量化的阶段,描述各种物理过程的数学方程,其中有的用经典的分析方法已根难解决。于是,数值分析受到了重视,研究出各种数值积分,数值微分,以及微分方程数值解法,把计算过程归结为巨量的基本运算,从而奠定了现代计算机的数值算法基础。
社会上对先进计算工具多方面迫切的需要,是促使现代计算机诞生的根本动力。20世纪以后,各个科学领域和技术部门的计算困难堆积如山,已经阻碍了学科的继续发展。特别是第二次世界大战爆发前后,军事科学技术对高速计算工具的需要尤为迫切。在此期间,德国、美国、英国部在进行计算机的开拓工作,几乎同时开始了机电式计算机和电子计算机的研究。
德国的朱赛最先采用电气元件制造计算机。他在1941年制成的全自动继电器计算机Z-3,已具备浮点记数、二进制运算、数字存储地址的指令形式等现代计算机的特征。在美国,1940~1947年期间也相继制成了继电器计算机MARK-1、MARK-2、Model-1、Model-5等。不过,继电器的开关速度大约为百分之一秒,使计算机的运算速度受到很大限制。
电子计算机的开拓过程,经历了从制作部件到整机从专用机到通用机、从“外加式程序”到“存储程序”的演变。1938年,美籍保加利亚学者阿塔纳索夫首先制成了电子计算机的运算部件。1943年,英国外交部通信处制成了“巨人”电子计算机。这是一种专用的密码分析机,在第二次世界大战中得到了应用。
1946年2月美国宾夕法尼亚大学莫尔学院制成的大型电子数字积分计算机(ENIAC),最初也专门用于火炮d道计算,后经多次改进而成为能进行各种科学计算的通用计算机。这台完全采用电子线路执行算术运算、逻辑运算和信息存储的计算机,运算速度比继电器计算机快1000倍。这就是人们常常提到的世界上第一台电子计算机。但是,这种计算机的程序仍然是外加式的,存储容量也太小,尚未完全具备现代计算机的主要特征。
新的重大突破是由数学家冯·诺伊曼领导的设计小组完成的。1945年3月他们发表了一个全新的存储程序式通用电子计算机方案—电子离散变量自动计算机(EDVAC)。随后于1946年6月,冯·诺伊曼等人提出了更为完善的设计报告《电子计算机装置逻辑结构初探》。同年7~8月间,他们又在莫尔学院为美国和英国二十多个机构的专家讲授了专门课程《电子计算机设计的理论和技术》,推动了存储程序式计算机的设计与制造。
1949年,英国剑桥大学数学实验室率先制成电子离散时序自动计算机(EDSAC);美国则于1950年制成了东部标准自动计算机(SFAC)等。至此,电子计算机发展的萌芽时期遂告结束,开始了现代计算机的发展时期。
在创制数字计算机的同时,还研制了另一类重要的计算工具——模拟计算机。物理学家在总结自然规律时,常用数学方程描述某一过程;相反,解数学方程的过程,也有可能采用物理过程模拟方法,对数发明以后,1620年制成的计算尺,己把乘法、除法化为加法、减法进行计算。麦克斯韦巧妙地把积分(面积)的计算转变为长度的测量,于1855年制成了积分仪。
19世纪数学物理的另一项重大成就——傅里叶分析,对模拟机的发展起到了直接的推动作用。19世纪后期和20世纪前期,相继制成了多种计算傅里叶系数的分析机和解微分方程的微分分析机等。但是当试图推广微分分析机解偏微分方程和用模拟机解决一般科学计算问题时,人们逐渐认识到模拟机在通用性和精确度等方面的局限性,并将主要精力转向了数字计算机。
电子数字计算机问世以后,模拟计算机仍然继续有所发展,并且与数字计算机相结合而产生了混合式计算机。模拟机和混合机已发展成为现代计算机的特殊品种,即用在特定领域的高效信息处理工具或仿真工具。
20世纪中期以来,计算机一直处于高速度发展时期,计算机由仅包含硬件发展到包含硬件、软件和固件三类子系统的计算机系统。计算机系统的性能—价格比,平均每10年提高两个数量级。计算机种类也一再分化,发展成微型计算机、小型计算机、通用计算机(包括巨型、大型和中型计算机),以及各种专用机(如各种控制计算机、模拟—数字混合计算机)等。
计算机器件从电子管到晶体管,再从分立元件到集成电路以至微处理器,促使计算机的发展出现了三次飞跃。
在电子管计算机时期(1946~1959),计算机主要用于科学计算。主存储器是决定计算机技术面貌的主要因素。当时,主存储器有水银延迟线存储器、阴极射线示波管静电存储器、磁鼓和磁心存储器等类型,通常按此对计算机进行分类。
到了晶体管计算机时期(1959~1964),主存储器均采用磁心存储器,磁鼓和磁盘开始用作主要的辅助存储器。不仅科学计算用计算机继续发展,而且中、小型计算机,特别是廉价的小型数据处理用计算机开始大量生产。
1964年,在集成电路计算机发展的同时,计算机也进入了产品系列化的发展时期。半导体存储器逐步取代了磁心存储器的主存储器地位,磁盘成了不可缺少的辅助存储器,并且开始普遍采用虚拟存储技术。随着各种半导体只读存储器和可改写的只读存储器的迅速发展,以及微程序技术的发展和应用,计算机系统中开始出现固件子系统。
20世纪70年代以后,计算机用集成电路的集成度迅速从中小规模发展到大规模、超大规模的水平,微处理器和微型计算机应运而生,各类计算机的性能迅速提高。随着字长4位、8位、16位、32位和64位的微型计算机相继问世和广泛应用,对小型计算机、通用计算机和专用计算机的需求量也相应增长了。
微型计算机在社会上大量应用后,一座办公楼、一所学校、一个仓库常常拥有数十台以至数百台计算机。实现它们互连的局部网随即兴起,进一步推动了计算机应用系统从集中式系统向分布式系统的发展。
在电子管计算机时期,一些计算机配置了汇编语言和子程序库,科学计算用的高级语言FORTRAN初露头角。在晶体管计算机阶段,事务处理的COBOL语言、科学计算机用的ALGOL语言,和符号处理用的LISP等高级语言开始进入实用阶段。 *** 作系统初步成型,使计算机的使用方式由手工 *** 作改变为自动作业管理。
进入集成电路计算机发展时期以后,在计算机中形成了相当规模的软件子系统,高级语言种类进一步增加, *** 作系统日趋完善,具备批量处理、分时处理、实时处理等多种功能。数据库管理系统、通信处理程序、网络软件等也不断增添到软件子系统中。软件子系统的功能不断增强,明显地改变了计算机的使用属性,使用效率显著提高。
在现代计算机中,外围设备的价值一般已超过计算机硬件子系统的一半以上,其技术水平在很大程度上决定着计算机的技术面貌。外围设备技术的综合性很强,既依赖于电子学、机械学、光学、磁学等多门学科知识的综合,又取决于精密机械工艺、电气和电子加工工艺以及计量的技术和工艺水平等。
外围设备包括辅助存储器和输入输出设备两大类。辅助存储器包括磁盘、磁鼓、磁带、激光存储器、海量存储器和缩微存储器等;输入输出设备又分为输入、输出、转换、、模式信息处理设备和终端设备。在这些品种繁多的设备中,对计算机技术面貌影响最大的是磁盘、终端设备、模式信息处理设备和转换设备等。
新一代计算机是把信息采集存储处理、通信和人工智能结合在一起的智能计算机系统。它不仅能进行一般信息处理,而且能面向知识处理,具有形式化推理、联想、学习和解释的能力,将能帮助人类开拓未知的领域和获得新的知识。
计算技术在中国的发展 在人类文明发展的历史上中国曾经在早期计算工具的发明创造方面写过光辉的一页。远在商代,中国就创造了十进制记数方法,领先于世界千余年。到了周代,发明了当时最先进的计算工具——算筹。这是一种用竹、木或骨制成的颜色不同的小棍。计算每一个数学问题时,通常编出一套歌诀形式的算法,一边计算,一边不断地重新布棍。中国古代数学家祖冲之,就是用算筹计算出圆周率在31415926和31415927之间。这一结果比西方早一千年。
珠算盘是中国的又一独创,也是计算工具发展史上的第一项重大发明。这种轻巧灵活、携带方便、与人民生活关系密切的计算工具,最初大约出现于汉朝,到元朝时渐趋成熟。珠算盘不仅对中国经济的发展起过有益的作用,而且传到日本、朝鲜、东南亚等地区,经受了历史的考验,至今仍在使用。
中国发明创造指南车、水运浑象仪、记里鼓车、提花机等,不仅对自动控制机械的发展有卓越的贡献,而且对计算工具的演进产生了直接或间接的影响。例如,张衡制作的水运浑象仪,可以自动地与地球运转同步,后经唐、宋两代的改进,遂成为世界上最早的天文钟。
记里鼓车则是世界上最早的自动计数装置。提花机原理刘计算机程序控制的发展有过间接的影响。中国古代用阳、阴两爻构成八卦,也对计算技术的发展有过直接的影响。莱布尼兹写过研究八卦的论文,系统地提出了二进制算术运算法则。他认为,世界上最早的二进制表示法就是中国的八卦。
经过漫长的沉寂,新中国成立后,中国计算技术迈入了新的发展时期,先后建立了研究机构,在高等院校建立了计算技术与装置专业和计算数学专业,并且着手创建中国计算机制造业。
1958年和1959年,中国先后制成第一台小型和大型电子管计算机。60年代中期,中国研制成功一批晶体管计算机,并配制了ALGOL等语言的编译程序和其他系统软件。60年代后期,中国开始研究集成电路计算机。70年代,中国已批量生产小型集成电路计算机。80年代以后,中国开始重点研制微型计算机系统并推广应用;在大型计算机、特别是巨型计算机技术方面也取得了重要进展;建立了计算机服务业,逐步健全了计算机产业结构。
在计算机科学与技术的研究方面,中国在有限元计算方法、数学定理的机器证明、汉字信息处理、计算机系统结构和软件等方面都有所建树。在计算机应用方面,中国在科学计算与工程设计领域取得了显著成就。在有关经营管理和过程控制等方面,计算机应用研究和实践也日益活跃。
计算机科学与技术
计算机科学与技术是一门实用性很强、发展极其迅速的面向广大社会的技术学科,它建立在数学、电子学 (特别是微电子学)、磁学、光学、精密机械等多门学科的基础之上。但是,它并不是简单地应用某些学科的知识,而是经过高度综合形成一整套有关信息表示、变换、存储、处理、控制和利用的理论、方法和技术。
计算机科学是研究计算机及其周围各种现象与规模的科学,主要包括理论计算机科学、计算机系统结构、软件和人工智能等。计算机技术则泛指计算机领域中所应用的技术方法和技术手段,包括计算机的系统技术、软件技术、部件技术、器件技术和组装技术等。计算机科学与技术包括五个分支学科,即理论计算机科学、计算机系统结构、计算机组织与实现、计算机软件和计算机应用。
理论计算机学 是研究计算机基本理论的学科。在几千年的数学发展中,人们研究了各式各样的计算,创立了许多算法。但是,以计算或算法本身的性质为研究对象的数学理论,却是在20世纪30年代才发展起来的。
当时,由几位数理逻辑学者建立的算法理论,即可计算性理论或称递归函数论,对20世纪40年代现代计算机设计思想的形成产生过影响。此后,关于现实计算机及其程序的数学模型性质的研究,以及计算复杂性的研究等不断有所发展。
理论计算机科学包括自动机论、形式语言理论、程序理论、算法分析,以及计算复杂性理论等。自动机是现实自动计算机的数学模型,或者说是现实计算机程序的模型,自动机理论的任务就在于研究这种抽象机器的模型;程序设计语言是一种形式语言,形式语言理论根据语言表达能力的强弱分为O~3型语言,与图灵机等四类自动机逐一对应;程序理论是研究程序逻辑、程序复杂性、程序正确性证明、程序验证、程序综合、形式语言学,以及程序设计方法的理论基础;算法分析研究各种特定算法的性质。计算复杂性理论研究算法复杂性的一般性质。
计算机系统结构 程序设计者所见的计算机属性,着重于计算机的概念结构和功能特性,硬件、软件和固件子系统的功能分配及其界面的确定。使用高级语言的程序设计者所见到的计算机属性,主要是软件子系统和固件子系统的属性,包括程序语言以及 *** 作系统、数据库管理系统、网络软件等的用户界面。使用机器语言的程序设计者所见到的计算机属性,则是硬件子系统的概念结构(硬件子系统结构)及其功能特性,包括指令系统(机器语言),以及寄存器定义、中断机构、输入输出方式、机器工作状态等。
硬件子系统的典型结构是冯·诺伊曼结构,它由运算器控制器、存储器和输入、输出设备组成,采用“指令驱动”方式。当初,它是为解非线性、微分方程而设计的,并未预见到高级语言、 *** 作系统等的出现,以及适应其他应用环境的特殊要求。在相当长的一段时间内,软件子系统都是以这种冯·诺伊曼结构为基础而发展的。但是,其间不相适应的情况逐渐暴露出来,从而推动了计算机系统结构的变革。
计算机组织与实现 是研究组成计算机的功能、部件间的相互连接和相互作用,以及有关计算机实现的技术,均属于计算机组织与实现的任务。
在计算机系统结构确定分配给硬子系统的功能及其概念结构之后,计算机组织的任务就是研究各组成部分的内部构造和相互联系,以实现机器指令级的各种功能和特性。这种相互联系包括各功能部件的布置、相互连接和相互作用。
随着计算机功能的扩展和性能的提高,计算机包含的功能部件也日益增多,其间的互连结构日趋复杂。现代已有三类互连方式,分别以中央处理器、存储器或通信子系统为中心,与其他部件互连。以通信子系统为中心的组织方式,使计算机技术与通信技术紧密结合,形成了计算机网络、分布计算机系统等重要的计算机研究与应用领域。
与计算实现有关的技术范围相当广泛,包括计算机的元件、器件技术,数字电路技术,组装技术以及有关的制造技术和工艺等。
软件 软件的研究领域主要包括程序设计、基础软件、软件工程三个方面。程序设计指设计和编制程序的过程,是软件研究和发展的基础环节。程序设计研究的内容,包括有关的基本概念、规范、工具、方法以及方法学等。这个领域发展的特点是:从顺序程序设计过渡到并发程序设计和分币程序设计;从非结构程序设计方法过渡到结构程序设计方法;从低级语言工具过渡到高级语言工具;从具体方法过渡到方法学。
基础软件指计算机系统中起基础作用的软件。计算机的软件子系统可以分为两层:靠近硬件子系统的一层称为系统软件,使用频繁,但与具体应用领域无关;另一层则与具体应用领域直接有关,称为应用软件;此外还有支援其他软件的研究与维护的软件,专门称为支援软件。
软件工程是采用工程方法研究和维护软件的过程,以及有关的技术。软件研究和维护的全过程,包括概念形成、要求定义、设计、实现、调试、交付使用,以及有关校正性、适应性、完善性等三层意义的维护。软件工程的研究内容涉及上述全过程有关的对象、结构、方法、工具和管理等方面。
软件目动研究系统的任务是:在软件工程中采用形式方法:使软件研究与维护过程中的各种工作尽可能多地由计算机自动完成;创造一种适应软件发展的软件、固件与硬件高度综合的高效能计算机。
计算机产业
计算机产业包括两大部门,即计算机制造业和计算机服务业。后者又称为信息处理产业或信息服务业。计算机产业是一种省能源、省资源、附加价值高、知识和技术密集的产业,对于国民经济的发展、国防实力和社会进步均有巨大影响。因此,不少国家采取促进计算机产业兴旺发达的政策。
计算机制造业包括生产各种计算机系统、外围设备终端设备,以及有关装置、元件、器件和材料的制造。计算机作为工业产品,要求产品有继承性,有很高的性能-价格比和综合性能。计算机的继承性特别体现在软件兼容性方面,这能使用户和厂家把过去研制的软件用在新产品上,使价格很高的软件财富继续发挥作用,减少用户再次研制软件的时间和费用。提高性能-价格比是计算机产品更新的目标和动力。
计算机制造业提供的计算机产品,一般仅包括硬件子系统和部分软件子系统。通常,软件子系统中缺少适应各种特定应用环境的应用软件。为了使计算机在特定环境中发挥效能,还需要设计应用系统和研制应用软件此外,计算机的运行和维护,需要有掌握专业知识的技术人员,这常常是一股用户所作不到的。
针对这些社会需要,一些计算机制造厂家十分重视向用户提供各种技术服务和销售服务。一些独立于计算机制造厂家的计算机服务机构,也在50年代开始出现。到60年代末期,计算机服务业在世界范围内已形成为独立的行业。
计算机的发展与应用
计算机科学与技术的各门学科相结合,改进了研究工具和研究方法,促进了各门学科的发展。过去,人们主要通过实验和理论两种途径进行科学技术研究。现在,计算和模拟已成为研究工作的第三条途径。
计算机与有关的实验观测仪器相结合,可对实验数据进行现场记录、整理、加工、分析和绘制图表,显著地提高实验工作的质量和效率。计算机辅助设计已成为工程设计优质化、自动化的重要手段。在理论研究方面,计算机是人类大脑的延伸,可代替人脑的若干功能并加以强化。古老的数学靠纸和笔运算,现在计算机成了新的工具,数学定理证明之类的繁重脑力劳动,已可能由计算机来完成或部分完成。
计算和模拟作为一种新的研究手段,常使一些学科衍生出新的分支学科。例如,空气动力学、气象学、d性结构力学和应用分析等所面临的“计算障碍”,在有了高速计算机和有关的计算方法之后开始有所突破,并衍生出计算空气动力学、气象数值预报等边缘分支学科。利用计算机进行定量研究,不仅在自然科学中发挥了重大的作用,在社会科学和人文学科中也是如此。例如,在人口普查、社会调查和自然语言研究方面,计算机就是一种很得力的工具。
计算机在各行各业中的广泛应用,常常产生显著的经济效益和社会效益,从而引起产业结构、产品结构、经营管理和服务方式等方面的重大变革。在产业结构中已出观了计算机制造业和计算机服务业,以及知识产业等新的行业。
微处理器和微计算机已嵌入机电设备、电子设备、通信设备、仪器仪表和家用电器中,使这些产品向智能化方向发展。计算机被引入各种生产过程系统中,使化工、石油、钢铁、电力、机械、造纸、水泥等生产过程的自动化水平大大提高,劳动生产率上升、质量提高、成本下降。计算机嵌入各种武器装备和武器系统干,可显著提高其作战效果。
经营管理方面,计算机可用于完成统计、计划、查询、库存管理、市场分析、辅助决策等,使经营管理工作科学化和高效化,从而加速资金周转,降低库存水准,改善服务质量,缩短新产品研制周期,提高劳动生产率。在办公室自动化方面,计算机可用于文件的起草、检索和管理等,显著提高办公效率。
计算机还是人们的学习工具和生活工具。借助家用计算机、个人计算机、计算机网、数据库系统和各种终端设备,人们可以学习各种课程,获取各种情报和知识,处理各种生活事务(如订票、购物、存取款等),甚至可以居家办公。越来越多的人的工作、学习和生活中将与计算机发生直接的或间接的联系。普及计算机教育已成为一个重要的问题。
总之,计算机的发展和应用已不仅是一种技术现象而且是一种政治、经济、军事和社会现象。世界各国都力图主动地驾驭这种社会计算机化和信息化的进程,克服计算机化过程中可能出现的消极因素,更顺利地向高
时代的车轮即将驶进21世纪的大门。人们将怎样面向未来?无论你从事什么工作,也不论你生活在什么地方,都会认识到我们所面临的世纪是科技高度发展的信息时代。计算机是信息处理的主要工具,掌握计算机知识已成为当代人类文化不可缺少的重要组成部分,计算机技能则是人们工作和生活必不可少的基本手段。
基于这样的认识,近年来我国掀起了一个全国范围的学习计算机热潮,各行各业的人都迫切地要求学习计算机知识和掌握计算机技能。对于广大的非计算机专业的人们,学习计算机的目的是应用,希望学以致用,立竿见影,而无须从系统理论学起。
掌握计算机技能关键是实践,只有通过大量的实践应用才能真正深入地掌握它。光靠看书是难以真正掌握计算机应用的。正如同在陆地上是无法学会游泳一样,要学游泳必须下到水中去。同样,要学习计算机应用,必须坐到计算机旁,经常地、反复地 *** 作计算机,熟能生巧。只要得法,你在计算机上花的时间愈多,收获就愈大
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的 *** 作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
后来于1980年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局(American National Standard Institution)为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言的标准。1980年代至今的有关程序开发工具,一般都支持符合ANSI C的语法。
C语言是一个程序语言,设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言也很适合搭配汇编语言来使用。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
早期发展
C语言最早是由丹尼斯·里奇为了在PDP-11电脑上运行的UNIX系统所设计出来的编程语言,第一次发展在1969年到1973年之间。之所以被称为“C”是因为C语言的很多特性是由一种更早的被称为B语言的编程语言中发展而来。早期 *** 作系统的核心大多由汇编语言组成,随着C语言的发展,C语言已经可以用来编写 *** 作系统的核心。1973年,Unix *** 作系统的核心正式用C语言改写,这是C语言第一次应用在 *** 作系统的核心编写上。
K&R C
1978年,丹尼斯·里奇(Dennis Ritchie)和布莱恩·柯林汉(Brian Kernighan)合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程序员称作“K&R C”,第二版的书中也包含了一些ANSI C的标准。K&R C主要介绍了以下特色:
结构(struct)类型
长整数(long int)类型
无符号整数(unsigned int)类型
把运算符=+和=-改为+=和-=。因为=+和=-会使得编译器不知道用户要处理i = -10还是i =- 10,使得处理上产生混淆。
即使在后来ANSI C标准被提出的许多年后,K&R C仍然是许多编译器的最低标准要求,许多老旧的编译仍然运行K&R C的标准。
ANSI C 和 ISO C
1989年,C语言被 ANSI 标准化(ANSI X3159-1989)。标准化的一个目的是扩展K&R C。这个标准包括了一些新特性。在K&R出版后,一些新特性被非官方地加到C语言中。
void 函数
函数返回 struct 或 union 类型
void 数据类型
在ANSI标准化自己的过程中,一些新的特性被加了进去。ANSI也规定了一套标准函数库。ANSI ISO(国际标准化组织)成立 ISO/IEC JTC1/SC22/WG14 工作组,来规定国际标准的C语言。通过对ANSI标准的少量修改,最终通过了 ISO 9899:1990。随后,ISO标准被 ANSI 采纳。
传统C语言到ANSI/ISO标准C语言的改进包括:
增加了真正的标准库
新的预处理命令与特性
函数原型允许在函数申明中指定参数类型
一些新的关键字,包括 const、volatile 与 signed
宽字符、宽字符串与字节多字符
对约定规则、声明和类型检查的许多小改动与澄清
WG14工作小组之后又于1995年,对1985年颁布的标准做了两处技术修订(缺陷修复)和一个补充(扩展)。下面是 1995 年做出的所有修改:
3 个新的标准库头文件 iso646h、wctypeh 和 wcharh
几个新的记号与预定义宏,用于对国际化提供更好的支持
printf/sprintf 函数一系列新的格式代码
大量的函数和一些类型与常量,用于多字节字符和宽字节字符
C99在ANSI的标准确立后,C语言的规范在一段时间内没有大的变动,然而C++在自己的标准化创建过程中继续发展壮大。《标准修正案一》在1995年为C语言创建了一个新标准,但是只修正了一些C89标准中的细节和增加更多更广的国际字符集支持。不过,这个标准引出了1999年ISO 9899:1999的发表。它通常被称为C99。C99被ANSI于2000年3月采用。
在C99中包括的特性有:
增加了对编译器的限制,比如源程序每行要求至少支持到 4095 字节,变量名函数名的要求支持到 63 字节(extern 要求支持到 31)。
增强了预处理功能。例如:
宏支持取可变参数 #define Macro() __VA_ARGS__
使用宏的时候,允许省略参数,被省略的参数会被扩展成空串。
支持 // 开头的单行注释(这个特性实际上在C89的很多编译器上已经被支持了)
增加了新关键字 restrict, inline, _Complex, _Imaginary, _Bool
支持 long long, long double _Complex, float _Complex 等类型
支持不定长的数组,即数组长度可以在运行时决定,比如利用变量作为数组长度。声明时使用 int a[var] 的形式。不过考虑到效率和实现,不定长数组不能用在全局,或 struct 与 union 里。
变量声明不必放在语句块的开头,for 语句提倡写成 for(int i=0;i<100;++i) 的形式,即i 只在 for 语句块内部有效。
允许采用(type_name){xx,xx,xx} 类似于 C++ 的构造函数的形式构造匿名的结构体。
初始化结构的时候允许对特定的元素赋值,形式为:
struct {int a[3],b;} foo[] = { [0]a = {1}, [1]a = 2 };
struct {int a, b, c, d;} foo = { a = 1, c = 3, 4, b = 5} // 3,4 是对 c,d 赋值的
格式化字符串中,利用 \u 支持 unicode 的字符。
支持 16 进制的浮点数的描述。
printf scanf 的格式化串增加了对 long long int 类型的支持。
浮点数的内部数据描述支持了新标准,可以使用 #pragma 编译器指令指定。
除了已有的 __line__ __file__ 以外,增加了 __func__ 得到当前的函数名。
允许编译器化简非常数的表达式。
修改了 / % 处理负数时的定义,这样可以给出明确的结果,例如在C89中-22 / 7 = -3, -22 % 7 = -1 ,也可以-22 / 7= -4, -22 % 7 = 6。 而C99中明确为 -22 / 7 = -3, -22 % 7 = -1,只有一种结果。
取消了函数返回类型默认为 int 的规定。
允许 struct 定义的最后一个数组不指定其长度,写做 [] 。
const const int i 将被当作 const int i 处理。
增加和修改了一些标准头文件,比如定义 bool 的 <stdboolh> ,定义一些标准长度的 int 的 <inttypesh> ,定义复数的 <complexh> ,定义宽字符的 <wctypeh> ,类似于泛型的数学函数 <tgmathh>, 浮点数相关的 <fenvh>。 在<stdargh> 增加了 va_copy 用于复制 的参数。<timeh> 里增加了 struct tmx ,对 struct tm 做了扩展。
输入输出对宽字符以及长整数等做了相应的支持。
人,是感官的动物。
我们的大脑,像一块复杂度极高的CPU,每天在接收着各种格式的数据,进行着无休止的计算。我们以各种感官接触着这个世界,抽取着不同感官下的信息,从而认知了世界。而图像作为承载信息最为丰富的一种媒介,在人类探索智慧的历史中,一直占据着重要的位置。人用这样一双肉眼如何识别不同类别的图像(image classification and pattern recognition),如何在图像中分割出形形色色的物体(semantic segmentation and object detection),如何从模糊的图像中想象出物体的轮廓(image super-resolution),如何创作出天马行空的图画(image synthesis),都是目前 机器视觉图像处理领域 关注的热点问题。全世界的研究者都希望有朝一日,计算机能代替人眼来识别这一幅幅图像,发现在图像中隐藏的密码。
图像分类是图像处理中的一个重要任务 。在传统机器学习领域,去识别分类一个一个图像的标准流程是特征提取、特征筛选,最后将特征向量输入合适的分类器完成特征分类。直到2012年Alex Krizhevsky突破性的提出AlexNet的网络结构, 借助深度学习的算法,将图像特征的提取、筛选和分类三个模块集成于一体 ,设计5层卷积层加3层全连接层的深度卷积神经网络结构,逐层对图像信息进行不同方向的挖掘提取,譬如浅层卷积通常获取的是图像边缘等通用特征,深层卷积获取的一般是特定数据集的特定分布特征。AlexNet以154%的创纪录低失误率夺得2012年ILSVRC(ImageNet大规模视觉识别挑战赛)的年度冠军,值得一提的是当年亚军得主的错误率为262%。 AlexNet超越传统机器学习的完美一役被公认为是深度学习领域里程碑式的历史事件,一举吹响了深度学习在计算机领域爆炸发展的号角 。
时间转眼来到了2014年,GoogleNet横空出世,此时的深度学习,已经历ZF-net,VGG-net的进一步精炼,在网络的深度,卷积核的尺寸,反向传播中梯度消失问题等技术细节部分已有了详细的讨论,Google在这些技术基础上引入了Inception单元,大破了传统深度神经网络各计算单元之间依次排列,即卷积层->激活层->池化层->下一卷积层的范式,将ImageNet分类错误率提高到了67%的高水平。
在网络越来越深,网络结构越来越复杂的趋势下,深度神经网络的训练越来越难,2015年Microsoft大神何恺明(现就职于Facebook AI Research)为了解决训练中准确率先饱和后降低的问题,将residual learning的概念引入深度学习领域,其核心思想是当神经网络在某一层达到饱和时,利用接下来的所有层去映射一个f(x)=x的函数,由于激活层中非线性部分的存在,这一目标几乎是不可能实现的。
但ResNet中,将一部分卷积层短接,则当训练饱和时,接下来的所有层的目标变成了映射一个f(x)=0的函数,为了达到这一目标,只需要训练过程中,各训练变量值收敛至0即可。Resdiual learning的出现,加深网络深度提高模型表现的前提下保证了网络训练的稳定性。2015年,ResNet也以36%的超低错误率获得了2015年ImageNet挑战赛的冠军,这一技术也超越了人类的平均识别水平,意味着人工智能在人类舞台中崛起的开始。
图像分类任务的实现可以让我们粗略的知道图像中包含了什么类型的物体,但并不知道物体在图像中哪一个位置,也不知道物体的具体信息,在一些具体的应用场景比如车牌识别、交通违章检测、人脸识别、运动捕捉,单纯的图像分类就不能完全满足我们的需求了。
这时候,需要引入图像领域另一个重要任务: 物体的检测与识别 。在传统机器领域,一个典型的案例是利用HOG(Histogram of Gradient)特征来生成各种物体相应的“滤波器”, HOG滤波器 能完整的记录物体的边缘和轮廓信息,利用这一滤波器过滤不同的不同位置,当输出响应值幅度超过一定阈值,就认为滤波器和中的物体匹配程度较高,从而完成了物体的检测。这一项工作由Pedro F Felzenszalb,Ross B Girshick,David Mcallester还有Deva Ramanan以Object Detection with Discriminatively Trained Part-Based Models共同发表在2010年9月的IEEE Transactions on Pattern Analysis and Machine Interlligence期刊上。
时间如白驹过隙,惊鸿一瞥,四年过去,Ross B Girishick已由当年站在巨人肩膀上的IEEE Student Member成长为了AI行业内独当一面的神级人物,继承了深度学习先驱的意志,在2014年CVPR会议上发表题为Rich Feature Hirarchies for Accurate Object Detection and Semantic Segmentation文章。RCNN,一时无两,天下皆知。
RCNN 的核心思想在于将一个物体检测任务转化为分类任务 ,RCNN的输入为一系列利用selective search算法从图像中抽取的图像块,我们称之为region proposal。经过warping处理,region proposals被标准化到相同的尺寸大小,输入到预先训练好并精细调参的卷积神经网络中,提取CNN特征。得到了每一个proposal的CNN特征后,针对每一个物体类别,训练一个二分类器,判断该proposal是否属于该物体类别。2015年,为了缩短提取每一个proposal的CNN特征的时间,Girishick借鉴了Spatial Pooling Pyramid Network(SPPnet)中的pooling技术,首先利用一整幅图像提取CNN特征图谱,再在这张特征图谱上截取不同的位置的proposal,从而得到不同尺寸的feature proposals,最后将这些feature proposals通过SPPnet标准化到相同的尺寸,进行分类。这种改进,解决了RCNN中每一个proposal都需要进行CNN特征抽取的弊端,一次性在整图上完成特征提取,极大的缩短了模型的运行时间,因而被称作“Fast R-CNN”,同名文章发表于ICCV 2015会议。
2015年,Girishick大神持续发力,定义RPN(region-proposal-network)层,取代传统的region proposal截取算法,将region proposal的截取嵌入深度神经网络中,进一步提高了fast R-CNN的模型效率,因而被称作“Faster R-CNN”,在NIPS2015上Girishick发表了题为“Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”的关键文章,完成了RCNN研究领域的三级跳壮举。
随着时代的发展, 科学家们不仅仅是技术的研究者,更是艺术的创造者 。
在人工智能领域的另一位新一代灵魂人物,Ian Goodfellow在2014年提出了Generative Adversarial Net的概念,通过定义一个生成器(generator)和一个判别器(discriminator)来完成图像生成任务。其原理在于生成器的任务是从随机噪声中“创造”出接近目标图像的“假图像”去欺骗判别器,而判别器的任务是去甄别哪一些图像是来自于真实的数据集,哪一些图像是来自于生成器,在生成器和判别器的互相对抗中,通过合理的损失函数设计完成训练,最终模型收敛后,判别器的概率输出为常数05,即一幅图像来自于生成器和真实数据集的概率相同,生成器生成的图像的概率分布无限趋近于真实数据集。
GAN技术成为2015,2016年深度学习研究的热门领域,在图像恢复、降噪、超分辨重建等方向获得了极佳的表现,衍生出一系列诸如WGAN,Info-GAN,DCGAN,Conditional-GAN等技术,引领了一波风潮。
当我们把一帧帧图像串联在一起,变成流动的光影,我们研究的问题就从空间维度上扩展到了时间维度,我们不仅需要关心物体在图像中的位置、类别、轮廓形状、语义信息,我们更要关心图像帧与帧之间的时间关系,去捕捉、识别一个物体的运动,去提取视频的摘要,去分析视频所表达的含义,去考虑除了图像之外的声音、文本标注,去处理一系列的自然语言,我们的研究一步一步,迈向了更广阔的星辰与大海。
图像和视频,都是虚拟的一串串数字,一个个字节,但却让这个世界更加真实 。
从核心元器件的角度而言,计算机的发展经历了真空管、晶体管、大规模集成电路、超大规模和甚大规模集成电路四个阶段。
第一代计算机基于真空管技术。特点:无 *** 作系统,采用机器指令或汇编语言。
第二代计算机基于晶体管技术。国外第二代电子计算机的生存期大约是1957-1964年。其软件开始使用面向过程的程序设计语言,如fortran、algol等。
第三代计算机基于大规模集成电路(每片上集成几百到几千个逻辑门)LSI(Large-Scale Integration)来构成计算机的主要功能部件;主存储器采用集成度很高的半导体存储器。运算速度可达每秒几百万次甚至上亿次基本运算。在软件方面,出现了数据库系统、分布式 *** 作系统等,应用软件的开发已逐步成为一个庞大的现代产业。
第四代计算机基于超大规模集成电路VLSI(Very Large Scale Integration)和甚大规模集成电路ULSI(Ultra Large Scale Integration)制作开关逻辑部件, 微处理器的型号经过了8088, 8086, 80286, 80386, 80486, 80586, Pentium, Pentium Pro等发展过程 这一阶段, 软件行业一日千里, 成为全球信息化革命最活跃的领域之一
以上就是关于程序设计语言的产生与发展,所经历的过程不包括以下的哪项全部的内容,包括:程序设计语言的产生与发展,所经历的过程不包括以下的哪项、计算机的发展史、c语言的发展史等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)