上古时期程序员在没有Google的情况下怎样编程的?

本文讲述早期程序员的编程情况。初期计算机无键盘鼠标,靠开关和灯操作,需手写汇编代码、人工寻址,代码转为十六进制手动输入。后来有了纸带、磁带,用打孔卡片保存程序,调试靠人肉。再后来有了能实时编译测试的设备,还出现了类似互联网的USENET。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在计算机刚被发明的初期,那时候还没有互联网,更不用提IDE、丰富的在线文档、Google和Stack Overflow了,那么当时程序员是怎样编程的呢?

前几天恰好看到国外老哥写的一篇文章讲解了这个问题,其内容很有意思,这里翻译一下(注:本文略有改动)。

以下为正文:

关于上古时期程序员编程这个话题,我想我得从头开始讲起,当我开始编程时使用的计算机是这样的:

图片

是的,你没有看错,当时的计算机没有键盘也没有鼠标,你能看到的只有一些开关和灯,那么你怎么知道该打开或者关闭哪些开关吗?它们的含义又是什么?

你可能会问没有键盘也没有鼠标,那么程序写在哪里呢?很显然你需要一些朴实无华的介质:

图片

当想用代码解决某个问题时,你必须手写汇编代码,然后纯手工在内存中找到存储数据和代码的位置,即人工寻址,而且你的内存只有1024字节,这在现代程序员看来简直不可思议。

这还不算完,写好代码后还需要转为手动转为十六进制,检查无误后输入到这台设备运行。

这一时期根本没有像现代的磁盘一样的持久存储设备,当然除了纸之外,每次运行程序时你都需要手工输入这个设备。注意,是每一次!不过这个时期很快就过去了,纸带的时代到来了。

图片

这东西噪声很大,也不可靠,但比每次纯手工输入好多了,那时打印机以及键盘还没有什么用,然后我自己制作了一个IO卡,接到了这个小东西上面:

图片

可以用磁带加载以及存储程序,足足每秒有110比特,简直神速,不过这个过程依然很痛苦。

后来BASIC让编写真正的程序成为可能,磁带开始真正的存储程序,在大学里你开始能见到这些东西:

图片

还有很多的这个:

图片

以及很多很多这些书:

图片

需要持久保存的程序开始放在装满打孔卡片的盒子里,这一时期你依然不能在机器上写代码或者调试代码,调试代码需要人肉debug——在你的大脑里运行代码,而不是在计算机中,改一下代码到看到运行结果的时间以小时计算。

需要的资料多的惊人,在某计算中心有一整间屋子用来存放关于计算机系统方方面面的资料,从地板堆到了天花板。

我个人则有60多本书,涵盖了一些编程语言的实现细节,还有关于操作系统以及课程所需要的教科书等。

这一时期根本没有现在的在线社区,最接近Stack Overflow的就是跑到办公室的公共空地上对所有人喊一声“谁知道某某某是什么意思”,然后内心期待着没有人会因为这么简单的问题嘲笑你。

之后这个东西出现了:

图片

而且能连接到:

图片

更棒的是,这堆由开关组成的东西上运行着:

图片

是的,运行着Unix!

现在你可以把程序保存在计算机上,当你写代码时可以在屏幕上看到,而且还能在计算机上实时的编译和测试,是实!时!的!这简直就是程序员的天堂,难怪那时我写了那么多的代码。

之后的“互联网”,好吧,还不是现在的这个互联网,而是USENET出现了,你可以在新闻组以及ARPAnet邮件列表里喊一声“谁知道某某某是什么意思”。当然,你依然会在内心里期待没有人会因为一个显而易见的问题来嘲笑你,此时会有一些来自MIT(麻省理工)、或者CMU(卡内基梅隆大学)以及Berkeley(伯克利)的家伙回答你的问题。

这之后计算机革命开始了,我的故事也讲完了。

来源:码农的荒岛求生

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值