【CSDN 编者按】1969年,人类第一次登月,计算机功不可没。那么50年前的程序员是则那样编程的呢?这位 72 岁的女程序员说:铅笔写代码,打印机打印。

来源 | ilikebigbits.com

译者 | 风车云马,责编 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

以下为译文:

2018年12月,我的母亲玛丽安·埃尔纳费尔特(Marianne Ernerfeldt)接受了我的采访。她是一位早期从事编程的女程序员,你可以想象到,这在当时那个年代是很不可思议的事情。

Punch cards

我为什么想成为一名程序员?

在1965-1966年间,我决定成为一名程序员。因为我在一篇文章上看到一幅编程的流程图,感到这个职业很适合我。

1967年,我高中毕业时,那时还没有大学教授编程的课程。但Solna(索尔纳,位于瑞典)有一个为期6个月的培训课程(后来变成了12个月),且它可以申请学生贷款,所以我参加了。

与此同时,一家垄断企业SJ(瑞典国有铁路公司)发布了招聘实习生的广告,提供为期一年的带薪培训项目,在那可以学习SJ运营的所有不同项目。SJ有一个计算机部门,所以我也申请了SJ项目,希望能在那里工作。

当时有700人申请SJ的50个职位,每个人面临艰难的选择过程和各种各样的测试。我很需要这份工资来买公寓,幸好我经过重重考验了。

当时SJ的管理层发现培训手册同时发给男学生和女学生,他们非常不高兴。毕竟女性在这行并不被人们看好,这个项目录取的女性并不多。

在培训期间,我们参观了SJ的所有部门,了解了火车、铁路通信工作原理(SJ有自己的电线和通信设备)。在1969年,SJ开始了一个内部编程培训项目,我再次申请了。经过多轮测验,我和其他两个女生、一个男孩通过了编程培训。

1976年IBM System/370的参考资料

先进的编程培训

我们首先参观了SJ计算机部门,了解计算机的基本概念。紧接着我们在IBM上课,斯德哥尔摩的一栋大楼里有一台“训练机”。我们班上大概有50-100人,每个房间里有8个人。每个教室前面布置了两个电视屏幕,分别显示老师和黑板上的内容。每个老师大概负责10个教室,每个教室都可以用麦克风和按钮进行提问和作答。

是不是很先进呢?

首先我们学习了一些关于IBM OS的知识,然后我们学习了PL/I,这是IBM自己的编程语言。它是Cobol的一个更现代的版本,具有更高级的特性,比如生成表和查询。所以PL/I在当时是一种比较高级语言,也更简单。可以使用英语单词编写代码,如DO WHILE等。

在第一节IBM课程之后,我在SJ开始了我的第一个实践项目。我们四个人做了一个约会程序,输入男人和女人的特征后,用我们自己发明的算法产生一个匹配。

后来我学了更多的课程,比如汇编。我在这里接受了一周的教育,对我今后的工作受益匪浅。

流程图模板,用于将数据流以及事件发生的逻辑顺序进行可视化

铅笔写代码,打印机打印

我们画好流程图后,用铅笔写完代码,然后用打字机打印出来。打印纸有80列,程序占72列,排序号占8列,所以每一行代码最多可以有72个字符。

我们必须把代码写清楚,这样打字人员才能读懂。打字人员除了打印SJ的时间报告、每列火车行驶的距离等等,还会打印我们的程序代码。

刚开始的时候,程序很小,但后来可能变成几米长的卡片盒。每一行代码打印一张卡,对应每一张卡片有一条指令,所以打字机会把程序打印为成千上万张卡片。

我们还必须创建“控制卡”来区分要编译还是要执行,以及它是什么语言等等。控制卡有一个单独的颜色,上面有程序员的名字,打字员知道最终该把东西还给谁。

然后操作员拿着卡片盒子运行程序。有时我们每天只有一次运行机会,因为我们程序员在机器大厅中拥有的优先级最低。

最后,这些卡片连同“pajama paper”一起返回,其中包含错误代码和行号的列表。

Pajama paper

我们必须创建测试文件,看看程序是否产生了预期的结果。如果没有,我们就用笔和纸思考到底出了什么问题? (那时称为“桌面测试”)。因此,要使程序正确运行可能需要相当长的时间。

我们从一开始就有IBM 360,还有一些更老的机器。后来我们得到了IBM 370。

在70年代末,我们有了终端。

之前我们从来没有自己的终端机,而是共用一个终端机室。当我们想要对程序进行更改时,我们不得不争用终端时间。我们可以在终端屏幕上看到程序,还可以修改它。当时我们有黄色和棕色的Alfaskop终端。在1979年离开SJ之前,我从未拥有过自己的终端机。

Alfaskop 3700

“非专业”出身的程序员同事

SJ的计算机部门大约有40名程序员和系统工程师。我所有的同事都像我一样,在公司内部接受培训,只有少数例外。有几个和我年龄相仿的人参加了我之前提到的索尔纳为期6个月的课程。除此之外,没有其他的方法来学习这个。这是一个全新的职业,有些同事曾经是司机,并且大多数人甚至没有高中文凭。

系统工程师的工作主要与规格、程序的输入和输出等有关。作为程序员,我们是问题的解决者,我们制作流程图并找出解决问题的方法。

在机器大厅里大约有10名机器操作员。他们穿着白大褂,处理磁带存储、磁盘和打字卡。我们很少被允许进入机器大厅的内室。入口处有一个“关门”的牌子。机器厅很大。早期的机器(IBM 1400)占据了10 - 20 m²的空间,后来机器演变为小冰箱那么大小。

在40名程序员中,我们有5到6名女性。我是这群年轻人中的一员,但大多数程序员都比我大10岁左右(我出生于1947年)。在20世纪70年代末,我们招募了一些新员工,他们接受了为期12个月的培训。

在我开始上班之前,我遇到了SJ计算机部门的同事索维格,她告诉我所有女员工的门牌都有写着“Miss X”或“Mrs. X”(小姐/太太),但男员工的门上没有相应的婚姻状况信息。女人们对此非常生气,她们撕掉牌子。所以当他们问我的门牌时:“你也不想要这个Miss/ Mrs.吧?”“不,谢谢。”我说。

我从事的工作

1969年春天,SJ推出了在线预订服务,24/7正常运行时间。它在当时非常先进,完全是用汇编程序编写的。这是SJ真正杰出的地方之一,在瑞典没有其他公司能与我们相提并论。我很幸运能在这样一家敢于冒险的公司。

一旦这些程序创建完成并经过测试,我们就把它们交给其他人。有专人负责维护它们,我们只是编写新的程序,这些程序主要用来收集关于操作的统计数据(例如工资单),然后每个月定期运行。

1979年,在SJ工作了十年之后,我辞职去了银行部门工作。

原文:

http://www.ilikebigbits.com/2019_07_08_programming_in_1969.html

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

【END】

这几个Python技能实战,能让你少些1000行代码!

https://edu.csdn.net/topic/python115?utm_source=csdn_bw

9.5-7日 AI 开发大会(AI ProCon),7位出品人集结国内外60+技术大咖,探秘9大核心技术,深剖行业痛点,亚马逊首席科学家李沐还将亲授「深度学习集训营」,助力开发者实现技术跃迁。

 热 文 推 荐 

☞DOS 入侵、群发邮件、心脏起搏器……病毒攻击简史!

☞我为什么反对 Google 拍卖 Android 搜索引擎选项?

☞传阿里收购网易考拉谈崩;iOS 13 被指涉嫌垄断;新版 Edge Beta 浏览器发布 | 极客头条

☞柬埔寨月薪 4 万敲代码?真相是我差点丢了性命!

ImageNet错误率小于4%,数据量依然不够,N-Shot Learning或是终极解决之道?

☞Python冷知识,不一样的技巧带给你不一样的乐趣

☞kafka系统设计开篇

☞干货!学霸用12个决策模型告诉你,如何判断你到底需不需要区块链!

☞如何写出让同事无法维护的代码?

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

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

我在 1969 年写代码相关推荐

  1. 写代码写到70岁,是一种什么样的体验?

    点击上方 前端Q,关注公众号 回复加群,加入前端Q技术交流群 你听说过年纪最大的程序员,今年多少岁了? 鹅厂马化腾,1971年出生,今年50岁 小米ceo雷军,1969年出生,今年52岁 金山软件创始 ...

  2. 我们采访了三位学生:他们写代码、95 后、来自大陆和台湾

    原创:HyperAI超神经 关键词:学生 开源社区 95后 自古英雄出少年,技术领域也是这样. 1969 年 Unix 在 AT&T 贝尔实验室诞生,不久后 UCB 的两名在校研究生 Bill ...

  3. 全宇宙最强AI 聊天机器人模型ChatGPT惊艳来袭,你还不上车?居然能写演讲稿和帮忙写代码

    目录 1.ChatGPT介绍 2.ChatGPT如何注册,国内不可用 3.VS Code下载安装ChatGPT 3.1 打开VS Code找到ChatGPT 3.2 ChatGPT 详细安装步骤: 3 ...

  4. 史上最美女程序员:手写代码把人类送上月球

    1969年,美国"阿波罗11号"宇宙飞船载着三明宇航员成功登上月球,宇航员阿姆斯特朗踏上月球表面的这一刻,人类实现了千百年来的飞天梦,也成就了那句经典名言--这只是我一个人的一小步 ...

  5. 写代码是人命关天的工作:盘点那些改变世界的代码 ,程序员惊了

    | 本文约 4900 字,阅读约需 3 分钟 | 2009 年,Facebook 推出了一份改变世界的代码--点「赞」按钮.「赞」是包括 Leah Pearlman 和 Justin Rosenste ...

  6. 写代码写到 70 岁,是一种什么样的体验?

    你听说过年纪最大的程序员,今年多少岁了? 鹅厂马化腾,1971年出生,今年50岁 小米ceo雷军,1969年出生,今年52岁 金山软件创始人."中国第一程序员"求伯君,1964年出 ...

  7. 用Macbook-苹果系统写代码出现显示问题Text input context does not respond to _valueForTIProperty:

    Macbook / 苹果系统写代码出现显示问题 当使用Mac系统,在写代码的时候,如果是有一个GUI显示界面,然后你又去点击这个界面.此时,将报错. 我的源代码,是读取图片,显示图片. import ...

  8. server vscode中的live_太方便了!这款神器能在浏览器中运行 VS Code,随时随地写代码...

    最近看到 iPadOS 出来了,各种牛逼的操作真的很有吸引力,于是咬咬牙买了 iPad air.买来之后,当然是研究怎么提高效率了,于是就寻找.研究各种高效的软件.折腾了一段时间,各种 APP 都找得 ...

  9. 写代码可能是成为软件工程师最容易的部分

    当然,写代码是超级重要的,但是我认为它只是整个过程中的一小部分,且不一定是最难学的. 学习如何写代码要花些时间,但是只要有足够的训练(每天写代码,坚持数年),你就能真正擅长它. 你知道的,我相信在某种 ...

最新文章

  1. string类具体用法
  2. php上传图片k,PHP fastcgi模式上传大文件(大约有300多K)报错,
  3. [YTU]_2911 ( 我想放假)
  4. 垂直领域出海,多语言预训练好使吗?
  5. 托管 非托管_如何在托管的Kubernetes上备份Neo4J
  6. 数据结构:(5)算法分析基础
  7. DockerCon 2017报告:企业在关注吗?
  8. R 语言 中的条件推理树
  9. 世界首富马斯克突然吟了一首中文诗
  10. C++与UMG的交互
  11. 什么是API接口平台?作用是什么?
  12. 【Javascript】获取当前网站协议,域名,完整域名.
  13. [导入]n73手机拼音输入法
  14. 真人语音朗读软件_影视解说视频配音,抖音配音,微课配音,实用免费配音软件,文本朗读,一键文字转语音,媲美真人的配音软件...
  15. BC57F68与CSR8645区别对比
  16. 五步看平台,选好安全的MT4交易外汇平台
  17. 度过不完美的2021年,港股食品股如何修复市场信心?
  18. C++ STL之查找函数总结
  19. jquery ---to be continued
  20. 服务器被挖矿重装系统可以吗,电脑被挖矿了需要重装系统_我网上买了一个重装系统U盘重装系统之后电脑里有一个恶意挖矿软件请问把这个卸载了就可以了吗_区块链百科...

热门文章

  1. C#自定义数字格式字符串
  2. python不能安装的问题_无法安装pythoncolam
  3. cv2读取np的矩阵图片,numpy数组clip和astype,查看数据类型array.dtype
  4. leetcode python3 简单题100. Same Tree
  5. python批量下载b站_python 批量下载bilibili视频的gui程序
  6. python os write_Python os.write() 方法
  7. 搜索二维矩阵II(分治法和蛇行)
  8. 强化学习的数学基础4---Q-Learning进阶
  9. ARP攻击的心得体会
  10. 华为员工利用Bug越权访问机密卖给第三方,获利1.6万元,被判有期徒刑一年...