“计算机”一词最早是在1613年被用来描述进行计算的人。这个定义一直保持不变,直到19世纪末,科技行业诞生了以计算为主要任务的机器。"第一台计算机是什么时候发明的?"这个问题没有简单的答案,因为有许多不同类型的计算机。第一台机械计算机器是查尔斯·巴贝奇在1822年发明的。但是,它并不真正像目前大多数人所认为的计算机。随着计算机的飞速发展,有很多东西我们不知道,很多科学家的贡献在我们的课本上也没有提到。为了让你掌握所有必要的计算机知识,我们收集了一些计算机科学中的著名发明,从第一台机器到微芯片时代。25.第一台计算机:“差分机”——1821年,查尔斯·巴贝奇(也被称为计算机之父)开始研究基于有限差分原理的差分机。它只使用算术加法,不需要机械实现起来比较困难的乘法和除法。它是严格设计来计算和制表多项式函数。该项目由英国政府委托,但由于生产成本高,资金中途停止,机器始终没有完成。24.第一台通用计算机:分析引擎——1834年,查尔斯·巴贝奇构思了一台更加雄心勃勃的机器,第一台通用可编程计算引擎,后来被称为分析引擎。它具有现代数字计算机的许多基本特征。这台机器可以用穿孔卡片编程。这种机器有一个可以存储数字和中间结果的“存储器”和一个单独的用于算术运算的“磨”。这个引擎还可以执行直接乘法和除法、并行处理、微程序设计、迭代、锁存、条件分支、脉冲整形,尽管巴贝奇从未使用过这些术语。可惜和那可怜的扩展一样,这台机器也没有完蛋。23.第一个计算机程序——1841年1841年,世界上第一个计算机程序员阿达·洛夫莱斯(ada lovelace)开始翻译路易吉·梅纳布雷(Luigi Menabre,意大利数学家)关于巴贝奇的分析引擎的记录。她知道如何让它做计算机做的事情,并建议使用数据输入给机器编程来计算伯努利数。阿达是一位有远见的数学家。她知道数字不仅可以用来表达数量。她预测像分析机器这样的机器可以用来制作图表,作曲,并对科学有用。22.制表师——1884年,赫尔曼·霍里斯在19世纪后期致力于他的机器打孔和计算卡片的想法。他发明了一种机器,可以通过电子阅读和分类穿孔卡片来记录统计数据。1896年,霍勒斯在纽约创立了一家制表机械公司,后来发展成为IBM。这台机器在美国很成功,但在欧洲更受关注。它被广泛用于各种统计目的。21.第一台模拟计算机:微分分析器-1930年第一台现代模拟计算机是由麻省理工学院的工程师瓦尼瓦·布什开发的。其实就是一个模拟计算器,可以解一些物理和工程应用中最常用的微分方程。这台机器产生了一个近似的,虽然实际的解决方案。在这台机器中,轴的运动代表变量,乘法和加法是通过将值输入齿轮来完成的。圆台上不同半径旋转的叶轮完成整合。解微分方程时,连接不同的机械积分器。20.第一台可编程计算机:Z3–1941年Conrad Zus(发明家和计算机先驱)在1936年设计了第一台Z系列计算机。Z1是完全机械的,一次只能工作几分钟。它在true 空 tube的基础上执行布尔运算和触发器。在接下来的几十年里,不同技术的使用导致了Z2和最终的Z3。Z3由2000个继电器组成,实现22位长度。常数数据和程序代码存储在穿孔薄膜上,因此不需要重新布线来改变程序。Z3是德国政府的秘密项目,德国飞机研究所用来对机翼颤振进行统计分析。原始机器在1943年盟军轰炸柏林时被毁。19.第一台电子计算机:ABC-阿塔纳索夫-贝里计算机(ABC)是约翰·文森特·阿塔纳索夫和他的助手克利福德·E·贝里于1942年设计并制造的。它是第一台使用电容器进行存储(就像在当前的RAM中一样)的机器,可以同时执行30次操作。Anasov-Berry计算机是为求解线性方程系统而设计的,可以求解多达29个未知数的系统。计算机是不可编程的,但它创造了现代计算的一些重要元素,包括二进制算术和电子开关元件。18.第一台可编程计算机:巨像-巨像是1943年汤米·弗劳尔斯创造的世界上第一台电子可编程计算机。第二次世界大战期间,英国人用它来读取德国的秘密情报(用洛伦兹密码加密)。巨像不应该解密所有信息。它刚刚为洛伦兹机器找到了一个相似的设置。这个想法是,德语信息中字母和数字的频率将为翻译信息本身提供一个起点。直到20世纪70年代,这些计算机都是非常机密的。战后,所有的巨像都被砸碎,设计也被破坏。没有人知道第一个制造巨像的人。2007年,工程师们制作了一个巨像的工作原型。17.第一个计算机网络——1940年1940年至1946年,乔治·斯蒂比和他的团队通过使用机电继电器,开发了一系列具有电话技术的机器。这些机器可以为多个用户服务。很快它们就被淘汰了,因为它们是基于缓慢的机械继电器而不是电子开关。今天,数据通信的主要基础是分组交换:ARPANET(高级研究计划局网络)是早期的分组交换网络,也是第一个实现TCP/IP协议族(1982)的网络。两者都成为了互联网的技术基础。16.第一个轨迹球——1941/1952/1941年,拉尔夫·本杰明为火控雷达标图系统发明了一种叫做轨迹球的相关指向设备,称为综合显示系统(CDS)。本杰明之前的项目使用模拟计算机,根据用户使用操纵杆输入的各种输入点来测量目标飞机的未来位置。他意识到他需要一个更有效的输入设备,所以他发明了一种叫做滚球的东西。这个新设备有一个球来控制屏幕上光标的X-Y坐标。它于1947年获得专利,并被列为军事机密。另一个早期的轨迹球是在1952年由英国电气工程师凯尼恩·泰勒和他的同事弗雷德·朗斯达夫和汤姆·克兰斯顿制作的。它在概念上类似于本杰明的装置。使用带有4个圆盘的轨迹球获得运动,每个圆盘有2个x坐标和2个y坐标。数字计算机计算弹道,并使用脉冲编码调制无线电信号将结果数据传输到特遣队的其他船只。这个设计没有申请专利,因为它也是一个秘密的军事项目。15.第一台通用可编程电子计算机:ENiAC-1946电子数值积分计算机(ENiAC)是图灵完成的数字机器,通过重新编程可以解决大范围的数值问题。主要用于计算火炮射表,帮助计算氢弹的可行性。在其运行结束时(1955年),ENIAC包含7,200个晶体二极管、17,468个true 空电子管、10,000个电容器、70,000个电阻器和超过500万个手工焊接接头。它的大小约为8x3x100英尺,重30吨,耗电量为150千瓦。它使用读卡器作为输入,打卡机作为输出。计算机的速度比机电机器快1000倍。14.第一种完整的高级语言:Pran car cur——1948年德国计算机科学家康拉德·祖斯(Konrad Zuss),第一台中继计算机的发明者,1941年开始研究高级编程语言。他想出了他的机器(Z4计算机)如何以一种强大的方式被编程。Carcur是一种类型化的高级命令式编程语言,具有广泛的功能,如非递归函数、局部变量、赋值操作、条件语句、迭代构造、逻辑运算、基本数据类型等。Carcur最终于1972年在一篇论文中发表,其第一个编译器最迟于1998年成立。13.第一台存储程序的电子数字计算机:SSEM——1948年SSEM (Manchester小型实验机)1948年,绰号宝贝,1948年6月21日执行了第一个程序。该程序由汤姆·基尔本编写,他实际上建造了计算机,并由他的导师弗雷德里克·威廉姆斯设计。它是第一台包含现代计算机所需的所有模块的工作机。小型曼彻斯特实验机包含32位字节、单地址格式的序列码和32个字的内存。每条指令的运算速度约为1.2毫秒。它以位电荷的形式存储在阴极射线管的荧光屏上,电子束可以控制它写1或0。除了减法和逆运算,其他算术运算都用软件实现。12.第一个汇编程序:初始订单——1949年汇编程序将汇编语言编写的软件程序翻译成计算机可以执行的机器代码和指令。第一个汇编程序是为EDSAC(电子延迟存储自动计算器)设计的。(由David Wheeler编写)的原始指令有31条指令,它们硬连线在unisextors(一种机械只读存储器)上。初始指令的第二个版本占用41个字的只读存储器,并包含重新定位(或协调)的功能,以便于子程序的使用。1.第一台个人计算机:1950年埃德蒙·伯克利的Simon-Simon是一台基于中继的计算机,设计用于演示数字计算机概念的教育目的。用户通过穿孔纸或前面板上的5个键输入数据,程序从标准纸带运行。运算器和寄存器只存储2位,这就是为什么它不能用于任何重要的实际计算。除了数据输入外,穿孔带也用作记忆存储器。当机器从磁带上读取指令时,所有指令都按顺序执行。它可以执行四种运算:加、大于、求反和选择。输出由五个灯提供。10.第一台实时图形显示计算机:安/FSQ-7-1951年由IBM开发的安/FSQ-7是有史以来最大的计算机。它由两台Cyclone II计算机组成,安装在一栋4层楼高的建筑中。这是一个控制和指挥系统,用于防止空网络。它使用ATABE(自动目标和电池评估)算法计算一个或多个预测的拦截点,用于分配飞机或CIM-10 Bomarc导弹来拦截入侵者。它有60000多个真空管,耗电3000千瓦,每秒执行74000条命令,用于区域雷达组网。每台机器支持100多个用户。在过去,IBM让一个单元运行,另一个单元处于热备用状态,这导致了更长的正常运行时间(大约99%)。9.第一台电子计算机编译器:A-0系统-1951编译器是把高级语言转换成机器代码的特殊程序。算术语言版本0(或A-0系统)是为格蕾丝·赫柏的UNIVAC I编写的,旨在将一系列子程序和参数转换成机器码。通过数字代码识别,每个子程序代码后直接积分参数。A-0将这些规范转换成机器语言,可以再次输入计算机执行上述程序。8.第一个开源软件:A-2系统-1953A-0系统后来演变成A-2,以算术形式发布。它由雷明顿·兰德公司的计算机部门开发,并于1953年底向客户发布。用户获得了A-2的源代码,并被邀请将其改进发送回UNIVAC。7.第一次自动编码:Glennie automatic coding-1952在20世纪60年代,“自动代码”一词更普遍地用来指任何使用编译器的高级编程语言。Arik Glennie在曼彻斯特大学为Mark 1计算机开发了第一个自动代码。它被认为是第一种编译程序语言。Glennie的主要目标是让Mark 1机器的复杂代码变得简单易懂。虽然最终的语言比机器码更有条理,更清晰,但还是很大程度上依赖于机器。马克的第二个自动代码是由r.a. Brooker在1955年开发的。与第一个版本不同,它几乎是独立于机器的,并且具有浮点运算。但是,它每行只允许一个操作,没有办法定义用户子程序。第一种流行的高级语言:FORTRAN-1957Fortran(公式翻译器)是由IBM的john backus领导的团队创建的。它在编程领域长期占据主导地位,在计算流体力学、有限元分析、计算化学、计算物理等科学和工程领域的应用已经超过半个世纪。公式翻译器设计的目标是建立一种简单易学、独立于机器、适用于各种应用的语言,允许复杂的数学表达式像常规的代数符号一样表达。因为代码更容易写,程序员写代码比以前快了5倍,但执行效率下降了20%。第一个电脑鼠标——1964年,我们今天所知道的电脑鼠标是道格拉斯·恩格尔巴特在比尔·英格利希的帮助下发明的,并于1970年11月17日获得专利。这只是一个旨在提高人类智力的更大项目的一小部分。Engelbarth需要能够使用某种机器来移动屏幕上的光标,以便与信息显示进行交互。当时已经在使用不同的设备,包括光笔和操纵杆。然而,他正在寻找最有效的设备。鼠标的第一个原型是用于GUI窗口的。它被称为“显示系统的X-Y位置指示器”,于1973年首次用于施乐Alto计算机系统。奇怪的是,最受欢迎的计算机接口设备之一的发明者没有收到任何鼠标发明的版税。作为国际斯坦福研究院的转让方,他拿到了专利,国际斯坦福研究院以4万美元左右的价格授权给苹果,这很可笑。道格拉斯什么也没得到!4.第一个触摸屏1965年,E.A. Johnson在一篇题为《触摸屏——计算机的一种新型输入/输出设备》的文章中描述了他在电容式触摸屏(无压感)方面的工作。在那篇文章中,有一个图表描述了今天仍在使用的触摸屏概念。几年后,约翰逊在1967年发表在《人体工程学杂志》上的《触摸屏:程序化人机界面》一书中,用照片和更多图表进一步详细解释了这些概念。直到20世纪90年代,这个想法才被英国空的交通管制员采纳。此外,第一个电阻式触摸屏是由乔治·塞缪尔·赫斯特(美国发明家)开发的,他在1975年获得了美国专利#3911215。3.第一台商用个人计算机:程序101–1965程序101可以执行四种基本算术功能(加、减、乘、除)并计算绝对值、平方根和小数。它由存储寄存器、16条条件转移指令、字母数字编程语言和内部存储器组成。而且磁卡程序不需要编程知识就可以使用。这种机器将程序和结果打印在一卷纸带上,类似于收银机和计算器的纸张。早期的计算机价格昂贵,只能由专家使用。然而,P101既经济又容易。它的定价为32,000美元,销售了44,000多台。2.第一个面向对象的程序设计语言:Simula-1967Simula是由挪威计算中心的奥利·约翰·达尔和克利斯登·奈加特开发的。它保留了ALGOL 60编程语言的精神。Simula是两种仿真语言的名字——Simula I和Simula 67。Simula 67介绍了对象、类、子类、继承、虚拟过程、协同程序和垃圾收集的特性。它广泛应用于过程建模、算法、VLSI设计、计算机图形学等领域。Simula 67的概念已经在C++、C#、Pascal、Java等语言中重新实现。1.第一款微处理器:英特尔4004-1971。芯片设计始于1970年4月,在费德里科·费金的领导下于1971年1月完成。这个4位寄存器比人的拇指指甲盖还小,时钟速度为740 kHz。它有2300个间距为10微米的晶体管,每秒可以进行60000次运算,成本为200美元,但其计算能力与ENIAC计算机相当。Busicom计算器141-PF是第一个使用微处理器的商业产品。英特尔4004使用独立的程序和数据存储(与哈佛架构设计相反)和单条多路复用4位总线来传输12位地址、8位指令和4位数据字。可直接寻址5120位RAM和32768位ROM,支持3级内部子程序栈。