我在1969年写代码

『杭电1969』Pie #include<bits/stdc++.h> using namespace std; double a[10005]; void init() { for(int i=0;i<1005;i++) { a[i]=0.0; } } int main() { int t; while(~scanf("%d",&t)) { while(t--) { init... 阅读详情


大数据文摘授权转载自程序人生


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


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工作了十年之后,我辞职去了银行部门工作。



美国人口统计数学建模数据集(1969~2008年) 本文还有配套的精品资源,点击获取 简介:本压缩包提供了一个涵盖1969至2008年间美国人口统计数据的数学建模数据库,包括人口数量、年龄结构、性别比例、种族分布等关键指标。数据适用于研究社会变迁、评估人口政策和预测人口趋势。数学建模方法可用于时间序列分析、回归分析、人口预测、老龄化研究和空间统计等。包含的文件有数据说明和可能的数据源链接,为深入研究提供了丰富的资源。 ... 阅读详情

相关推荐

告别‘抓瞎’:CANoe的Trace、Graphics和Logging窗口实战技巧,高效分析总线故障

本文深入解析CANoe的Trace、Graphics和Logging窗口实战技巧,帮助工程师高效分析总线故障。通过智能过滤、可视化监控和智能日志管理,构建系统级问题定位工作流,显著提升车载网络故障排查效率。

weixin_42709044的博客 292

我妈 1969 年学编程,那时候程序员是怎样写代码的

(给程序员的那些事加星标)原创:程序员的那些事(id:iProgrammer)前段时间,人类登月50 周年,我们推送阿波罗飞船制导软件的负责人 Margaret Ham...

程序员的那些事 1130

《科研伦理与学术规范》 全部 习题_答案 2020年秋

科研伦理与学术规范 答案 文章目录科研伦理与学术规范 答案1. 第一章课后习题(必做) 答案1.1 第一章Demo2. 第二章课后习题(必做) 答案3. 第三章课后习题(必做) 答案4. 第四章课后习题(必做) 答案5. 第五章课后习题(必做) 答案6. 第六章课后习题(必做) 答案 # 每行5题 #写于2020.11.17 侵删 1. 第一章课后习题(必做) 答案 ABC, A, B ,D ,ABCD ABC, D, A, BCD, C D, D, 1.1 第一章Demo

羊老羊 25万+

计算机发展15件重大事件(图说)

** 计算机发展15件重大事件(图说) ** 链接:https://vision.xitek.com/famous/201001/28-36559.html 一、1946年,第一台电子计算机“埃尼阿克”问世。 二、 1976年,苹果电脑Apple I现世。 三、1981年,IBM个人电脑产生。 四、 1981年,第一款便携电脑Osborne 1诞生 五、 1983年,惠普发布首款超越时代的触摸屏电脑HP-150。 六、 1997年,IBM“深蓝”超级计算机问世 七、2007年,苹果iPhone问世。

hao88265635的专栏 1万+

matlab内读取文件目录时斜杠和反斜杠的使用

@matlab内读取文件目录时斜杠和反斜杠的使用TOC matlab内读取文件目录时,斜杠和反斜杠的使用 最近被斜杠和反斜杠弄晕了,于是总结了一下,在此和大家分享一下。 代码 clear; clc; close all; I1= imread('..\zs1.jpg'); %和代码文件夹同目录的图片 (纯反斜杠) I2= imread('../zs2/zs2.j...

weixin_44456694的博客 6572

python爬虫自动下载网页链接

需求分析 今天遇到一个简单的需求,需要下载澳大利亚电力市场NEM日前市场的发电商报价数据(http://nemweb.com.au/Reports/Current/Next_Day_Offer_Energy/),页面观感是这样的: Ctrl + F 一下,看到一共有395个zip链接。于是就想着用python爬虫自动下载。这个网页很简单,没有验证码,甚至不需要登录,因此自动下载的pytho...

da_kao_la的博客 1万+

C语言的历史与发展

C 语言从 UNIX 实验室走向全球,不仅塑造了现代软件生态,也为计算机科学奠定了重要基础。其设计哲学。

2401_85409229的博客 1276

LSF0108 level shift设计使用及debug流程

目录 初版设计 测试出现的问题1 解决问题(尝试1) 测试出现的问题2 解决问题2-1 解决问题2-2 单Port测试结果 所有Port均连接测试结果 初版设计 此电路的应用场景在于将LCD屏幕连接到FPGA上,进而通过FPGA中设计的硬件电路来驱动LCD屏幕,验证数字硬件电路设计的正确性。因此需要一个转接板位于FPGA和LCD屏幕之间,将二者连接起来。 转接板的硬件电路设计主要存在以下需求: 实现3.3V和1.8V之间的同时双向逻辑转换(LCD屏幕电平为3.3V,FPGA电平为1.

moshanghongfeng的博客 7562

我在 1969 年写代码

【优快云 编者按】1969年,人类第一次登月,计算机功不可没。那么50年前的程序员是则那样编程的呢?这位 72 岁的女程序员说:铅笔写代码,打印机打印。 来源 | ilikebigbits.com 译者 | 风车云马,责编 | 伍杏玲 出品 | 优快云(ID:优快云news) 以下为译文: 2018年12月,我的母亲玛丽安·埃尔纳费尔特(Marianne Ernerf...

优快云资讯 1501

【Bug已解决】Codex CLI 运行时出现 command not found: codex 解决方案

方案适用场景推荐指数修复 PATH 配置最常见的基础排查方向⭐⭐⭐⭐⭐检查原生二进制完整性PATH 正常但执行仍然异常⭐⭐⭐⭐统一包管理器混用多种包管理器导致混乱⭐⭐⭐⭐确认安装脚本未被跳过CI/CD 或企业策略环境⭐⭐⭐⭐排查网络下载渠道企业内网/受限网络环境⭐⭐⭐需要留意 warning 中是否涉及脚本执行失败、网络超时重试等信息,这类 warning 往往是后续问题的前兆,建议出现明显的下载/网络相关警告时就主动重新安装一次确认。Codex CLI 报。

一键难忘的博客 1万+

GFPS技术原理(一)-简介

GFPS(谷歌快速配对服务)利用BLE技术简化设备配对流程,相比传统方式大幅提升用户体验。首次配对时,设备广播包含型号ID和安全密钥的BLE信号,手机检测后弹出配对通知,用户点击即可完成安全连接并将设备与Google账户绑定。该技术支持跨设备同步、电量显示、找回设备等功能,后续配对更加便捷。GFPS通过BLE实现快速发现、一键配对和安全连接,结合Google后端服务提供元数据支持,已成为出海设备的认证标准。其核心优势在于简化操作步骤并增强功能性,特别适合非技术用户群体。

十多年蓝牙协议软件开发,擅长蓝牙协议分析 2061

计算机发展史

计算机发展史早期 1854年-1890年 1890年-20世纪早期 20世纪中期 20世纪晚期-现在 计算机发展史 现代电子计算机技术的飞速发展,离不开人类科技知识的积累,离不开许许多多热衷于此并呕心沥血的科学家门的探索,正是这一代代的积累才构筑了今天的“信息大厦”。下面这个按时间顺序展现的计算机发展简史,虽然不是很详细的描述这一辉煌历程,但我们同样可以从中感受到科技发展的艰辛及科学技术的巨大推动力。 一、机械计算机时代的拓荒者 在西欧,由中世纪进入文艺复兴时期的社会大变革,大大促进了自然科学技术的发展,人

Yao,Mane 2294

Python实现商品价格监控与波动分析爬虫项目

本文通过完整的代码示例和详细的技术讲解,展示了如何实现商品价格的自动监控和波动分析。该项目不仅适用于个人购物助手,还可以扩展为商家的竞品监控工具。通过结合数据抓取、存储、分析与可视化,能够帮助我们更好地理解市场趋势并做出优化决策。

2201_76125261的博客 1742

每10年一次的“开发者淘汰战”,自1969年就已开局!

Stephan Schwab 在《Why We’ve Tried to Replace Developers Every Decade Since 1969》一文中回顾了过去五十年软件开发的迭代历程——从阿波罗计划手写导航软件的壮举,到 COBOL、CASE 工具、Visual Basic,再到今天的 AI 编程助手,他深度分析了为什么试图“替代开发者”的梦想总是反复出现。通过剖析这一模式,我们不仅能理解工具如何改变开发方式,更能看清软件工作的本质:复杂性不可消解,而真正的核心,是人的思考。

优快云资讯 2320

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

CF1969E Unique Array 题解

CF1969E Unique Array 题解

Zq_water的博客 987

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

洛谷P1969积木大赛

洛谷P1969积木大赛 思路: 当a[i+1]>a[i]的时候,ans=ans+(a[i+1]-a[i])。小于的时候不用管,因为会和之前高的一起建好。 代码: #include<bits/stdc++.h> #define pii pair<int,int> #define ll long long #define cl(x,y) memset(x,y,sizeof...

Z7784562的博客 368

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Pie--hdu1969(二分法)

二分法查找,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。 二分法查找的思路如下: (1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。 (2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。 (3)如果某一步数组为空,则表示找不到目标元素。 二分法查找的时间复杂度O(logn)。 首先对一...

wait 502

CF1969F-Card Pairing【dp】

当我们走到一个位置我们手上只有两个牌的出现次数是偶数次,那么如果我们之前丢掉这两张牌就会进入到一个新的手上所有牌类型都不同的状态,此时就可以进行一次转移。考虑到手牌数量和类型数量是一样的,所以我们如果类型没有一样花色的牌那么手上肯定是所有类型的牌都一样,所以此时我们可以确定手牌情况。暴力往后枚举转移,此时我们需要先丢掉两张牌,我们可以先不确定这两张牌,到后面再丢。张牌,然后你每次可以选择两张牌打出然后再抽两张牌,如果类型一样就加一分。张牌后我们如果手上没有类型相同的牌,我们前面最多能拿多少分。

QuantAsk 1058

hdu_1969_pie(二分)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1969 题意:看了老半天,就是有N个饼,要分给f+1个人,每个人只能一样多,不能拼凑,多余的丢弃,问每个人最多能分到多少 题解:将最大的那个饼拿来二分,然后无限逼近满足能分出f+1个相同大小的饼 ,的最大的答案。 #include #include const double pi=acos(-1.

bin_gege的博客 398

NPP 热带森林:巴拿马巴罗科罗拉多,1969-1990 年,R1

NPP Tropical Forest: Barro Colorado, Panama, 1969-1990, R1该数据集包含三个 ASCII 文件(.txt 格式)。其中一个文件提供了巴拿马巴罗科罗拉多岛湿润低地热带森林的净初级生产力(NPP)数据。NPP 估算基于对凋落物积累、树木生长和死亡率以及食草动物取食的实地测量。此外,还报告了地上生物量和叶面积指数(LAI)。另外两个文件提供了现场记录的气候数据。在岛屿中部高原和卢茨流域(1969-1979 年),年平均凋落物积累量(叶片+枝条+其他凋落物)为

此星光明博客 372

NPP 草原:Taullgarnsnaset,瑞典,1968-1969,R1

!!!!df。

此星光明博客 271

洛谷1969 积木大赛 解题报告

洛谷1969 积木大赛 本题地址:http://www.luogu.org/problem/show?pid=1969 题目描述 春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi。在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木)。接下来每次操作,小朋友们可以选择一段连续区间[l...

weixin_30455023的博客 199

洛谷P1969 积木大赛 贪心 差分

洛谷P1969 积木大赛 贪心 考虑差分 对区间 [l,r]+1 在差分数组上相当于 d[ l ]++ ; d[ r+1 ]-- ; 那么你得到原数组的差分数组后 当d[ i ] = x 则你需要 对 以 i 为左端点 右端点未知的一个区间加x次且这x加的可能不是同一个区间 所以最后只要将差分数组中所有正数加上去就行了 同样其实也可以用负数算的,但是负数算的话,要加上...

weixin_34194359的博客 143

洛谷 P1969 积木大赛 —— 水题

题目:https://www.luogu.org/problemnew/show/P1969 看每个高度和前面的关系即可。 代码如下: #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int...

weixin_30216561的博客 63
上一篇: 近50年来最具影响力的10种编程语言,都是谁发明的?
下一篇: 神仙尬聊!哲学马云VS科技马斯克:生活就该每周工作12小时,开特斯拉玩遍三千城市
BigDataDigest
博客等级 码龄9年 448粉丝 500原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值