1. 计算机语言发展史
【摘要】
本文以自然辩证的观点探讨了计算机语言的发展历程,运用自然辩证法的基本理论、基本方法,系统分析了计算机语言的发展历史、现状和未来。并对其的发展趋势和未来模式做了探索性研究和预测,同时以哲学的观点阐述其发展的因果关系,揭示其事物发展的共性问题;最后文章介绍了在计算机语言发展历程中做出杰出贡献的科学家,以其在计算机事业中的突出表现来折射出人类智慧的伟大,以其不平凡的一生来激励和指导我们在计算机语言的发展中向着正确的方向前进。
【关键字】
自然辩证法 计算机语言 计算机技术 编程语言 因特网 面向对象
正文
一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。
一、科学认识大门的钥匙--当代自然辩证法
自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。
马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。
自然辩证法是马克思主义哲学的一个重要组成部分。在辩证唯物主义哲学体系中,自然辩证法与历史唯物论相并列。它集中研究自然界和科学技术的辩证法,是唯物主义在自然界和科学技术领域中的应用,它的原理和方法主要适用于自然领域和科学技术领域。
学习和运用自然辩证法将有助于我们搞清科学和哲学的关系,从而更加清楚地认识科学的本质和发展规律,更加全面的观察思考问题,只有加深了认识,我们才能更好地发挥主观能动性,迎接新的科学技术的挑战。下面我将以自然辩证法的观点来分析计算机语言的发展历程。
二、计算机语言的发展历程和发展趋势
计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。
1、计算机语言的发展历史: 二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。
2、计算机语言的发展现状:目前通用的编程语言有两种形式:汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 解释类和编译类。
3、计算机语言的发展趋势:面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。下面是一张计算机语言发展图表,从中不难得出计算机语言发展的特性:
² 简单性
提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序
² 面向对象
提供简单的类机制以及动态的接口模型。对象中封装状态变量以及相应的方法,实现了模块化和信息隐藏;提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用
² 安全性
用于网络、分布环境下有安全机制保证。
² 平台无关性
与平台无关的特性使程序可以方便地被移植到网络上的不同机器、不同平台。
三、面向未来的汉语程序设计语言:
从计算机诞生至今,计算机自硬件到软件都是以印欧语为母语的人发明的。所以其本身就带有印欧语的语言特征,在硬件上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++等编程语言在个人电脑和家庭娱乐装置的广泛应用扫清了道路,“他们的工作使软件系统的设计和编程发生了基本改变,可循环使用的、可靠的、可升级的软件也因此得以面世。”
尼盖德因其卓越的贡献,而被誉为“计算机语言之父”,其对计算机语言发展趋势的掌握和认识,以及投身于计算机语言事业发展的精神都将激励我们向着计算机语言无比灿烂的明天前进。
五、结束语
用科学的逻辑思维方法认识事物才会清楚的了解其过去、现在和未来,计算机语言的发展同样遵循着科学技术发展的一般规律,以自然辩证法的观点来分析计算机语言,有助于我们更加深入地认识计算机语言发展的历史、现状和趋势,有了自然辩证法这把开启科学认识大门的钥匙,我们将回首过去、把握现在、放眼未来,正确地选择计算机语言发展的方向,更好的学习、利用和发展计算机语言。
六、致谢
首先感谢张老师,张老师幽默的讲解和精炼的内容使我受益匪浅,使我对以后的工作和生活有了更深刻的认识。另外要感谢本文所参考的文献的作者和相关网站。最后还要感谢在我写论文过程中提供无私帮助的人们,以及给我支持的家人和朋友。
参考文献
1.《计算机语言与计算机程序发展历史》博客中国网
2.《计算机发展史》 上海科学技术出版社
3.《软件发展与社会进步》蔡希尧
4.《自然辩证法概论》 北京航空航天大学出版社
5.《数据库发展新技术》 磊哲
6. 《汉语程序设计语言》陈云牧
参考资料:
http://www.yeshare.com/LW/1/qq%2Dsun12406/
计算机语言发展史图片:(英文)
http://skyivben.cnblogs.com/archive/2005/12/13/255777.html
这篇文章也值得一看:
http://www.boyacode.com/showart.asp?art_id=2941
2. 很多程序都是用计算机语言,那么这些计算机语言是如何发明出来的
说一下我的理解,某些方面可能不那么专业。
计算机处理的都是0,1,代表电路的两种状态。最开的时候程序员是面对的最底层的,后来有了汇编、C、还有许多面向对象的语言,这些都是不断在原来的基础上抽象出来的,至于怎么个抽象法,还是楼上的正解。
3. 计算机高级语言究竟是通过什么理论发明的,数学方式还是什么的,它们怎么能够从01001这些机器语言延
打字机,机器语言,汇编语言, 电子元件的二极管,三极管。。。。。。。 密码学。。。。。都是战争导致的科技发明吧。
4. 一种计算机语言是怎么诞生的
人编的 编译器是方便人类对口机器来发明的
人经过无数的测试 实验发现某些信号在电上反应出来的意义
5. 计算机语言是如何开发出来的
计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。
中文名
计算机语言
外文名
Computer Language
适用范围
计算机
功能
信息传递
快速
导航
分类
常见语言
特点
发展历程
前期
二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konradzuse)。不久后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。
早期计算机
现状
如今通用的编程语言有两种形式:汇编语言和高级语言。汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆。源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
计算机语言
高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于低级语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:解释类和编译类。[1]
趋势
面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。
计算机语言
简单性:提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。
6. 计算机语言是如何产生的
计算机语言是如何产生的?
计算机语言,最根本的,是:机器语言。
各种机器语言,都是由电子专业的技术人员,设计出来的。
7. 机器语言是怎么被人类发明出来的
现在我们所说的计算机,其全称是通用电子数字计算机,“通用”是指计算机可服务于多种用途,“电子”是指计算机是一种电子设备,“数字”是指在计算机内部一切信息均用0和1的编码来表示。计算机的出现是20世纪最卓越的成就之一,计算机的广泛应用极大地促进了生产力的发展。 一、计算工具的发展简史 自古以来,人类就在不断地发明和改进计算工具,从古老的“结绳记事”,到算盘、计算尺、差分机,直到1946年第一台电子计算机诞生,计算工具经历了从简单到复杂、从低级到高级、从手动到自动的发展过程,而且还在不断发展。回顾计算工具的发展历史,从中可以得到许多有益的启示。 1. 手动式计算工具 人类最初用手指进行计算。人有两只手,十个手指头,所以,自然而然地习惯用手指记数并采用十进制记数法。用手指进行计算虽然很方便,但计算范围有限,计算结果也无法存储。于是人们用绳子、石子等作为工具来延长手指的计算能力,如中国古书中记载的“上古结绳而治”,拉丁文中“Calculus”的本意是用于计算的小石子。 最原始的人造计算工具是算筹,我国古代劳动人民最先创造和使用了这种简单的计算工具。算筹最早出现在何时,现在已经无法考证,但在春秋战国时期,算筹使用的已经非常普遍了。根据史书的记载,算筹是一根根同样长短和粗细的小棍子,一般长为13~14cm,径粗0.2~0.3cm,多用竹子制成,也有用木头、兽骨、象牙、金属等材料制成的。算筹采用十进制记数法,有纵式和横式两种摆法,这两种摆法都可以表示1、2、3、4、5、6、7、8、9九个数字,数字0用空位表示。算筹的记数方法为:个位用纵式,十位用横式,百位用纵式,千位用横式,……,这样从右到左,纵横相间,就可以表示任意大的自然数了。 计算工具发展史上的第一次重大改革是算盘,也是我国古代劳动人民首先创造和使用的。算盘由算筹演变而来,并且和算筹并存竞争了一个时期,终于在元代后期取代了算筹。算盘轻巧灵活、携带方便,应用极为广泛,先后流传到日本、朝鲜和东南亚等国家,后来又传入西方。算盘采用十进制记数法并有一整套计算口诀,例如“三下五除二”、“七上八下”等,这是最早的体系化算法。算盘能够进行基本的算术运算,是公认的最早使用的计算工具。 1617年,英国数学家约翰·纳皮尔(John Napier)发明了Napier乘除器,也称Napier算筹。Napier算筹由十根长条状的木棍组成,每根木棍的表面雕刻着一位数字的乘法表,右边第一根木棍是固定的,其余木棍可以根据计算的需要进行拼合和调换位置。Napier算筹可以用加法和一位数乘法代替多位数乘法,也可以用除数为一位数的除法和减法代替多位数除法,从而大大简化了数值计算过程。 1621年,英国数学家威廉·奥特雷德(William Oughtred)根据对数原理发明了圆形计算尺,也称对数计算尺。对数计算尺在两个圆盘的边缘标注对数刻度,然后让它们相对转动,就可以基于对数原理用加减运算来实现乘除运算。17世纪中期,对数计算尺改进为尺座和在尺座内部移动的滑尺。18世纪末,发明蒸汽机的瓦特独具匠心,在尺座上添置了一个滑标,用来存储计算的中间结果。对数计算尺不仅能进行加、减、乘、除、乘方、开方运算,甚至可以计算三角函数、指数函数和对数函数,它一直使用到袖珍电子计算器面世。即使在20世纪60年代,对数计算尺仍然是理工科大学生必须掌握的基本功,是工程师身份的一种象征。 2. 机械式计算工具 17世纪,欧洲出现了利用齿轮技术的计算工具。1642年,法国数学家帕斯卡(Blaise Pascal)发明了帕斯卡加法器,这是人类历史上第一台机械式计算工具,其原理对后来的计算工具产生了持久的影响。帕斯卡加法器是由齿轮组成、以发条为动力、通过转动齿轮来实现加减运算、用连杆实现进位的计算装置。帕斯卡从加法器的成功中得出结论:人的某些思维过程与机械过程没有差别,因此可以设想用机械来模拟人的思维活动。 德国数学家莱布尼茨(G .W .Leibnitz)发现了帕斯卡一篇关于“帕斯卡加法器”的论文,激发了他强烈的发明欲望,决心把这种机器的功能扩大为乘除运算。1673年,莱布尼茨研制了一台能进行四则运算的机械式计算器,称为莱布尼兹四则运算器。这台机器在进行乘法运算时采用进位-加(shift-add)的方法,后来演化为二进制,被现代计算机采用。 莱布尼茨四则运算器在计算工具的发展史上是一个小高潮,此后的一百多年中,虽有不少类似的计算工具出现,但除了在灵活性上有所改进外,都没有突破手动机械的框架,使用齿轮、连杆组装起来的计算设备限制了它的功能、速度以及可靠性。 1804年,法国机械师约瑟夫·雅各(Joseph Jacquard)发明了可编程织布机,通过读取穿孔卡片上的编码信息来自动控制织布机的编织图案,引起法国纺织工业革命。雅各织布机虽然不是计算工具,但是它第一次使用了穿孔卡片这种输入方式。如果找不到输入信息和控制操作的机械方法,那么真正意义上的机械式计算工具是不可能出现的。直到20世纪70年代,穿孔卡片这种输入方式还在普遍使用。 19世纪初,英国数学家查尔斯·巴贝奇(Charles Babbage)取得了突破性进展。巴贝奇在剑桥大学求学期间,正是英国工业革命兴起之时,为了解决航海、工业生产和科学研究中的复杂计算,许多数学表(如对数表、函数表)应运而生。这些数学表虽然带来了一定的方便,但由于采用人工计算,其中的错误很多。巴贝奇决心研制新的计算工具,用机器取代人工来计算这些实用价值很高的数学表。 1822年,巴贝奇开始研制差分机,专门用于航海和天文计算,在英国政府的支持下,差分机历时10年研制成功,这是最早采用寄存器来存储数据的计算工具,体现了早期程序设计思想的萌芽,使计算工具从手动机械跃入自动机械的新时代。 1832年,巴贝奇开始进行分析机的研究。在分析机的设计中,巴贝奇采用了三个具有现代意义的装置: ⑴ 存储装置:采用齿轮式装置的寄存器保存数据,既能存储运算数据,又能存储运算结果; ⑵ 运算装置:从寄存器取出数据进行加、减、乘、除运算,并且乘法是以累次加法来实现,还能根据运算结果的状态改变计算的进程,用现代术语来说,就是条件转移; ⑶ 控制装置:使用指令自动控制操作顺序、选择所需处理的数据以及输出结果。 巴贝奇的分析机是可编程计算机的设计蓝图,实际上,我们今天使用的每一台计算机都遵循着巴贝奇的基本设计方案。但是巴贝奇先进的设计思想超越了当时的客观现实,由于当时的机械加工技术还达不到所要求的精度,使得这部以齿轮为元件、以蒸汽为动力的分析机一直到巴贝奇去世也没有完成。 3. 机电式计算机 1886年,美国统计学家赫尔曼·霍勒瑞斯(Herman Hollerith)借鉴了雅各织布机的穿孔卡原理,用穿孔卡片存储数据,采用机电技术取代了纯机械装置,制造了第一台可以自动进行加减四则运算、累计存档、制作报表的制表机,这台制表机参与了美国1890年的人口普查工作,使预计10年的统计工作仅用1年零7个月就完成了,是人类历史上第一次利用计算机进行大规模的数据处理。霍勒瑞斯于1896年创建了制表机公司TMC公司,1911年,TMC与另外两家公司合并,成立了CTR公司。1924年,CTR公司改名为国际商业机器公司(International Business Machines Corporation),这就是赫赫有名的IBM公司。 1938年,德国工程师朱斯(K.Zuse)研制出Z-1计算机,这是第一台采用二进制的计算机。在接下来的四年中,朱斯先后研制出采用继电器的计算机Z-2、Z-3、Z-4。Z-3是世界上第一台真正的通用程序控制计算机,不仅全部采用继电器,同时采用了浮点记数法、二进制运算、带存储地址的指令形式等。这些设计思想虽然在朱斯之前已经提出过,但朱斯第一次将这些设计思想具体实现。在一次空袭中,朱斯的住宅和包括Z-3在内的计算机统统被炸毁。德国战败后,朱斯流亡到瑞士一个偏僻的乡村,转向计算机软件理论的研究。 1936年,美国哈佛大学应用数学教授霍华德·艾肯(Howard Aiken)在读过巴贝奇和爱达的笔记后,发现了巴贝奇的设计,并被巴贝奇的远见卓识所震惊。艾肯提出用机电的方法,而不是纯机械的方法来实现巴贝奇的分析机。在IBM公司的资助下,1944年研制成功了机电式计算机Mark-I。Mark-I长15.5米,高2.4米,由75万个零部件组成,使用了大量的继电器作为开关元件,存储容量为72个23位十进制数,采用了穿孔纸带进行程序控制。它的计算速度很慢,执行一次加法操作需要0.3秒,并且噪声很大。尽管它的可靠性不高,仍然在哈佛大学使用了15年。Mark-I只是部分使用了继电器,1947年研制成功的计算机Mark-Ⅱ全部使用继电器。 艾肯等人制造的机电式计算机,其典型部件是普通的继电器,继电器的开关速度是1/100秒,使得机电式计算机的运算速度受到限制。20世纪30年代已经具备了制造电子计算机的技术能力,机电式计算机从一开始就注定要很快被电子计算机替代。事实上,电子计算机和机电式计算机的研制几乎是同时开始的。 4. 电子计算机 1939年,美国依阿华州大学数学物理学教授约翰·阿塔纳索夫(John Atanasoff)和他的研究生贝利(Clifford Berry)一起研制了一台称为ABC(Atanasoff Berry Computer)的电子计算机。由于经费的限制,他们只研制了一个能够求解包含30个未知数的线性代数方程组的样机。在阿塔纳索夫的设计方案中,第一次提出采用电子技术来提高计算机的运算速度。 第二次世界大战中,美国宾夕法尼亚大学物理学教授约翰"莫克利(John Mauchly)和他的研究生普雷斯帕"埃克特(Presper Eckert)受军械部的委托,为计算弹道和射击表启动了研制ENIAC(Electronic Numerical Integrator and Computer)的计划,1946年2月15日,这台标志人类计算工具历史性变革的巨型机器宣告竣工。ENIAC是一个庞然大物,共使用了18 000多个电子管、1 500多个继电器、10 000多个电容和7 000多个电阻,占地167平方公尺,重达30吨。ENIAC的最大特点就是采用电子器件代替机械齿轮或电动机械来执行算术运算、逻辑运算和存储信息,因此,同以往的计算机相比,ENIAC最突出的优点就是高速度。ENIAC每秒能完成5 000次加法,300多次乘法,比当时最快的计算工具快1 000多倍。ENIAC是世界上第一台能真正运转的大型电子计算机,ENIAC的出现标志着电子计算机(以下称计算机)时代的到来。 虽然ENIAC显示了电子元件在进行初等运算速度上的优越性,但没有最大限度地实现电子技术所提供的巨大潜力。ENIAC的主要缺点是:第一,存储容量小,至多存储20个10位的十进制数;第二,程序是“外插型”的,为了进行几分钟的计算,接通各种开关和线路的准备工作就要用几个小时。新生的电子计算机需要人们用千百年来制造计算工具的经验和智慧赋予更合理的结构,从而获得更强的生命力。 1945年6月,普林斯顿大学数学教授冯"诺依曼(Von Neumann)发表了EDVAC(Electronic Discrete Variable Computer,离散变量自动电子计算机)方案,确立了现代计算机的基本结构,提出计算机应具有五个基本组成成分:运算器、控制器、存储器、输入设备和输出设备,描述了这五大部分的功能和相互关系,并提出“采用二进制”和“存储程序”这两个重要的基本思想。迄今为止,大部分计算机仍基本上遵循冯"诺依曼结构。 需要强调的是,EDVAC方案是集体智慧的结晶,冯"诺依曼的伟大功绩在于他运用雄厚的数理知识和非凡的分析、综合能力,在EDVAC的总体配置和逻辑设计中起到了关键的作用。可以说,现代计算机的发明决不是仅凭杰出科学家的个人努力就能完成的事业,研制电子计算机不仅需要巨大的资金,而且需要数学家、逻辑学家、电子工程师以及组织管理人员的密切合作,需要团队的共同努力。
8. 编程语言是谁发明的
我也抄一下。
奥古斯塔·阿达·金,勒芙蕾丝伯爵夫人(Augusta Ada King, Countess of Lovelace,1815年12月10日-1852年11月27日),原名奥古斯塔·阿达·拜伦( Ada Byron),通称阿达·洛芙莱斯(Ada Lovelace),是著名英国诗人拜伦之女,数学家。计算机程序创始人,建立了循环和子程序概念。
为计算程序拟定“算法”,写作的第一份“程序设计流程图”,被珍视为“第一位给计算机写程序的人”。为了纪念阿达·奥古斯塔对现代电脑与软件工程所产生的重大影响,美国国防部将耗费巨资、历时近20年研制成功的高级程序语言命名为Ada语言,它被公认为是第四代计算机语言的主要代表。
在1842年,人称“数字女王”的阿达·洛芙莱斯(Ada Lovelace)编写了历史上首款电脑程序。
在1834年,阿达的朋友——英国数学家、发明家兼机械工程师查尔斯·巴贝其(Charles Babbage)——发明了一台分析机;阿达则致力于为该分析机编写算法,并于1843 年公布了世界上第一套算法。
巴贝其分析机后来被认为是最早期的计算机雏形,而阿达的算法则被认为是最早的计算机程序和软件。
1852年,阿达为了治疗子宫颈癌,却因此死于失血过多,得年36岁。无独有偶,她与她父亲拜伦死于相同年龄,一样死于治疗中的失血过多。她留下了两个儿子与一位女儿—安妮·布兰特贵女。
依她的遗言,阿达葬于诺丁汉哈克诺的圣 玛丽亚·抹大拉教堂,长眠在父亲的身旁。
在1842年与1843年其间,阿达花了9个月的时间翻译意大利数学家路易吉·米那比亚对巴贝奇最新的计算机设计书(即分析机概论)所留下的备忘录。在这部译文里,她附加许多注记,内容详细说明用计算机进行伯努利数的运算方式,而被认为是世界上第一个电脑程式;因此,阿达也被认为是世界上第一位程式设计师。巴贝奇在他所著的《经过哲学家人生》(Passages from the Life of a Philosopher, 1846)里留有下面的述叙:
伦敦科学馆分析机复制品
“我认为她为米那比亚的备忘录增加许多注记,并加入了一些想法。虽然这些想法是由我们一起讨论出来的,但是最后被写进注记里的想法确确实实是她自己的构想。我将许多代数运算的问题交给她处理,这些工作也与伯努利数的运算相关。在她所送回给我的文件,更修正了我先前在程序里的重大错误。”
阿达的文章创造出许多巴贝奇也未曾提到的新构想,比如阿达曾经预言道:“这个机器未来可以用来排版、编曲或是各种更复杂的用途。”
她死后一百年,于1953年,阿达之前对查尔斯·巴贝奇的《分析机概论》所留下的笔记被重新公布,并被公认对现代计算机与软件工程造成了重大影响。[2]
在1980年12月10日,美国国防部制作了一个新的高级计算机编程语言——Ada,以纪念阿达·洛芙莱斯。
在微软的Wins产品里也可以找到阿达的全息图标签。
英国计算机公会每年都颁发以阿达命名的软件工程创新大奖。
9. 计算机语言是通过什么发明出来的
汇编是基于0和1而 来的,过去写代码就是写0 1 0 1
而且地址还不能给搞错!写一段代码非常繁琐!一般人还不会,后来进展到写16进制的,一些人想,为什么不用符号来代替常规的操作呢?所以,汇编语言就应运而生!
C基于汇编而来的!他简化了汇编的一些语法以及操作!
C++基于C而来!增强的语言的灵活性,支持面向对象
JAVA 基于C++而来! 基本语法是从C++继承而来!
运行机制就是sun公司负责在某些平台上开发虚拟机,然后在JAVA代码在虚拟机中运行!
总之,如果是在PC上的话,汇编是祖先!
其他的话,就要另当别论了!