资讯详情

当过爱因斯坦助理,参加过曼哈顿计划,他还发明受欢迎的编程语言 | 人物志...

640?wx_fmt=gif

作为古代编程语言之一——BASIC,它不仅为计算机领域的全方位创意探索开辟了大门,也为科技巨头微软和苹果做出了巨大贡献。

它是怎么发明的?John G. Kemeny当时(先卖个关子,文章有详细的来龙去脉)

作为BASIC之父的John G. Kemeny,他的人生经历如何?

作者 | Badri Sunderarajan

译者 | 弯月

责编 | 伍杏玲

20世纪50年代,计算机可以说英语或理解英语。任何人都可以在没有培训的情况下与计算机交流。

你很惊讶吗?说起当时的计算机这个词,并不是我们今天习惯的机器。

通常,这些计算师的教育背景很低,所以他们的工作会被鄙视。2016年,一部名为《隐藏人物》的电影讲述了这些计算师的故事:Katherine Johnson、Dorothy Vaughan和Mary Jackson,这些不为人知的女士在登月第一人之前,默默地在背后付出了很多计算努力。

与当时的计算师形成鲜明对比的是,后来的计算机是由开关继电器、旋转轴和离合器组成的大型笨重机器。

例如,洛斯阿拉莫斯国家实验室有17个IBM ASCC计算机已经成为哈弗马克1号。这些机器不会说英语,技术人员需要培训,然后通过按钮或穿孔卡输入指令,即使是最简单的问题也需要几周的时间才能完成。事实上,他们处理的问题并不简单:操作员使用它们来计算原子弹的爆炸效果。

1943年,John G. Kemeny开始接触这些马克1号计算机(应该称为计算器) )。虽然当时他对计算机了解不多,但他最终发明了一种语言。虽然不是完全英语,但每个人都学会了计算机编程。

让我们先回顾一下John G. Kemeny的生平。

John George Kemeny,又名Kemény János Gy?rgy,1926年5月31日出生于匈牙利布达佩斯。1938年,希特勒统治了德国,并在匈牙利举行了反犹太运动。他的父亲被迫离开匈牙利去美国。两年后,他和家人在纽约再次团聚Kemeny只有十四岁。

虽然Kemeny他想学英语,但他在乔治华盛顿高中仍然取得了优异的成绩,三年后以全班第一名毕业。后来,他去普林斯顿大学学习数学和哲学。

当时匈牙利和希特勒领导力狼狈为奸,在大屠杀中杀害了许多无辜的人。John Kemeny一位叔叔阿姨拒绝离开祖国,一起殉难。

此时,美国也宣布参战。由于担心敌人会开发原子弹,美国启动了一个秘密项目,计划率先开发自己的原子弹。这是曼哈顿的计划,John Kemeny该项目也应邀加入。

John Kemeny从普林斯顿大学休假一年,去洛斯阿拉莫斯国家实验室,他在著名的物理学家理查德·费曼(Richard Feynman)的指导下工作。此外,Kemeny还遇到了匈牙利出生的另一位数学家约翰·冯·诺依曼(John von Neumann),他是现代电子计算机和博弈论的重要创始人。

还有,与Kemeny另一位大众耳熟能详的知名人士是阿尔伯特·爱因斯坦(Albert Einstein)。

1948年,在费曼的指导下John Kemeny获得学士学位后,跟随阿隆佐·邱奇攻(Alonzo Church)博士学位。

当时,爱因斯坦需要数学助理。爱因斯坦的数学也很好,但物理是他的专业。他对最新的尖端数学缺乏了解,所以他需要一个研究助理。

达特茅斯学院图书馆

爱因斯坦有几个研究助理,Kemeny只有一个。这些助理不仅为爱因斯坦提供了最新的数学知识,还帮助计算。

每个人都会犯错误。如果你计算的东西越多,你犯的错误就越多。爱因斯坦的工作需要大量根据Kemeny因此,他们需要根据一个公式不断推导出另一个公式来解决微分方程,这似乎是无穷无尽的。因此,如果出了问题,就很难找到。根据程序员的说法:

有什么解决办法?找多个人计算同样的问题。

爱因斯坦和Kemeny(或其他研究助理)分别计算同一个问题,完成后比较答案。因为计算时间很长,如果答案一致,可以肯定答案是正确的。毕竟两个人犯同一个错误的概率不大!

因此,在Kemeny在开始研究计算机之前,他自己的工作是计算机(师)。

1949年,年仅23岁Kemeny博士毕业后,他的毕业论文是类型论和集合论。此外,他还与美国沿海缅因州合作Jean Alexander喜结连理。

1953年,他发表论文4年后,Kemeny两年后被派到特茅斯数学系担任主任。Kemeny在达特茅斯数学系,我遇到了普林斯顿大学的另一位博士Thomas Kurtz,在达特茅斯工作,Kurtz他的工资被削减了,所以他正在努力增加收入。

Kemeny建议他争取麻省理工学院计算网站IBM研究奖学金。1956年夏天,计算机和认知科学家约翰·麦卡锡(John McCarthy)这可能是历史上第一次出现人工智能这个词。

 

在Kemeny和Kurtz教学生编程的时候,他们意识到当前的语言,汇编,非常复杂和繁琐。它需要你了解很多数学知识,以及计算机构建方式的详细内容。这种学习编程的方式太低级了!

达特茅斯学院图书馆

于是,他们二人合力创建了达特茅斯,即Dartmouth 简化代码(Dartmouth Simplified Code)。这基本上是一个模板系统,每个Darsimco的命令都与一小部分的汇编命令相对应。人们在使用达特茅斯命令时,可以利用预先编写好的代码块,而无需掌握如何处理位和字节。

后来,他们建立了Dartmouth 超简化编程实验(Dartmouth Oversimplified Programming Experiment,简称Dope),这是一种比Darsimco更简单的语言。然而这种语言过于简单,几乎无用武之地。

就在这个时候,新的高级语言Fortran出现了,编程变得不再那么繁琐,但是人们仍然需要拥有数学背景才能使用这种语言。(对于那些有数学背景的人来说,Fortran可能非常强大:这就是为什么时至今日仍然有物理学家在使用最新版的Fortran。)

Kemeny和Kurtz想要创建一种普通人也可以很方便地使用的语言。最终,他们创建了BASIC。

BASIC(Beginner’s All-purpose Simplified Instruction Code,初学者的通用简易指令代码)拥有类似于英语的简单命令,用户可以通过输入这些命令操控计算机。例如,可以通过“HELLO”登录,通过“BYE”退出,通过“SAVE”和“UNSAVE”管理永久存储中的程序等等。

从此,编程不再像按计算器上的键,而更像是概括大纲。

后来,BASIC变得非常受欢迎,微软等公司纷纷开始采用BASIC,并发布了各自的版本。这可能是John Kemeny对这个世界最大的贡献,但绝不是他唯一的贡献。

除了BASIC以外,Kurtz和Kemeny还有一项重大的贡献:他们创建了分时系统,允许多个用户同时运行程序而无需排队等候。如今数字多任务使用的就是达特茅斯分时系统(DTSS),我们都需要感谢Kurtz和Kemeny!

 

 

1970年,44岁时的Kemeny出任达特茅斯校长,并在这个岗位上奉献了11年,直到后来辞职继续从事教学。

在担任校长期间,Kemeny在达特茅斯做出了许多重大改革,包括将达特茅斯从一所男子学校转变成男女混合大学。他还设计了“达特茅斯计划”,将学期的课程安排重新调整为三个月:方便学生灵活地参加校外项目,而且还可以让大学扩招更多的学生,同时还无需建造更多的教学大楼。

据报道,Kemeny在学生中间非常受欢迎,他与学生们非常亲近。他积极地招募少数民族的学生,并恢复了达特茅斯为美洲印第安人提供教育的承诺。

在Kemeny取得这些成就的背后,一直在默默支持他的是妻子Jean Alexander Kemeny。她凭借自己的实力成为了一名直言不讳的活动家,她曾为支持公民和妇女的权利而努力,并为达特茅斯转型成男女混合大学贡献了自己的力量。后来,Jean写了一篇回忆录《It’s Different at Dartmouth》(不一样的达特茅斯),记录了她作为达特茅斯“第一夫人”的十年生平。

在担任校长期间,Kemeny曾应美国总统吉米·卡特(Jimmy Carter)的请求,负责调查三里岛核事件。此次调查的最终报告严格批评了美国联邦监管机构以及当时核电行业安全标准的松懈。

1981年,Kemeny退休,他辞去了达特茅斯校长一职,并重返学校教学。两年后,他和Kurtz共同创立了True BASIC Inc.,以商业的方式推广和销售BASIC。与此同时,Kemeny坚持在达特茅斯教学,一直到1990年。

两年后,John Kemeny去世,享年66岁。但他创造的编程语言通过多种版本和形式流传了下来,一直到半个世纪之后的今天。

原文:https://medium.com/interesting-histories/john-g-kemeny-inventor-of-basic-f0d118c9f2f4

本文为CSDN翻译,转载请注明来源出处。

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员:

☞ 阿里半跪过,任正非差点跳楼,京东被骗光钱:成年人的生活哪有容易二字?

☞ 五日间,Bug 灰飞烟灭

☞ 阿里 P9 级面试官是如何 360° 无死角考察候选人的?

☞ 真の硬核粉丝!小学生也参加杨超越杯,作品优秀!

☞ 当过爱因斯坦助理,参加过曼哈顿计划,他还发明受欢迎的编程语言 | 人物志

☞ 17篇论文入选CVPR 2019,百度AI都在关注什么?(附论文地址)

☞ 强推!盘点阿里巴巴 15 款开发者工具 | 程序员硬核评测

☞ 不改变比特币, 如何扩容?

☞ 她说:为啥程序员都特想要机械键盘?这答案我服!

 

System.out.println("点个在看吧!"); console.log("点个在看吧!");print("点个在看吧!");printf("点个在看吧!\n"); cout << "点个在看吧!" << endl; Console.WriteLine("点个在看吧!"); Response.Write("点个在看吧!"); alert("点个在看吧!")echo "点个在看吧!"

你点的每个“在看”,我都认真当成了喜欢

标签: 30ny7继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台