2021.06.27 技術シェア
【技术浅谈】计算机诞生与编程语言前世今生

前言


今天将为大家简单介绍一下计算机与编程语言的发展史。说到计算机的诞生,那么不得不提起计算机科学之父:图灵(Turing)。图灵也是现代AI经典中的图灵测试理念的提出者。图灵诞生于英国,因为在数学和逻辑学天赋异禀,在二战期间被录用为国家物理研究所的研究员,从事破译德国密码系统工作。


图片


二战中的德国密码系统的编码生成算法在不断的升级下,密码的排列组合达到【一亿亿】种。在早期的破译当中,数学家和逻辑学家起到至关重要的作用,但是在德国不断升级的密码系统下,人脑已然束手无策。在这样的历史背景下,图灵想出了创造机器去打败机器的思想,于是图灵机诞生了,即我们现代电子计算机的原型。它诞生于1943年。


图片


对于以上段落感兴趣的同学,推荐由神探夏洛克(卷福:本尼迪克特·康伯巴奇)主演的电影【模仿游戏】。


 


而当时”电脑”的产生出于国家机密考虑,图灵的贡献并未得到表彰。而因为图灵的此发想,让二战至少提前了两年结束,并拯救了至少1400万人的生命。但因为图灵的性取向在当时的英国无法被大众接受。1954年6月7日,图灵吃了一个带有氰化物的苹果,在家中去世,享年41岁。1966年,国际计算机协会(ACM)设立了图灵奖(计算机界的诺贝尔奖)以纪念图灵。ACM也是大学生程序设计竞赛的最主要主办单位。此外,我们熟知的苹果公司,创业期的主要产品就是电脑。苹果公司的企业logo选择了被咬一口的苹果的其中一个解释是:乔布斯为了纪念图灵,以标榜苹果公司的诞生。


 


图片


之后,在图灵机诞生后的1946年,ENIAC,人类历史上公认的第一台现代电子计算机诞生了。ENIAC之所以被成为第一台电子计算机,是因为它具备了现代计算机的主要结构和功能。而我们今天用的计算机,俗称冯诺依曼机,其内部的设计思想其实就是源于ENIAC。图灵机推动了计算机理论模型的产生,冯诺依曼推动了计算机基本架构的设计与实现。


图片


之后,各种各样的基于冯诺依曼机的商用机就出现了。例如,1944年IBM的Harvard Mark I。在早期的计算机,识别指令(此时还不能称之为语言)时,主要用的是【提花卡】,一种带孔的卡片。机器通过卡片带孔与否来判断1和0。直到1980年代,打孔机仍然用于计算机设备中。


图片


此后,1959年,美国国防部的霍普博士制定了COBOL语言的标准,COBOL是一种面向数据处理的,面向文件的,面向过程的高级编程语言。而我们的Debug(调试排错)就源于霍普教授的工作笔记。1970年,由维尔特发明的Pascal语言问世。Pascal的面向对象编程设计的派生语言,其集成开发环境就是著名的Delphi,早期的Skype就是用这个平台开发的。Pascal语言直接影响了Ada, Java等语言的设计。维尔特的一书【Algorithms + Data Structures = Programs(算法+数据结构=程序)】,也奠定了计算机科学的主干。另外,上文中的Delphi的开发者海尔斯伯格也是.NET框架技术的主要架构师。


1973年,丹尼斯里奇和汤普逊在贝尔实验室设计为了移植UNIX操作系统,以B语言为基础设计开发了C语言,我们计算机界长久不衰的经典高级编程语言。C语言的设计影响了众多编程语言的产生,其中包括C++,Java,Objective-C(苹果app主要编程语言)。我们的苹果操作系统内核,安卓操作系统内核,Windows操作系统内核都主要由C语言编写。其实,丹尼斯里奇和汤普逊的好基友(好同事)布莱恩·柯林汉,就是第一个写出传说中的代码的人。其为:【Hello World】。


图片


图片