0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

世界上最早的程序员是怎样进行编程的?

工程师人生 来源:网络整理 作者:工程师吴畏 2018-07-31 17:20 次阅读

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


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

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 很粗糙并且速度很慢,但是她已经看到一个革命悄然来临。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3439

    浏览量

    92369
  • 程序员
    +关注

    关注

    4

    文章

    931

    浏览量

    29570
收藏 人收藏

    评论

    相关推荐

    薪资高、青春饭,是不是程序员=青楼?

    花期太短。技术迭代快,年龄大容易失业。 就这几年的互联网环境而言,不管是前端、Java、Android开发等等行业。已经感受到程序员不是太卷就是工作难找,薪资过低。以前高工现在拿着中低程序员薪资
    发表于 03-06 21:32

    PSoC™ kit59开发KIT_A2G_TC387_MOTORCTR中是否存在程序员支持对PSoC™ 1系列MCU进行编程

    PSoC™ kit59 开发KIT_A2G_TC387_MOTORCTR中是否存在程序员支持对PSoC™ 1 系列 MCU(如 cy8c29466、cy8c27xxx、cy8c21xxx)进行编程
    发表于 03-05 06:47

    1月18号“纯鸿蒙”千帆启航,程序员预备!

    。 如何正确看待鸿蒙? 我作为程序员来说,首先是看鸿蒙的发展、市场开发岗位、薪资以及前景。 这几年对鸿蒙的发展情况来分析,从2019年开始鸿蒙的出来今天,华为鸿蒙取得了很大的成就。从“不兼容
    发表于 01-16 22:13

    诚邀报名 | GPT驱动的新程序员时代,开发者如何编程

    2023开放原子开发者大会 . OPENATOM DEVELOPERS CONFERENCE GPT驱动的新程序员时代 我们该如何编程 2023.12.17 生成式AI正以旋风般的速度重塑我们的工作
    的头像 发表于 12-11 22:20 325次阅读

    程序员表白程序

    电子发烧友网站提供《程序员表白程序.rar》资料免费下载
    发表于 11-21 10:41 0次下载
    <b class='flag-5'>程序员</b>表白<b class='flag-5'>程序</b>

    喜迎1024程序员节!祝各位开发者们“码”到“程”功!

    程序员们最为敏感的数字。当然,也因为程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。 1GB
    的头像 发表于 10-24 20:00 405次阅读
    喜迎1024<b class='flag-5'>程序员</b>节!祝各位开发者们“码”到“程”功!

    移植ARM DHCP服务器版本1程序员指南

    这本书由ARM DHCP服务器服务器软件提供, 假定ARM DHCP服务器移植源可以作为参考, 也假设您可以访问程序员的 C 和 ARM 组装语言指南。 本程序员指南是为有经验的内嵌系统程序员编写
    发表于 08-18 06:46

    霓虹灯程序员指南

    如果您对ARM技术完全陌生,请阅读Cortex-A系列程序员指南,了解有关ARM架构配置文件和一般编程指南的信息。 ·霓虹灯技术是ARM高级单指令多数据(SIMD)扩展的实现。 ·霓虹灯单元是执行
    发表于 08-17 06:32

    ARMv8-A霓虹灯程序员指南

    程序员,如固件、设备驱动程序或android内核开发人员•希望为基于Arm的目标设备优化库或应用程序程序员•非常热衷于Raspberry Pi爱好者本指南涵盖了如何开始使用Neon,
    发表于 08-08 07:25

    ARM系统跟踪Macrocell程序员模型架构规范1.1版

    ARM 系统跟踪大型电池程序员示范建筑规格V1.1 建筑规格
    发表于 08-02 10:11

    61.[程序员小飞]如何在3分钟内安装好数据库MySql和Navicat,简单又易懂

    程序员
    充八万
    发布于 :2023年07月20日 09:16:19

    计算机刚发明时程序员怎样编程的?

    关于上古时期程序员编程这个话题我想我得从头开始讲起,当我开始编程时使用的计算机是这样的。
    发表于 06-26 10:33 466次阅读
    计算机刚发明时<b class='flag-5'>程序员</b>是<b class='flag-5'>怎样</b><b class='flag-5'>编程</b>的?

    使用本机SDK进行编程

    不佳: 在我花太多时间一个一个地调查每个死掉的项目之前,谁能指出我当前的项目?我运气不佳,因为大多数文档都是针对编程新手的(指向 NodeMCU 等),而且我还没有找到任何针对想要进行本地开发但对 ESP 不熟悉的现有程序员的内
    发表于 06-02 12:26

    5款程序员最佳的代码比较工具

     正文    俗话说:三句不离本行,对于程序员这个可爱的群体来说也是一样,即使面对无休无止的编程工作,程序员们依旧任劳任怨的埋头苦干,梦想着用自己码下的代码改变世界。工欲善其事,必先利
    的头像 发表于 05-23 10:35 4583次阅读
    5款<b class='flag-5'>程序员</b>最佳的代码比较工具