(点击上方蓝字,快速关注我们)

译文:伯乐在线 - 叙帝利,英文: BBC

如有好文章投稿,请点击 → 这里了解详情

Joyce Wheeler 是首批使用的 EDSAC 的科学家之一

我们大家都记得自己用过的第一台电脑。Joyce Wheeler 也不例外。但是她的情况略有不同,她是第一批使用电脑的人。

EDSAC 由英国剑桥大学莫里斯·威尔克斯(Maurice Wilkes)和他的团队受冯·诺伊曼的《First Draft of a Report on the EDVAC》的启发,以EDVAC为蓝本,设计和建造 EDSAC,1949年5月6日正式运行,是世界上第一台实际运行的存储程序式电子计算机。所有现代电脑的鼻祖之一。

EDSAC使用了约3000个真空管,排在12个柜架上,占地5×4米,功率消耗12Kw。

EDSAC 使用水银延迟线作存储器,分布在32个槽中,每个槽5英尺长,里面包含32个内存位置,共1024个位置。建造时只实现了一半,512个字,第二组于1952年添加.[3] 1952年增加一个磁带存储,但实际使用中不能良好工作。

输入采用5路的穿孔纸带,使用电子纸带读入机,速度为每秒 6·2/3 个字符,1949年10月改进为每秒16字符,1950年使用光电阅读器,达到50字符每秒。输出使用电传打字机,速度6·2/3 字符每秒,1951年添加一个16字符每秒的纸带打孔机。另外,EDSAC可以外接阴极射线管(CRT),可以用来观察寄存器的值。 (摘自维基百科)

Joyce Wheeler 就是这批科学家之一。当时,她正在著名天文学家 Fred Hoyle 的指导下攻读博士学位。

“我的工作是研究恒星内部的反应,”她说,“我对主序恒星在主序列上能保持多久特别感兴趣。”

“我想知道恒星需要多长时间才会消失。”她解释道。

“使恒星发光的核反应堆的内部原理是一个需要解决的难题,”她说,“描述其能量过程的数学方程非常复杂。”

“对于恒星来说,描述其行为和组成的是一组相当复杂的微分方程。”她补充说。

EDSAC 帮助 Wheeler 博士研究恒星燃烧的过程

手工完成这些计算是不可能的。

“手工计算不可能精确无误,”她说,“错误非常多。”

通过 Maurice Wilkes 发明的机器 EDSAC,可以准确的完成计算,这是 Wheeler 为了获得高级学位要做的。

思考时期

首先,她必须学会编写计算程序。

Wheeler 博士于 1954 年在剑桥大学开始攻读博士学位的时候了解到 EDSAC,这缘于在早期的访问中这台机器曾公开展示过。

因为热衷于自己的研究,她坐下来翻开一本描述如何编程的小册子,通过手册上的练习学会了编程。

像 Joyce Wheeler 一样的研究生只能在晚上使用 EDSAC

The little book was called WWG after its three authors Maurice Wilkes, David Wheeler and Stanley Gill.

那本小册子被称为 WWG,名字取自它的三位作者 Maurice Wilkes、David Wheeler 和 Stanley Gill 的头字母。

在学习编程的过程中,Blackler 结识了 David Wheeler ,因为她的一个程序有助于确保 EDSAC 工作良好。随后他们互相了解,坠入爱河,在 1957 年结婚。

如今 62 年过去了,她在那时是非常重要的人物,因为程序员(尤其女程序员)非常稀有。

也许是因为这种新情况,一门新学科和一台开创性的机器,剑桥的计算机实验室的气氛并不是阳盛阴衰。

“你可能会被当成一个东西(object),有时会让人不舒服,”她说,“但是并没有因此成为一个男生队。”

她说这是振奋人心的时刻,因为这台机器可以帮助她完成工作。她很快就学会了编程,她的数学能力帮助她迅速掌握了语法,她不得不翻译那些“讨厌的方程”。

“但是它和数学一样,”她说,“你知道这是你不应该做太久的事情之一。”

编程的基础是由 EDSAC 的创造者制定的

“我发现我每天的编程工作不能超过一定的时间,”她说,“之后你就不会有太大的进展。”

她说,编程问题的解决方案经常会在她从事一些更平凡的事情时被想出来,比如洗衣服或吃午饭。

“有时候,不要太过执迷于某件事,学会停下来,对于编程也是一样。”

夜间工作

编程结束后,她可以让 EDSAC 做数字运算。作为一个研究生,她不得不在晚上运行她的程序。她一般选择在星期五的晚上。

“那很好,因为第二天没有课。”她说。

作为一个操作员,只要签字并提供操作记录,她就可以单独运行 EDSAC。

“很多时候,它会在夜间崩溃,也许有时你会很幸运可以让它运行一整夜,”她说,“如果它真的崩溃了,那么操作员就需要尝试修复它。”

“他们甚至不让任何清洁工靠近它。”她说。

Wheeler 博士已经用一个程序重新调整了 EDSAC 的两个字节的内存,如果这样做没有用,那么她的工作就要暂停一晚上了。

尽管经常死机,但是关于不同恒星消亡的时间, Wheeler 已经取得了一些成绩。

国家计算机博物馆陈放的 EDSAC 复制品

““我已经得到了关于恒星寿命的一些估值,”她说,“编程带来的好处之一是你可以重复计算,迭代。手工是无法做到这一点的。”

“我们可以在程序中添加样本数字,并且可以很容易地检查它们,”她补充说,“我可以很快地检查机器上的结果,这非常有用。”

在 20 世纪 50 年代,“很快”意味着机器执行一次程序需要 30 分钟。然后将结果打印出来,让研究人员仔细查看他们得到的结果。然后需要重新编程,也许要等好几天的时间才可以在 EDSAC 上运行一个稍作修改的程序。

尽管等待的时间漫长,但可以肯定的是, Wheeler 博士他们都是先行者。

“我们正在做的工作,不能使用任何其他方式。”她说。尽管按照现代的标准来看,EDSAC 很粗糙并且速度很慢,但是她已经看到一个革命悄然来临。

“很显然,有一天,当机器越来越快,许多问题将迎刃而解。”

觉得本文对你有帮助?请分享给更多人

关注「程序员的那些事」,编程不再枯燥

↓↓↓

淘口令:复制以下红色内容,再打开手淘即可购买

范品社,使用¥极客T恤¥抢先预览(长按复制整段文案,打开手机淘宝即可进入活动内容)

在计算机时代初期,程序员是如何编程的?相关推荐

  1. 全民编程时代,程序员该如何保住饭碗?

    李开复在<人工智能>里说过:人工智能将在未来取代一半人的工作,人根本不是机器的对手,他们不喊累.不闹情绪.犯错率极低. 他提醒中国的父母,必须让孩子慎重地选择大学的专业,因为弄不好,等他们 ...

  2. 计算机程序C语言若初始数为48,2016年计算机软考程序员模拟选择试题

    46.设有定义:"char s[12]={"string"};" 则printf("%d\n",strlen(s));的输出是( ) A. ...

  3. 全国计算机程序员等级,计算机等级考试程序员级考试之四大经验

    现在,越来越多的大学生都在参加计算机考试.在各类计算机考试中,参加人数比较多的是计算机等级考试中的二级考试和软件水平考试.相对而言,二级考试比较容易通过,而软件水平考试难度则要大一些,也更具有挑战性和 ...

  4. 计算机软考初级程序员教程,2013年计算机软考程序员教程

    流程控制语句(分支语句和循环语句) 程序体验: public class Test5 { /** * @param args * 分支语句的测试 * 1路 if * 2路 if else * N路 s ...

  5. 全国计算机软考程序员考试大纲

    全国计算机软考程序员考试大纲 一.考试说明 1.考试要求: (1)掌握数据及其转换.数据的机内表示.算术和逻辑运算,以及相关的应用数学基础知识: (2)理解计算机的组成以及各主要部件的性能指标: (3 ...

  6. 计算机软考 下午试题,2011年计算机软考程序员考试(下午题)模拟试题及答案(2)...

    下午试卷 (考试时间 14:00~16:30 共150分钟) 本试卷共8道题,考生需解答5道题,其中试题1~试题3是必答题,试题4和试题5两题任选1道题,试题6至试题8三题任选1道解答.对于任选题,如 ...

  7. 若微型计算机在工作时突然断电,2014计算机软考程序员考前模拟试题

    无忧考网为大家收集整理了<2014计算机软考程序员考前模拟试题>供大家参考,希望对大家有所帮助!!! 1.与十六进制数值CD等值的十进制数是 A.204 B.205 C.206 D.203 ...

  8. 陕西省2019计算机软考试题,2019湖北襄阳计算机软考程序员考试真题及答案解析...

    2019湖北襄阳计算机软考程序员考试真题及答案解析 单选题(每题1分,共1个标准答案) 1.计算机中数据的表示形式是 A)八进制 B)十进制 C)二进制 D)十六进制 2.硬盘工作时应特别注意避免 A ...

  9. CSDN蒋涛答王峰十问:区块链时代,程序员离财富最近!

    北京时间3月26日22点,"三点钟火星财经创始学习群"迎来王峰十问第十期,对话嘉宾是CSDN创始人蒋涛. 文章来源:火星财经 已获得转载授权 对话时间:3月26日 22:00 微信 ...

  10. 1) 以实现用户在桌面上存储的资料不会因为用户改变计算机而消失.,2014年计算机软考程序员考前模拟试题及答案...

    无忧考网为大家收集整理了<2014年计算机软考程序员考前模拟试题及答案>供大家参考,希望对大家有所帮助!!! 1.与十六进制数值CD等值的十进制数是 A.204 B.205 C.206 D ...

最新文章

  1. for循环动态的给select标签添加option内容
  2. 移动端300ms延迟解决的几种方法;
  3. 描述java源程序构成_2.1 Java程序的构成
  4. sparkstreaming(2)——updatestatebykey
  5. mysql slave 1032_修复mysql slave复制1032错误
  6. P6672-[清华集训2016]你的生命已如风中残烛【结论】
  7. 横竖屏切换时候Activity的生命周期的总结
  8. 一文理解设计模式之--观察者模式(Observer)
  9. 《大话操作系统——扎实project实践派》(8.2)(除了指令集.完)
  10. 纳德拉:Excel是微软的最佳象征 难以想象没有它的世界
  11. Excel 常用函数
  12. 【IoT】产品设计:结构设计之堆叠设计流程(二)
  13. 【Pycharm】安装及激活、界面调整、导入anaconda的依赖库、字体设置微软雅黑
  14. 妙用thead封装vue组件
  15. 水苔可以种什么植物? 湖南水苔农业开发有限公司
  16. vue3+jsx+antd 的双向数据绑定、事件绑定、变量绑定方法
  17. rk3588 驱动调试记录
  18. iOS中物理单位换算
  19. 京东网页制作之TAB切换栏(内含jquary筛选器介绍)
  20. usrp的API接口

热门文章

  1. 2014年考研高等数学导学(一…
  2. matlab imagesc 坐标,[转载]matlab 中imagesc的用法
  3. [杂记]CodeBlocks下载、安装及设置
  4. 微信小程序使用GoEasy实现websocket实时通讯
  5. CASS或BMF软件命令栏不见了如何调出
  6. PUE的出现将在数据中心统一标准
  7. java数字猜大小游戏_java实现猜数字小游戏
  8. HIVE 常用函数总结
  9. Source Insight4.0 仿真sublime text主题配色
  10. ccd视觉定位教程_正规CCD视觉定位系统工作原理