A. 机器语言是怎么被人类发明出来的
现在我们所说的计算机,其全称是通用电子数字计算机,“通用”是指计算机可服务于多种用途,“电子”是指计算机是一种电子设备,“数字”是指在计算机内部一切信息均用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的总体配置和逻辑设计中起到了关键的作用。可以说,现代计算机的发明决不是仅凭杰出科学家的个人努力就能完成的事业,研制电子计算机不仅需要巨大的资金,而且需要数学家、逻辑学家、电子工程师以及组织管理人员的密切合作,需要团队的共同努力。
B. 汇编语言 是怎样被发明出来得 原理 他又是什么语言编的
汇编语言是从机器语言转换过来的.最早的计算机系统没有可用的高级语言,是直接用0101这样的二进制编码来编程的,这样对绝大多数用户就很不方便,因为这要求对计算机系统的软件和硬件资源要非常了解才可以.记忆量也很大.到后来,大家就用一些符号来代替一些二进制代码,方便识别,比如原来代码1011意思是加法,现在就不写1011了,写成ADD,用ADD这个大家都容易识别的符号来编程,可以提升一些效率.但计算机的执行仍然只识别二进制代码,所以需要把汇编语言写的代码再转换成机器语言.
汇编语言是一种低级语言,好处是可以直接控制计算机的软硬件资源.坏处就是对编程人员的要求非常高.计算机执行的时候,用汇编语言编写的代码的执行效率是最高的.和机器语言代码的效率一样高.
C. 如何创造一种计算机语言
创造一种计算机语言,想的太多了,先精通几种常用的语言吧,比如VB,C,C+等等
D. 很多程序都是用计算机语言,那么这些计算机语言是如何发明出来的
说一下我的理解,某些方面可能不那么专业。
计算机处理的都是0,1,代表电路的两种状态。最开的时候程序员是面对的最底层的,后来有了汇编、C、还有许多面向对象的语言,这些都是不断在原来的基础上抽象出来的,至于怎么个抽象法,还是楼上的正解。
E. 一种计算机语言是怎么诞生的
人编的 编译器是方便人类对口机器来发明的
人经过无数的测试 实验发现某些信号在电上反应出来的意义
F. 计算机语言是通过什么发明出来的
汇编是基于0和1而 来的,过去写代码就是写0 1 0 1
而且地址还不能给搞错!写一段代码非常繁琐!一般人还不会,后来进展到写16进制的,一些人想,为什么不用符号来代替常规的操作呢?所以,汇编语言就应运而生!
C基于汇编而来的!他简化了汇编的一些语法以及操作!
C++基于C而来!增强的语言的灵活性,支持面向对象
JAVA 基于C++而来! 基本语法是从C++继承而来!
运行机制就是sun公司负责在某些平台上开发虚拟机,然后在JAVA代码在虚拟机中运行!
总之,如果是在PC上的话,汇编是祖先!
其他的话,就要另当别论了!
G. 机器人是如何发明的
自从世界进入技术时代以来,人们就开始了对自动化技术的探索,幻想能够制造出一种自动化的智能工具来代替人的部分体力和脑力劳动,去做一些靠人的自身能力很难做到的事。于是一个用电器元件或电子仪器控制的,能够模拟人的四肢动作和部分感觉(甚至具有思维能力)的机械装置便在人们的头脑中诞生了,这就是机器人。
这个长期以来的愿望直到20世纪60年代后期才被实现。1966年,一个具有极简单智能的机器人雏形问世了。这是一种只能听从固定和变换工作程序的指令,并能进行简单机械动作的装置,被称为第一代机器人。当时,一架载有氢弹的美国飞机在地中海上空不幸遇难,一枚氢弹坠入海中。为了避免弹体核燃料因破损渗漏产生辐射对打捞人员造成伤害,一个装有电视眼和机械手的简易装置被制造出来。利用它,科学家们毫不费力就将氢弹安全地打捞了上来。同年,美国某家医院安装医疗装备放射线源时,有半支香烟头大小的放射性钻C60掉了出来,结果也是用这种简单的机械人拾起,并放入铅盒内的。
从此,机器人引起了各国科学家们的广泛注意和研究。仅在1967年,美国就有75台机器人用于生产。这一年,苏联的人造月球卫星就是指派机器人挖取月球岩石和土壤试样的。
第二代机器人已经具有视觉和触觉功能,能在“理解”周围环境的情况下进行工作,是在20世纪60年代末小型电子计算机广泛推广使用和价格降低的条件下出现的。它由电子计算机控制、存贮和处理周围环境反馈的信息,进行判断,然后按既定的要求进行操作。制造第二代机器人的设想早在1958年就在美国被提出来。1961年底,科学家研制出的用电子数字计算机控制的机械手模型,在近10年后才得到推广使用。1970年,丹麦人索伦森制成一个可以操纵挖掘机的电子液压控制式机器人;美国同时也研制出模仿人的肩、肘、腕和手指动作的机器人,可以用几种速度连续行走。以后世界上又陆续出现了有触觉和重量感的机器人。
第三代机器人是具有人的简单智力和学习功能的机器人。它能满足两种基本要求:一种是具有较大的自由度和灵活性,能在复杂条件下完成多种处理物品的形状和相对位置的任务;另一种是具有识别环境及其变化,并作出正确判断和进行工作的能力,具有进行联系“思考”和学习的能力。
20世纪70年代初,日本科学家研制成功具备“手—眼”装置和带触觉手的智能型机器人。它有两只眼,一只眼用于看图纸,另一只眼协助机械手进行装配,依靠两只眼的协调配合,完成对图纸设计的实际装配工作。1973年7月,日本早稻田大学研制成一种有腿的机器人。它具有人造耳,可根据人们的口头指令作出反应。它还具有识别物品的人造眼和有触觉的人造手,以及可作出简单回答的人造口。这项研制标志着机器人的发展进入了一个新阶段。1974年,美国航空航天局和加省理工学院又研制成具有电视摄像机和激光器功能的人造眼和编入几千个指令的电脑,用于对月球表面进行科学考察。
到1978年,智能机器人已发展成具备某些视觉、触觉和温度感应功能,能讲简单的语言和识别图纸与图像,并能对指令作出反应和执行操作。不同类型和用途的机器人已大量应用于生产线上,在陆上、水下和月球表面等人难以或不可能进行工作的地方,机器人都可以大显身手。
目前,全球科技工作者对机器人的研制正向着进一步模拟人的部分智能和感觉的方向迅速发展。2000年底日本几家公司还研制成功了能与人一样行走和打乒乓球的机器人。
H. 计算机的语言是怎么创造出来的
一个高手,坐在那里想啊想,就出来了
I. 机器语言的历史、发展、特点和用途
机器语言
英 文: Machine Language
别 名: 低级语言,二进制代码语言
定 义:
机器语言是直接用二进制代码指令表达的计算机语言,指令是用0和1组成的一串代码,它们有一定的位数,并分成若干段,各段的编码表示不同的含义,例如某台计算机字长为16位,即有16个二进制数组成一条指令或其它信息。16个0和1可组成各种排列组合,通过线路变成电信号,让计算机执行各种不同的操作。
如某种计算机的指令为1011011000000000,它表示让计算机进行一次加法操作;而指令1011010100000000则表示进行一次减法操作。它们的前八位表示操作码,而后八位表示地址码。从上面两条指令可以看出,它们只是在操作码中从左边第0位算起的第6和第7位不同。这种机型可包含256(=28)个不同的指令。
特 点:
机器语言或称为二进制代码语言,计算机可以直接识别,不需要进行任何翻译。每台机器的指令,其格式和代码所代表的含义都是硬性规定的,故称之为面向机器的语言,也称为机器语言。它是第一代的计算机语言。机器语言对不同型号的计算机来说一般是不同的。
缺 点:
1.大量繁杂琐碎的细节牵制着程序员,使他们不可能有更多的时间和精力去从事创造性的劳动,执行对他们来说更为重要的任务。如确保程序的正确性、高效性。
2.程序员既要驾驭程序设计的全局又要深入每一个局部直到实现的细节,即使智力超群的程序员也常常会顾此失彼,屡出差错,因而所编出的程序可靠性差,且开发周期长。
3.由于用机器语言进行程序设计的思维和表达方式与人们的习惯大相径庭,只有经过较长时间职业训练的程序员才能胜任,使得程序设计曲高和寡。
4.因为它的书面形式全是"密"码,所以可读性差,不便于交流与合作。
5.因为它严重地依赖于具体的计算机,所以可移植性差,重用性差。
这些弊端造成当时的计算机应用未能迅速得到推广。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
计算机语言的发展
计算机程序设计语言的发展,经历了从机器语言、汇编语言到高级语言的历程。
1. 机器语言
电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。
2. 汇编语言
为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“A D D”代表加法,“M O V”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。
3. 高级语言
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1 9 5 4年,第一个完全脱离机器硬件的高级语言—F O RT R A N问世了,4 0多年来,共有几百种高级语言出现,有重要意义的有几十种。
6 0年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1 9 6 9年,提出了结构化程序设计方法,1 9 7 0年,第一个结构化程序设计语言—P a s c a l语言出现,标志着结构化程序设计时期的开始。
8 0年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。
高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。