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

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

3天内不再提示

简要介绍世界上首位程序员的简要介绍

华秋商城 来源:djl 2019-09-02 16:29 次阅读

战时打造的所有机器,最初构思时都以完成某项特殊工作(例如解程序或破解密码)为目标。但在爱达或图灵心目中,真正的电脑应该能完美且快速的执行任何逻辑作业。如此一来,机器的作业就并非只由硬件决定,软件(可以在上面跑的程序)也扮演重要角色。

图灵再度清楚说明这个概念:「我们不需要靠无数的不同机器来完成不同的工作。」他在1948年写道:「只需要一部机器就够了。在办公室为通用机器『设计程序』来完成这些工作,取代了为执行不同工作而要生产不同机器的工程问题。」

理论上,像ENIAC这样的机器应该可以程序化,甚至当成通用机器来使用。但实际上,载入新程序的程序非常辛苦,包括必须动手一一拔除连结电脑中不同单元的电缆。战时打造的机器无法以电子速度转换程序,因此催生现代电脑的下一个步骤就很重要:设法把程序储存在机器的电子记忆体中。

霍普—胆识过人的程序设计先驱


▲ Grace Hope(右二)与 UNIVAC(照片来源:Public.Resource.Org)

从巴贝奇以降的电脑发明者都把焦点放在硬件上。但二次大战期间参与计算工作的女性和爱达一样,很早就看出程序设计的重要。她们设法把指挥硬件作业的指令编成程序码,软件中蕴含的神奇程序,能以奇妙的方式改变机器的作业。

这群程序设计先驱中,故事最缤纷有趣的是胆识过人、活泼迷人的海军女军官霍普(GraceHopper),她先是为哈佛大学的艾肯工作,然后又加入艾科特和莫渠利的团队。她在大学时代主修数学和物理,从瓦萨学院毕业后,进入耶鲁大学攻读研究所,并且在 1934 年拿到数学博士的学位。

出人意料之外的是,霍普的教育过程在当时其实不算太不寻常。耶鲁大学在1895 年首度颁发数学博士学位给女性,而她是第十一位获颁耶鲁数学博士学位的女性。女性数学博士在 1930年代并不算太罕见,尤其如果她们出身名门的话。事实上,比起后来的世代,霍普成长的年代更常见到女性数学博士。

1930年代,美国有113位女性获得数学博士学位,占美国数学博士总数的15%。但到了 1950 年代,只有 106 位女性获得数学博士学位,只占总数的 4%。(到了二十一世纪的最初十年,情况已大幅好转,那段期间美国总共有 1,600 位女性获颁数学博士学位,占总数的30%。)嫁给比较文学教授文森.霍普(Vincent Hopper)之后,葛瑞丝.霍普到瓦萨学院任教。

和其他数学教授不同的是,她坚持学生必须具备良好的写作能力。她上机率课时,会先讲解自己最爱的数学公式,然后要求学生以此为题写一篇文章。她批改时,也会就文章清晰度和写作风格来评析。

「我(在文章上)写满评语,而他们会抱怨这是数学课,又不是英文课,」她回忆道:「然后我会解释,除非他们懂得怎么和别人沟通,否则学习数学毫无用处。」终其一生,霍普一直很擅长把科学问题(例如有关轨道、流体流动、爆炸、天气型态的问题)转换为数学方程序,然后再翻译成一般人听得懂的英文。这项才能也帮助她成为优秀的程序设计师。

霍普的长处是很懂得把现实世界的问题转化为数学方程序,然后用机器能够了解的方式下达指令,和机器沟通。「我学习海洋学的术语,还有和扫雷、***、近发引信及生医领域相关的种种词汇,」她解释:「我们必须学习他们的用语,才有办法解决他们的问题。我可以随时转换词汇,先用高度技术性的术语跟程序设计师沟通,然后几小时之后,再用完全不同的词汇向主管报告相同的事情。」要成功创新,有赖于清楚的沟通。

由于霍普清晰準确的沟通能力,艾肯指派她撰写电脑程序设计手册,这是全世界第一部程序设计手册。有一天,艾肯站在霍普的办公桌旁,对她说:「妳要写一本书。」

「我没办法写书,」霍普回答:「我从来没有写过书。」

「妳现在加入海军了,」艾肯说:「妳要撰写一本书。」

结果霍普写出一部厚达五百页的巨着,裡面包含了马克一号的发展史和程序设计指南。霍普的引言就从巴贝奇开始说起。她和爱达一样,知道巴贝奇分析机有一种特质,也就是她和艾肯所深信,马克一号有别于其他电脑的特质。艾肯的马克一号和巴贝奇未完成的机器一样,藉由打孔纸带接收源源不绝的指令,可以透过重新编程,传达新的指令。

霍普每天晚上都把当天撰写的内容唸给艾肯听,她因此领悟到成为优秀写手的简单诀窍,她说:「他指出,如果你大声朗读时,会结结巴巴读不顺,那么最好修改句子。我每天都得朗读五页我写下的内容。」于是,她写的句子变得简洁、生动、清晰。霍普和艾肯成为最佳拍档,活生生是百年前爱达与巴贝奇的现代翻版。霍普愈深入了解爱达,就愈认同她。「她写了第一个程序迴圈,」霍普说:「我绝对不会忘记这点。我们都不会忘记。」

霍普撰写的电脑发展史偏重个人,所以她的书强调个人角色。反之,在霍普的着作完成后没多久,IBM的主管也推出自己的马克一号发展史,把大部分功劳都归诸在纽约恩狄考特建造机器 IBM 团队。「以组织歷史取代个人歷史,最符合IBM的利益,」曾深入研究霍普的史学家拜耳(Kurt Beyer)指出:「根据IBM的说法,公司才是科技创新的所在。组织裡的工程师团队扮演无名英雄,逐步推动进步,取代了独自在实验室或地下室埋首研究的激进发明家。」

在 IBM 版本的歷史中,马克一号涵盖的一长串小创新(例如棘轮式计数器和双层馈卡机制等),都要归功于一群工程师在恩狄考特默默耕耘、通力合作所促成的。

霍普版的歷史和IBM版之间的差异,其实不只关乎谁功劳最大的争议,而隐含了更深远的意义,进一步暴露出双方的创新史观在根本上的差异。和霍普一样,有些科技相关研究也强调创意十足的发明家推动了跳跃式的创新。其他研究则强调团队和组织的角色,例如贝尔实验室工程师的努力,以及IBM恩狄考特团队的合作成果。后者试图说明,有些科技突破也许表面看来像是灵光闪现后的大跃进,实际上却是逐步演进的结果,等到各种想法、概念、技术和工程方法都同时酝酿成熟时,才一举毕其功。这两种科技发展史观都不够完善。事实上,数位时代大部分的伟大创新,都仰赖拥有高度创造力的个人(莫渠利、图灵、冯诺伊曼、艾肯等),和有能力实现创意的团队之间的良好互动。

霍普在哈佛大学开发出来的其中一种程序是「次常式」,是为了特殊工作而编写的大段程序码,可暂时储存起来,在主程序某个部分需要用到时再叫出来使用。「次常式是明确、简洁,而且通常一再重复的程序,」她写道:「哈佛的马克一号包含了为 sin x、log10x、10x 设计的次常式,每个次常式都用一个作业码来唿叫。」

爱达在关于分析机的评注中,最先描述了这个概念。霍普累积了许多这类次常式。她为马克一号写程序的时候,也发展出「编译器」(compiler)的概念,她发明一种程序,能把源码转译为不同电脑处理器使用的机器语言,加速了为多部机器撰写相同程序的过程。

除此之外,「bug」(错误和「debug」(除错)这两个词,也在霍普团队推波助澜下,成为电脑界的流行用语。当时打造马克二号电脑的哈佛建筑物没有装纱窗。有一天晚上机器突然故障,工作人员开始检查究竟哪裡出问题。他们发现有一隻翅膀达四公分宽的大飞蛾卡死在电机继电器中。于是他们取出飞蛾,把牠用胶带黏在对数表上,并在实验日誌中记下:「面板F,(飞蛾)在继电器中。找到第一隻真正的虫(bug)。」从此他们就把侦错和除错称为「debug」。

电脑创新者和其他开路先锋一样,如果在半途卡住了,很容易从超前变落后。执着和专注等特质令他们创造力丰沛,但是面对新观念时,他们也可能因为相同的特质而抗拒改变。贾伯斯的执着和专注十分有名,然而当他领悟到必须改弦易辙时,他会突然改变主意,令同事眼花撩乱,困惑不已。艾肯却缺乏这种灵活应变的能力,只是一味凭着海军指挥官的本能,采取中央集权的管理方式。

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

    关注

    142

    文章

    8897

    浏览量

    144942
  • 编译器
    +关注

    关注

    1

    文章

    1617

    浏览量

    49023
  • 程序设计
    +关注

    关注

    3

    文章

    261

    浏览量

    30358
收藏 人收藏

    评论

    相关推荐

    AI编程工具会不会抢程序员饭碗

    AI编程工具可辅助编程,减少手动编码,提升效率,对程序员有积极影响也有挑战。程序员需深化技能、拓宽知识应对。长远看,AI与人类程序员将共生共荣。
    的头像 发表于 11-08 10:17 72次阅读

    第五届长沙·中国1024程序员节开幕

    据官方媒体报道,10月24日;  第五届长沙·中国1024程序员节在湖南湘江新区开幕;本次中国1024程序员节以“智能应用新生态”为主题。设置有岳麓对话、技术英雄会、主题峰会及赛事、展览等活动,一场
    的头像 发表于 10-25 15:42 145次阅读

    京东上万程序员都AI用它!

    对大模型生成代码进行智能修复,为程序员开启代码漏洞修复的“自动驾驶”模式,不但减少人工接入、提高工作效率,更为企业抵御内外部各种攻击构建起一道坚固的安全屏障,确保业务的连续性和稳定性。 JoyCoder是京东云自主研发的一款辅助开发人员
    的头像 发表于 07-17 16:29 218次阅读
    京东上万<b class='flag-5'>程序员</b>都AI用它!

    程序员节视频创意大赛,用串口屏赢取千元大奖

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-08 10:38 72次阅读
    <b class='flag-5'>程序员</b>节视频创意大赛,用串口屏赢取千元大奖

    程序员节视频创意盛宴,邀您共襄盛举!

    10月24日,程序员专属的节日里,我们盛大开启“程序员节视频创意大赛”特别活动!这不仅是一场视觉的盛宴,更是智慧与创意的璀璨碰撞。我们诚挚邀请每一位程序员及编程爱好者,拿起你的镜头,记录下那些平凡日子中的不凡瞬间,让编程的魅力与
    的头像 发表于 07-04 09:00 67次阅读
    <b class='flag-5'>程序员</b>节视频创意盛宴,邀您共襄盛举!

    助力程序员告别困扰已久的梦魇-Bug

    程序员的噩梦是什么?不用怀疑,就是让你加班到崩溃的Bug!下面是经过业界大佬们“长期加班”积累的小妙招,助力你离早下班又进一步~一、定位Bug范围及性质要有效解决问题,首先要缩小范围,集中关注最近
    的头像 发表于 07-02 08:10 257次阅读
    助力<b class='flag-5'>程序员</b>告别困扰已久的梦魇-Bug

    大模型时代,程序员当下如何应对 AI 的挑战

    随着 AI 技术的飞速发展,特别是大模型的出现,传统的程序员角色正在经历深刻的变革,我们不得不重新对自己进行审视和思考。 通用领域大模型的“泛化能力” 在过去的二十年内,AI 领域的大部分研究
    的头像 发表于 06-28 16:19 494次阅读
    大模型时代,<b class='flag-5'>程序员</b>当下如何应对 AI 的挑战

    适者生存,程序员最终会流向哪……

    程序员没有永远的护城河!!就目前的互联网大环境来看,it行业已经是……
    的头像 发表于 03-11 17:11 382次阅读
    适者生存,<b class='flag-5'>程序员</b>最终会流向哪……

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

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

    瑞萨Flash程序员V3 发布说明

    电子发烧友网站提供《瑞萨Flash程序员V3 发布说明.pdf》资料免费下载
    发表于 02-19 09:37 1次下载
    瑞萨Flash<b class='flag-5'>程序员</b>V3 发布说明

    2024程序员的未来方向如何走?还看今朝

    这几年的IT行业想必大家已经感受到了,Android、Java、前端等等程序员都经历了大厂……
    的头像 发表于 02-02 09:45 765次阅读
    2024<b class='flag-5'>程序员</b>的未来方向如何走?还看今朝

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

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

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

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

    程序员表白程序

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

    嵌入式程序员应知道的几个基本问题

    电子发烧友网站提供《嵌入式程序员应知道的几个基本问题.pdf》资料免费下载
    发表于 11-20 11:21 0次下载
    嵌入式<b class='flag-5'>程序员</b>应知道的几个基本问题