我妈 1969 年学编程,那时候程序员是怎样写代码的
副标题[/!--empirenews.page--]
前段时间,人类登月 50 周年,我们推送阿波罗飞船制导软件的负责人 Margaret Hamilton 的文章,她是上世纪六七十年代的先锋人物。 此外,我们还在微博发了另外一个阿波罗计划女程序员的故事,母女两代都是程序员。 (有人误解成 Lin Clark 的妈妈是 Margaret,其实不是) 今天在 Reddit/programming 看到一篇热文,看标题的第一眼,我以为又是和阿波罗计划相关的故事。 打开后发现,虽然不像阿波罗计划故事那样伟大,但还也是一个两代都是程序员的故事。那个时代,大学里都没有编程课,我们可以从中了解到当年第一批程序员是怎么样学习和工作流程…… 原作者 Emil Ernerfeldt 是一个瑞典斯德哥尔摩程序员,他妈妈 Marianne Ernerfeldt 出生于 1947 年,高中没毕业时就想当程序员。该文是 Emil 在 2018 年 12 月采访妈妈所写。 为什么你想当程序员? 大约是 1965~1966 年,我决定成为一名程序员。我读过一篇文章,上面有一幅流程图,看到我就想“这个适合我”。 1967 年我高中毕业,那时候的大学还没有教编程,但索尔纳有一个为期 6 个月的课程,后来变成了 12 个月的课程。而且我有资格申请学生贷款,于是我就申请了。 与此同时,瑞典的国有铁路公司 SJ 发布了招聘实习生的广告,提供为期一年的带薪培训项目,你可以学习了解 SJ 运营的所有不同部门。SJ 有一个计算机部门,所以我也申请了,希望能进。 然而,SJ 的 50 个实习生名额,结果有 700 人申请,所以有一个复杂的筛选过程和各种各样的测试。最终我进去了! 还要说一句,当 SJ 管理层发现实习生项目手册同时发给了男学生和女学生时,他们非常不高兴!被录取的女性并不多,但我们是少数。 在培训期间,我们参观了 SJ 的所有部门,了解了从火车和铁路到通信工作原理(SJ有自己的电线和电话线)。一年之后,我从实习生转正了,但那是一份无聊的工作。 终于在 1969 年,我听说 SJ 开始了一个内部编程培训项目,所以我申请了。经过更多的测试,我和另外三个人在 1969 年开始编程培训。我们是两个女生和两个男生。 (1976 年的 IBM System/370 ) 编程培训是怎么样的? 首先,我们参观了 SJ 公司的计算机部门,并拿到了计算机是什么的纲要等材料。然后我们在 IBM 上课,IBM 在斯德哥尔摩的一栋大楼里有一台“训练机”。我们班上大概有50~100人,但我们被分开了,每个教室里有 8 个人。教室前面有 2 个电视屏幕。老师在另一个房间,每个老师大概对应 10 个教室,每个教室的人都可以用按钮吸引注意力,然后用麦克风提问。超现代的! 首先我们学习了一些关于 IBM OS 的知识,然后我们学习了 PL/I,这是 IBM 自己的编程语言。它是 Cobol 的一个更现代的版本,具有 Cobol 还没有(但以后会有)的特性,比如生成表和查询。所以 PL/I 在当时是一种更好的编程语言,也更简单。可以使用英语单词编写代码,比如 DO WHILE 等。它是一个非常好的编程语言! 在瑞典,政府机构处于数据处理的最前沿,银行和其他机构远远落后。因此,在 IBM 的课程中,虽然大多数是来自其他机构的人员,但 SJ 处于最前沿。 在学完第一个 IBM 课程之后,我回到了 SJ,开始了我的第一个实践项目。我们四个人做了一个约会程序,你可以输入男性和女性的特征,然后用我们自己发明的算法计算匹配,然后我们开始编写项目代码! 后来我学了更多的课程,比如汇编。我们有一位主管在工作中帮助我们。 (我画流程图的模板) 你的工作怎么样? 我们先画流程图,然后用铅笔写代码。然后把代码交给打孔机,代码将被打孔到打孔卡上。打孔卡有 80 列,其中 72 列用于代码,8 列用于排序,所以每一行代码最多可以有 72 个字符宽。 (程序员的那些事 注:打孔卡有 80 列,这个 80 是不是很熟悉呢? 现在有些编程规范中,仍然在强调每行代码不要 80 个字符。) 你必须把代码写清楚,这样操作打孔机的女性才能读懂。在 SJ 工作了几年之后,我们找到了几个专门负责读取我们代码的人,他们真是帮了大忙。他们主要会打数据卡:来自 SJ 的时间报告、每节火车车厢行驶了多远等等。打孔机看起来像一台普通的打字机,可以在卡片上打孔。在每一列上面,它还将以明文输入字母。 (IBM 的打孔卡) 我们也曾经在打孔卡上放蛋糕,所以打孔卡的用途很广的。 (编辑:葫芦岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |