概述:本文收集整理了计算机编程领域的二十个突破历史的发明。

1 第一台计算机:“差分机”(1821年)

“差分机”是1821年由英国政府委托科学家巴贝奇设计而成的,这台机器能提高乘法速度和改进对数表等数字表的精确度。但由于其过高的设计成本,其后续的大型差分机的制作最后以失败而告终。

2 第一台通用计算机:“分析机”(1834年)

“分析机”也是一个机械计算机,它输入方式为打孔纸带,纸带上包含了程序与数据。这是来自巴贝奇的另外一个想法,可惜最后也是以失败而告终。

3 第一个计算机程序:计算伯努利数的算法(1841 - 1842年)

世界上第一个程序员Ada Augusta(另外她还是英国著名诗人拜伦的女儿)在1841年使用巴贝奇的分析机翻译意大利数学家Luigi Menabrea的笔记。在翻译过程中,她对这台机器产生浓厚兴趣并留下了她的翻译笔记。 笔记之一——note G,记载了通过分析机计算伯努利数的算法,这被公认为是第一个计算机程序。

4 第一个能运转的可编程计算机:Z3(1941年)

Konrad Zuse(第一台电子计算机的发明者)发明了可运转的机械计算机Z1,但是它一次只能运转几分钟,随后,他使用不同的技术发明了Z2和Z3。Z3是程序和数据存储在外部穿孔带的电磁式计算机,这是德国政府的一个秘密工程,被德国飞机研究所使用,机器原型在1943年柏林的大轰炸中毁坏。

5 第一台电子计算机:Atanasoff-Berry计算机(ABC)(1942年)

这台机器是由John Vincent Atanasoff和 Clifford Berry制造的,所以被命名为Atanasoff-Berry计算机或者简称为ABC,它被用于寻找线性方程组的解。这是第一个使用二进制来表示数据,通过电子开关来代替机械的计算机,但是这台机器无法编程。

6 第一台可编程的计算机:巨人(Colossus )(1943年)

“巨人”是由Tommy Flowers制造的,它被用于二战中帮助英国破译德国的由洛伦兹密码加密的消息。它是由电子开关和插塞来编程的,使得破译密码的时间由过去的几周缩短到几个小时。

7 第一台通用的可编程计算机:ENIAC(1946年)

ENIAC是由美国陆军资助,由宾夕法尼亚大学摩尔电气工程学院的John Mauchly等4人开发的。ENIAC宽150英尺,可以进行复杂的变成操作,如循环。它的编程是通过电子开关和电缆来完成的,输入依靠卡片阅读器而输出依靠卡片穿孔机。它协助了世界上第一颗氢弹的研制。

8 第一个轨迹球:(1946/1952年)

为什么关于第一个轨迹球的年份会有2个?我来解释一下。

第一个年份:Ralph Benjamin在1946年研究用于低空飞行飞机的监控系统时创建了第一个轨迹球。他描述的发明是使用一个球来控制屏幕上光标的x - y坐标。这项设计在1947年申请了专利,但从未对外公布。这个发明被认为是军事机密,被用于代替操作杆。

第二个年份:Tom Cranston和他的公司在1952年开发了用于加拿大海军DATAR系统的世界第一个 轨迹球。这个轨迹球的设计模拟了在“空气轴承”中加拿大保龄球的旋转。(见下图)

9 第一个可存储程序的计算机:SSEM(1948年)

为了克服延迟线存储器的缺点,Frederic C. Williams和Tom Kilburn 发明了第一个基于标准CRT的随机存取数字存储设备。SSEM被用于完成存储设备的实际存储,输入的程序为使用32个开关的二进制形式,输出使用CRT。

10 第一个高级编程语言:Plankalkül (1948年)

虽然自1943年以来,Konrad Zuse(第一台电子计算机的发明者)一直在研究Plankalkül ,但他只在1948年发表了一篇关于这门语言的论文。不幸的是这篇论文并没有得到太多的关注。一直到接近三十年之后才由Joachim Hohmann论文中提到可以在编译器中使用它进行编译。

11  第一个汇编程序:EDSAC计算机的“初始订单”(1949年)

汇编程序是一个能够将低级的助记符转化为数字表达(机器语言)。EDSAC计算机的“初始订单”是第一个这样的系统。它被用于组装从纸带输入到内存的程序并运行输入。这个程序使用助记符代替机器语言,通过将象征性的低水平程序代码转化为机器语言完成了“初始订单”这第一个汇编程序。

12 第一台个人计算机:“Simon”(1950年)

Edmund Berkeley的“Simon”是第一个能够执行四种操作:加法、逻辑非、大于和选择的数字计算机。它依靠程序写在纸上的打孔纸来进行输入,而输出是通过五盏灯来完成。

13 第一个编译器: 用于UNIVAC 1的 A-0 (1952年)

编译器是可将高级语言转换成机器代码的程序。A-0系统是程序员中的传奇Grace Hopper女士创建的,它能够将指定程序以子程序序列和参数的形式转换为机器语言。A-0系统后来演变为向所有人发布的A-2,并公布了其源代码,这可能是真正意义上的第一个开源软件。

14 第一个自动编译器:Glennie的Autocode(1952年)

自动编译器是处理高级编程语言的编译器。1952年,Alick E. Glennie利用自己在曼彻斯特大学的课余时间发明了一个名为AUTOCODE的编程系统,一个未能成型的编译器。

15 第一个实时图形显示计算机:IBM 公司的AN/FSQ-7 (1951年)

AN/FSQ-7来自于最早的显示实时输出的计算机Whirlwind,它成为了美国空军防御系统SAGE的生命线——能够显示跟踪的目标,并自动显示哪些防御工事在范围以内。AN / FSQ-7拥有100个系统控制台,下图为其中之一:

16 第一个被广泛使用的高级编程语言:FORTRAN(1957年)

你可以在教科书上找到第一门高级编程语言FORTRAN 的介绍。这是由John W. Backus,一个不爱写程序的年轻人想出来的,他决定创建一个编程系统使得编程的过程更加容易。使用FORTRAN编程可以大大减少运行计算机所需要的编程语句。到1963年,FORTRAN的编译器已经超过了40个。

17 第一个鼠标 (1964年)

1964年,坐在计算机图形学会议上思考的Douglas Engelbart萌生了一个关于老鼠的想法。他制造了一个有着两个滑轮的设备(一个垂直滑,一个水平滑),可以用来移动屏幕上的光标。而这个设备的原型(如下图)是由他的同事首席工程师Bill English 制造出来的。但是English和Engelbart都没有收到这项专利的版权,这项发明的版权属于他们的雇主SRI公司。

18 第一个商用台式电脑 Programma 101(1965年)

Programma 101又被称为“Perottina”,世界上第一个商业电脑。它可以执行加、减、乘、除、平方根、绝对值和分数。这个功能强大的电脑,售价为3200美元(1965年的3200美元大家可以想象下能当现在多少钱),卖出了44000台。Perottina是由Pier Giorgio Perotto发明,意大利制造商Olivetti生产制造的。

19 第一个触摸屏(1965年)

这看起来没什么功能的显示屏是世界上第一个触摸屏。它是一个电容触摸板,它没有压力灵敏度,且只支持单点触控。这个技术被英国航空运输控制台一直用到二十世纪九十年代。

20 第一个面向对象编程语言:Simula(1967年)

基于 C. A. R. Hoare的类结构概念,Ole-Johan Dahl和Kristen Nygaard 完善了他们的SIMULA程序语言,包含进了对象、类和子类。这使得1967年的SIMULA 成为了第一个面向对象的编程语言。

本文翻译自hongkiat.com,由evget.com翻译,原文地址

计算机编程领域最伟大的20个发明相关推荐

  1. 南京 学计算机的学校,南京小学生暑假学计算机编程去哪家学校好

    南京小学生暑假学计算机编程去哪家学校好 南京小学生暑假学计算机编程去哪家学校好,推荐 南京童程童美专注于中国6-18岁青少儿编程教育的品牌.依托集团16年积累的互联网教育经验和百余名IT教研团队优势, ...

  2. 计算机学具制作,一种具有防护功能的计算机编程学具的制作方法

    本发明涉及计算机编程学具技术领域,尤其涉及一种具有防护功能的计算机编程学具. 背景技术: 计算机编程是指利用计算机语言让计算机进行执行的过程,为了提高学生的计算机编程能力,在学习的过程中,学生需要专门 ...

  3. 让杨超越小姐姐告诉你,计算机编程中的透明性是什么意思?

    计算机编程中的透明性是什么意思? 生活中的透明: 生活案例1.  这位美女穿的这件衣服挺透明的,可以隐约看见她的咪咪!这里的透明,指的是我们的眼睛可以穿透美女的衣服,看到美女衣服里面的敏感部位,大家都 ...

  4. 国际计算机思维比赛,少儿编程领域中,你所不知道的国际计算思维大赛

    原标题:少儿编程领域中,你所不知道的国际计算思维大赛 孩子学习编程,除了培养编程思维和计算思维,也能为未来应对人工智能时代打下基础.今天给大家讲的的是Bebras国际计算思维大赛,请大家持续关注坚果学 ...

  5. 计算机编程的 20 年变迁!

    技术在更迭,科技在变化.20 年前,或许只是处于概念型的技术,如今早已深入落地我们的日常生活中,而从计算机编程角度来看,在互联网发展的 20 年间,究竟有哪些根本性的变化?本文即将揭晓答案. 作者 | ...

  6. 厉害!国内大学生计算机编程第一人,一人挑战一个队,百度最年轻 T10,现创业自动驾驶...

    作者 | 年素清 责编 | 王晓曼 封图 | CSDN付费下载自东方IC 出品 | CSDN(ID:CSDNnews) 他被公认为"大学生计算机编程第一人",是全球顶级黑客,是To ...

  7. 计算机算法对程序设计的作用,算法计算机论文,关于数学算法对计算机编程优化相关参考文献资料-免费论文范文...

    导读:本论文主要论述了算法计算机论文范文相关的参考文献,对您的论文写作有参考作用. (重庆人文科技学院 理工学院数学系,重庆 401572) 摘 要:数学算法是一种将很多问题进行归纳总结,然后采用统一 ...

  8. 计算机编程入门语言哪个好?

    计算机编程入门语言哪个好?入门语言有基础的推荐C和JAVA语言,零基础的小伙伴推荐从web前端(网页开发)开始.编程已经没什么新鲜和陌生的了,编程已经进入我们生活的方方面面,那么你知道你编程适合学什么 ...

  9. 宏定义编程软件_什么是计算机编程? 定义软件开发。

    宏定义编程软件 My five year old son, Ramy, approached me one day while I was working from home and asked, & ...

最新文章

  1. SQLSTATE[HY000] [2003] Can’t connect to MySQL serv
  2. 解决IE无法查看源文件问题
  3. 计算机的潜意识--从机器学习谈起
  4. MySQL内核月报 2015.01-MySQL · 捉虫动态· InnoDB自增列重复值问题
  5. JavaScript教程之DOM和BOM
  6. springboot 订单重复提交_瞬间几千次的重复提交,我用Spring Boot+Redis扛住了
  7. Lync Server 2010所需媒体网络流量带宽详解和计算
  8. Springboot 多模块项目创建与配置
  9. signature=172bb3bb7ef43cff1707b389c78d27cb,Signatures? of suicide
  10. 项目解析jsx文件_仅含一个源文件:这5个开源项目值得一看
  11. 计算机毕业论文性能测试怎么写,计算机专业毕业论文写作指导方法
  12. 微博首席架构师杨卫华:新浪微博技术架构分析
  13. 遇到PX Deq: reap credit等待事件
  14. 数据库系统的工作流程
  15. 我的世界电脑版怎么下载java_我的世界端游java版怎么下载
  16. 翻译python代码的软件_Linux环境下的Python翻译工具源码
  17. 沁恒全方位提供多种USB串口驱动第3代USB转串口产品
  18. 《PPT高手之路》学习1
  19. 1577. 条条大路通罗马 Java题解 (dijkstra综合应用,map)【PAT甲级1087】
  20. 缠论工具(笔, 线段)

热门文章

  1. python 三维数据绘制等高线_python密度与等高线绘制,Python,和,轮廓图,Matplotlib,详解...
  2. 网页怎么显示emoji表情
  3. Xgboost实践 | 第一名天池o2o优惠券的使用预测思路完整版
  4. 小米手环6获取auth_key更换第三方表盘(零基础)
  5. CrossOrigin注解的方式实现接口的跨域访问
  6. RS485通信学习笔记
  7. 费用报销的一些管理软件怎么选?
  8. STM32F103ZET6的芯片工程改为STM32F103C8T6的工程
  9. 燕大计算机研究生毕业待遇,研究生人均“月薪上万”是真是假,过来人坦言:想想就好,别认真...
  10. HTML+CSS实现按钮手风琴效果 | 青训营笔记