Answers:
大约在1974年,您将坐在一张方便的桌子上,用手写在纸上写程序。您可以通过使用测试数据在脑海中穿行进行测试。如果您对自己的程序正确无误感到满意,就去打孔卡室,将程序转录到打孔卡上,每张卡一行80个字符。您还将对程序可能需要的任何数据打孔卡。然后,您还将用作业控制语言(JCL)打一些难以置信的加密卡,这些卡将告诉计算机如何编译和运行程序以及它将使用什么输入/输出设备。然后,将卡带到“ IO窗口”,在此处将其交给业务员。
轮到您时,店员会将您的卡装到料斗中,然后按一下按钮告诉计算机开始读取它们。程序的输出通常会发送到行式打印机或鼓式绘图仪。程序完成后,店员会收集您的卡,并输出纸质副本,然后将它们放在鸽子的洞中,以便您拿起它们。您将选择输出,查看结果,然后重复该过程。一个完整的周期可能需要20分钟到24小时。您可能会想象,当您发现唯一的输出是来自编译器的打印消息,告诉您程序存在语法错误时,您并不高兴。
您可能还可以通过电传打字机访问计算机,因此实际上可以与远程计算机进行交互式会话。但是,在电传打字机上打字会很痛苦(非常僵硬的键和很大的声音),因此您通常还是要先在纸上编写和测试程序。
到1976年,UNIX系统和微型计算机(如PDP 11-70)变得越来越普遍。您通常在一个装有25x80字符显示器的视频终端的房间里工作。这些通过串行线连接到计算机。粗略,但与今天在命令提示符下工作没什么不同。当时的大多数编辑都很cr脚。Vi是一个了不起的改进。
1975年,我十几岁(我出生于1959年)在PL / 1(在IBM 370/168上)学习编程。我有幸有一位父亲在IBM France工作。他的老板M. Dornbush用法语写了一本书,讲的是PL / 1中的编程。
当时,一个程序(由学习编程的人完成)是一包几百张打孔卡。Charles E.Grant的答案描述了该过程:您首先在纸上编写了程序,然后仔细检查了程序。然后,您在IBM29 钥匙打孔机上打了卡,最后将卡架放入打孔的读卡器中。请注意,那时的源程序很小(一个有数千条语句的程序,即打孔卡是一个很大的程序)。
十几岁的时候,PL / 1检出编译器的功能给我留下了深刻的印象,尤其是建议对错别字进行更正。
在接下来的几年中,我在巴黎的德古维特宫科学博物馆里使用了一台旧的CAB / 500计算机和一台IBM / 1620计算机(这两台计算机都够老了,可以放在博物馆里)。CAB / 500于1960年代生产,当我还是婴儿(1958年至1962年)时,父亲写了它的PAF编译器(一种BASIC语言)。
今天,我仍在从事与编译器相关的工作(MELT),并且是可以声称他看到自己的父亲在编写编译器的少数人之一!
在CAB / 500上使用PAF的有趣之处在于它的交互式编辑器(带有物理tty和打孔磁带)能够完成(在关键字上)。它有点像原始的IBM PC,某种程度上是“个人计算机”。
IBM / 1620的有趣之处在于,您必须通过在键盘上输入一些数字来引导它,以加载监视器和Fortran编译器。
请注意,在1950年代,有些计算机甚至还没有打孔的读卡器(AFAIK在IBM650和IBM7094上是可选的),但是我从未见过。
还请注意,在1970年代中期访问计算机是一项巨大的特权(因为它们是昂贵的设备)。也许今天等效的方法可能是使用硅制造机器或数据中心规模的计算能力。
这取决于您要走多远。
最早的“编程”使用了看起来像这样的打孔卡(就是cobol)他们用很少的任何交互作用(特别是电气)将代码编写出来,然后(当他们真正有机会的时候)将它们馈入一台计算机进入建筑物,以便代码运行一会儿并吐出某种形式的打印稿。通常会有很多其他人想要使用同一台计算机,因此您必须在任何地方等待几天(如果真的很忙)才能获得结果,这通常不会完全没用(您认为现在遇到语法错误可能会令人沮丧。试想一下,如果您必须完全重写代码的一部分,然后等待一天来编译它)。因为计算机非常稀缺,所以他们不必花太多时间检查输入,也不需要进行可用性测试或任何其他关键测试。
当PDP和等效项变得更加普遍时,程序员(特别是在大学环境中)将把他们的代码写在纸上,然后用PDP预定时间来键入他们的代码并运行几次。除非他们在早上的一小段时间内工作,否则他们没有太多时间,所以人们整夜熬夜只是为了让他们的代码能够正常运行,这种情况并不罕见,而且“真正的” PDP上的时间有限(或等效)导致许多小组建立自己的克隆,以获得更多时间。
杰里·温伯格(Jerry Weinberg)不久前在他的一个博客中回答了类似的问题:http : //secretsofconsulting.blogspot.com/2008/12/how-we-us-us-to-do-unit-testing.html
我认为这可能为您的问题带来一些启示。