白癜风多久能治疗好 http://pf.39.net/bdfyy/zjdy/190717/7309729.html

现代社会,任何事物似乎都可以被简单的分为软件和硬件,也常见很多文章将论点分为软硬件来进行分别论述。但广义的软件世界,确实是一个纯粹的软件世界。它并不像现在人们所想的必须依附于硬件,它源远流长,从早期哲人的思考到现今计算机领域的代码程序。

而本文所述的软件世界就是一个狭义的范畴,专指计算机领域的代码程序。它依附于硬件,或指导硬件发挥其功效,或通过硬件获取现实世界的信息,再通过相应的算法来分析、统计、提取等手段产生“新”的信息。它寄生于硬件,通过其他各种各样的软件获取信息、处理信息、生产信息。而所有这些软件世界生产的信息,被人们用来指导日常的生产、生活,提高生产效率、改善生活质量,推进人类社会的进一步发展。

说起软件世界,就离不开编程语言,有了编程语言才能编写代码程序,通过代码程序才能实现软件功能,从而解决人们面临的现实问题。现代编程语言的诞生,离不开先贤贤者的贡献。数学家、机械发明家等等,都为此做出了巨大的贡献。

出生于年的数学家摩根,其对现代计算学的贡献之一是两条定律:AND语句能够转换成OR语句,反之亦然。这种定律在现代编程语言中成为不可或缺的逻辑运算之一。而其提出并建立的著名的德·摩根定律,亦成为后来布尔代数的先声。而布尔代数就是出生于年的数学家乔治·布尔,在其《思维规律的研究》一书中最早提出并以其名字命名的。由于其在符号逻辑运算中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。

而另一位数学家阿达·洛芙莱斯,则被称之为现代计算机程序创始人,其建立了循环和子程序概念。而这两个概念是在软件设计中的基础概念,尤其在结构化语言编程中尤为重要。在后来的一系列论文中,阿达·洛芙莱斯在计算机软件领域做出了许多开创性的贡献:如变量、递归、程序算法的提出等。世界上第一套软件程序算法就是于年出于其手。由于其对现代计算机程序设计方面的巨大贡献,美国国防部制作的一款语言就以她名字命名,这就是至今还在使用的Ada语言,另外还以她的生日设立了一个编号MIL-STD-。

差分机

说到阿达·洛芙莱斯,就要提到另一位数学家、发明家兼机械工程师的查尔斯·巴贝其,其最大贡献就是发明了被称之为第一台计算机的差分机以及被称之为现代电子计算机的前身的分析机的原理,在其中设想根据储存数据的穿孔卡上的指令进行任何数学运算的可能性,并设想了现代计算机所具有的大多数其他特性。

分析机

查尔斯·巴贝奇于年设计的差分机,能提高乘法速度和改进对数表等数字表的精确度。而分析机也是一个机械计算机,其输入方式为打孔纸带,纸带上包含了程序与数据。按此设计生产的世界上第一台计算器于年诞生。

第一个计算机程序

查尔斯·巴贝其在年提出分析机原理后,邀请阿达·洛芙莱斯为该分析机编写了算法,并于年公布。巴贝其分析机后来被认为是最早期的计算机雏形,而阿达·洛芙莱斯的算法则被认为是最早的计算机程序和软件。因此,阿达·洛芙莱斯也被认为是世界上第一位软件程序设计师。

康拉德·楚泽发明的机械计算机

而现代第一台电子计算机的发明者--德国工程师康拉德·楚泽,提出了计算机程序控制的基础概念,并于年首次设计完成了使用继电器的程序控制计算机,这是一种将程序和数据存储在外部穿孔带上的电磁式计算机。由此,康拉德·楚泽被称之为数字计算机之父。

第一台可编程计算机:巨人

世界上第一台可编程计算机出现于年,被命名为“巨人”,用于在二战中帮助英国破译德国的由洛伦兹密码加密的消息。其编程过程是由电子开关和插塞来实现的,使得破译密码的时间由过去的几周缩短到几个小时。

第一台数字电子计算机埃尼阿克(ENIAC)

而被人所熟知的现代第一台数字电子计算机埃尼阿克(ENIAC)诞生于年,这是第一台图灵完全(指具有无限存储能力的通用物理机器或编程语言)的电子计算机,能够重新编程,解决各种计算问题。其编程是通过电子开关和电缆来完成的,输入是依靠卡片阅读器,而输出则依靠卡片穿孔机。承担开发任务的人员由科学家约翰·冯·诺依曼和“莫尔小组”的工程师组成。埃尼阿克协助了世界上第一颗氢弹的研制。

看到约翰.冯.诺依曼的名字,相信IT行业的人没有不知道的。冯·诺依曼是著名匈牙利裔美籍数学家、计算机科学家、物理学家和化学家。其在埃尼阿克设计过程中,于年3月在共同讨论的基础上起草了一个全新的“存储程序通用电子计算机方案”--EDVAC(ElectronicDiscreteVariableAutomaticComputer)。这对后来计算机的设计有决定性的影响,特别是确定计算机的结构,采用存储程序以及二进制编码等,至今仍为电子计算机设计者所遵循。

世界上第一台存储程序式电子计算机EDSAC

年,英国剑桥大学数学实验室的莫里斯.威尔克斯教授和他的团队以EDVAC为蓝本,设计和建造了EDSAC,于年5月6日正式运行,是世界上第一台实际运行的存储程序式电子计算机。也是第一台按照冯·诺依曼结构设计的计算机,冯·诺依曼结构的计算机从此开始成为了计算机设计的主流。

在以上所述的相关科学及理论、计算机硬件设备等的发展过程中,使得现代计算机的软件和硬件都有了初步的理论和实践,并确定了未来计算机的发展方向。而软件编程语言也在这一过程中得到了初步的发展。

软件编程语言可以简单的理解为一种计算机和人都能识别的语言,是软件程序设计的专用语言和工具。一种计算机语言可以让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。

当前软件编程语言还处在不断的发展和变化中,可以简单的划分为低级语言和高级语言。从最初的机器语言发展到如今的高级语言,每种语言都有其特定的用途和不同的发展轨迹。编程语言并不像人类自然语言发展变化一样的缓慢而又持久,其发展是相当快速的,这主要是计算机硬件、互联网和IT业的发展促进了编程语言的发展。

在低级语言的发展阶段(-),编程语言主要有机器语言和汇编语言。由于计算机的运行是基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令,这些指令的集合就是该计算机的机器语言。由于机器语言难学、难写、难记、难检查、难修改,难以推广使用,因此初期只有极少数的计算机专业人员会编写计算机程序。由于机器语言的难以理解,莫奇莱等人开始想到用助记符来代替0,1代码,于是汇编语言出现了。

汇编语言(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言,即第二代计算机语言。汇编语言可以说是最接近机器指令的语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。

由于低级语言的难学、难写、难记等缺点及不同平台之间不可移植的缺陷,催生了高级语言的诞生。高级语言时代(-至今)开始于世界上第一个高级语言Fortran的出现,这也标志着现代编程语言正式走上了前台。自此之后,新的编程语言开始不断涌现出来。数十年来,全世界涌现了种以上高级语言,一些流行至今,一些则逐渐消失。

实际上,在年第一个高级语言Fortran出现前,就已经出现了一种高级语言,只是其仅存在于纸面而未被实现,这就是发布于年的Plankalkül。第一台电子计算机的发明者康拉德·楚泽在年发表了一篇关于这门语言的论文,不幸的是这篇论文并没有得到太多的



转载请注明地址:http://www.beiermopana.com/bemptq/11477.html