首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

全球对软件做出杰出贡献的人物和技术,历史应该铭记他们(一)

今天我们能够用上各种电子电器,都离不开运行它的软件。对软件做出杰出贡献的都有哪些,今天小编就来盘点下。顺序是按时间排,不代表贡献的大小。

软件(巴贝奇分析引擎)

时间:1837年

查尔斯·巴贝奇是一位杰出的科学家,他于1828年在剑桥被选为卢卡斯数学教授 (由艾萨克·牛顿和斯蒂芬·霍金主持)。1837年,他公开描述了一个分析引擎,一个机械设备,将采取从程序的指示,而不是被设计为只做一项任务。在此之前,巴贝奇显然一直在思考这个问题,与许多创新一样,限定一个日期是困难的。这似乎是第一次认真考虑软件的概念(机械设备的计算指令)。巴贝奇甚至指出,这些指令可以重用(一个关键的概念,在今天的软件如何工作)。1842年,洛夫莱斯伯爵夫人阿达·奥古斯塔(Ada Augusta)发表了“分析引擎素描”(Sketch of the Analytical Engine)的译本,并对她自己进行了广泛的评论。这篇评论对计算机体系结构和编程有清晰的描述,而且现在已经非常清楚,Ada经常被认为是“第一个计算机程序员”。不幸,由于许多因素,分析引擎从未在巴贝奇的一生中建立起来,并且在通用计算机建造之前还需要很多年。没有专利。

布尔代数

时间:1845年

乔治·布尔出版了“关于思想的调查”。他的符号逻辑推理系统成为计算的基础。没有专利。

图灵机

时间:1936年 - 1937年

阿兰·图灵(Alan Turing)写了他的论文“关于可计算数字,以及Entscheidungs问题的应用”,他首先描述了 图灵机。这个数学结构显示了计算机软件的优势和根本的局限性。例如,这表明存在一些无法解决的问题。没有专利。

存储程序

时间:1945年

在“EDVAC报告初稿”中,John von Neumann描述了将程序存储在与数据相同的存储器中的概念。这是所有软件开发所基于的软件操作的基本概念。Eckert,Mauchly和Konrad Zuse都声称已经有了发明,但是这是不确定的,这个草案文件是促使它使用的文件。 艾伦·图灵(Alan Turing)发表了自己的独立观点,但是进一步表明,计算机可以用来对任何形式的符号进行逻辑处理。这个方法最初是在1948年在曼彻斯特的Mark I计算机上实现的。

超文本

时间:1945年

Vannevar Bush在“我们可能会想到的”中首次描述了超文本 ,尽管当然受到以前与图书馆有关的工作(例如Paul Otlet的工作)的严重影响 。Ted Nelson在1965年的文章 “复杂,变化和不确定的文件结构”(第20届全国会议,纽约,计算机械协会)中创造了“超文本”这个词 。没有专利。

子程序

时间:1951年

莫里斯·威尔克斯(Maurice Wilkes),斯坦利·吉尔(Stanley Gill)和戴维·惠勒(David Wheeler)在程序中开发了子程序的概念,以创建可重用的模块,并开始形式化软件开发的概念。 没有专利。

汇编

时间:1952年

Alick E. Glennie写了“Autocoder”,它将符号语句翻译成曼彻斯特标记I计算机的机器语言。自动编码后来成为汇编语言编程的通用术语。 没有专利。

编译器

时间:1952年

格雷斯·默里·霍珀(Grace Murray Hopper)描述了选择(编译)与用高级语言编写的代码相对应的预先编写的代码段(即,编译器)的技术。她1952年的论文题为“计算机教育”(Proc.ACM会议),并在“ 计算史”(第9卷,第3-4期,第271-281页)中转载。她1951 - 1952年的努力来发展A - 0。她后来在开发COBOL方面发挥了作用。编译器概念的前身是由贝蒂·霍尔伯顿(Betty Holberton)于1951年开发的,他创建了一个“分类合并生成器”。 没有专利。

人类实际编写符号(FORTRAN)

时间:1954年

约翰·巴克斯(John Backus)提出了一种编程语言的开发,它允许用户直接用通用的数学符号表达他们的程序。结果是 Fortran。第一个Fortran实现在1957年完成。在这之前有几个编译器; 诸如A-0,A-1和A-2等语言插入了子程序,Whirlwind I包含了一个用于求解方程(但不能用于通用编程)的专用程序,还有一个“解释程序”已经开发了名为Speedcoding的IBM 701。然而,Fortran使用的符号与人类符号更为相似,其开发人员开发了许多技术,因此编译器第一次可以创建高度优化的代码[Ceruzzi 1998,85]。没有专利。

叠加原则

时间:1955年

Frierich L. Bauer和Klaus Samelson 在慕尼黑工业大学开发了 “叠加原理”(“延期最后的操作是首先进行的”)。这是编译器构建的基础,自然扩展到括号内的所有操作结构和所有括号内的数据结构。 没有专利。

分时

时间:1957年

约翰·麦卡锡(美国麻省理工学院)开始提出分时操作系统,多个用户可以共享一台计算机(每个人都相信他们控制着整台计算机)。1959年1月1日,他给菲利普·莫尔斯教授写 了一个备忘录,建议为即将到来的机器做这件事。这个想法在计算领域引起了巨大的兴奋。值得注意的是,克里斯托弗·斯特拉奇(英国国家研究发展公司)在1959年发表了一篇关于“分时”的论文,但是他的这个概念是让 程序共享一台计算机,而不是 用户共享一台计算机(程序已经共享电脑,例如在SAGE项目中)。[Naughton 2000,73] 到1961年11月,费尔南多·科巴托(FernandoCorbató)(也在麻省理工学院)有一个四端系统在IBM 709大型机上工作。之后不久, CTSS(兼容时间共享系统)正式运行,这是第一个有效的分时系统。 即使在今天不被不同用户共享的系统中,这些机制也是对计算机安全的重要支持。没有专利。

未完待续

本文参考

fourmilab

turing

w3

computer

b-tu

antipatterns

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180108A0RPUP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券