地穴的故事(来自程序员40年的工作)

1977年,我碰到了一台计算机(当时未使用计算机一词),那只是一门有关机械的课程。 uni进入程序员(系统程序员!)后,Fortran IV的代码为M-20,Algol-60,PL / 1,然后,我们开始...

几年前,我停止了主动编码的活动,只为自己编写了脚本,现在我为一组程序员设置了任务。

不管怎样,在这段时间里,有很多有趣和/或有趣的故事(至少记得),我邀请你在猫下阅读。 故事不一定严格地关于编程,而更多地是关于程序员的生活。

#1


“ Fortran中的标签由数字标识。 例如,您可以编写GOTO21。嘻嘻嘻嘻。” -我几乎不记得有关学习Fortran的所有内容。 从第一次演出起,他(FORTRAN IV)就没有吸引我。 引起人们极大兴趣的是很久以后,当我惊讶地看到它的大多数一对一运算符在许多处理器的团队中实现时。 实际上,为什么他长期以来一直是广播速度和执行速度的绝对领导者(当时他们没有说“编译”,实际上没有)。

#2


没事
-为什么?
-您出现程序错误。
“那么,结果正确吗?”
-是的,但是程序中有错误。 甚至不应该播放
-但是没有广播错误消息,并且结果正确-是否没有错误?
“那不可能。”
-我们是否手工绘制了打印件?
-Nnu,是的,显然,一切都正确。 那是-错误! Algol中的分配是通过:=完成的,您只是有一个等号,这是一个比较。 是的,在这里和这里-根本无法播放该程序。
-但是广播已经通过,结果是正确的!
...
我们挑起了一场有趣的对话。 该行中间的“回车”符号导致该行之前的部分未被打印。 所以打印输出实际上是评论。 转换程序(BESM-4上的TA-1M)忽略了控制字符并处理了真实的源文本。 要产生效果,只需用剃须刀在卡上切几个额外的孔,以使间隙变成CR。

最后,我们被传唤到院长办公室并提出了建议。 我们不是笑话的开创者,不仅我们是编程的新手。 这也适用于一些老师,当时一点也不奇怪。
哦,是的-我们仍然得到了荣誉。

#3


uni之后,立即分发给系统程序员SoyuzEVMkompleks。

工作基本上是这样的:
在EU计算机上安装操作系统。 顺便说一句,这是值得的,2000年本身的操作系统成本和640卢布-安装费用。 有了卢布汇率的尾巴,为了理解,您可以以美元订购相同价格的订单。 显而易见的是,为什么当时的操作系统制造商不喜欢盖茨,因为他的操作系统销售便宜了十倍。

帮助不同CC的程序员查找和纠正程序中的错误。 用不同的语言,包括我实际上不知道的COBOL和我不想知道的BASIC。

帮助电子工程师进行故障排除。

经常需要后者。 EC计算机不仅是越野车,还是多处理器系统。 输入输出由单独的处理器(以单独的机柜形式),其命令系统以及相应的“通道”程序完成。 万一发生故障,仍然有必要弄清楚到底是什么:设备,通道处理器或主处理器。
通道程序essno是操作系统的一部分,但是要进行故障排除,您必须能够启动自己的程序。 可以从磁盘上下载标准的(特殊诊断)。 但是他可能没有工作。 然后-用磁带。 最坏的情况是用打孔卡。
在最不可理解的情况下,我不得不愚蠢地将远程的小程序锤入内存
您使用通道程序代码编写程序。

使用“ face”上的开关在存储器中键入地址,然后键入字节的值。
您键入寻址的字节的值,写。

您键入以下地址,以下值...



看到底部的黑色轮子了吗? 在这里,用十六进制数字表示,然后结束。 幸运的是,程序很短,只有一百个字节,很少增加。

如果需要在没有OS的机器上复制或打印一副打孔卡,则可以节省“三张卡”。 240字节的精彩程序。 您将三张打孔卡放在阅读器中,然后从中启动。 如果卡片的排列顺序相同,则下一个卡片组进入打印输出。 在另一个-用于复制到“ barmales”上,打孔卡输出。 在第三部分中-相信甲板包含二进制形式的程序,该程序已启动。 这不是三个不同的程序! 不可能丢弃任何选项中的任何卡。

#4


例如,磁盘有很多故障。

驱动器EC-5061


将这个驱动器扭曲成一个磁盘包,容量为29mb:



11个磁盘,20个工作表面(不使用上下表面)。

袋子位于塑料外壳中,插入驱动器中,然后拆下外壳。 为了进一步理解,这些细节很重要。
不会读取此特定驱动器中的程序包的情况并不少见,但是在接下来的情况下,通常会读取该程序包。 有一种习惯(如果有的话)将软件包重新布置在另一个驱动器中。 导致了以下故事:

夜班。 驱动器崩溃。 操作员在两个驱动器中交换包裹。 通常情况下有帮助,但现在他们俩都上床了。 好吧,在这种情况下,有一个包装,在架子上有数据的副本。 他删除了失败的一个,放入一个备用的-无法读取! 他放入其他软件包,尝试进行其他任务-不,什么也没读。

终于,早晨到了,其余的工作人员也来了。 他们开始拆卸和理解。 蟑螂以一种未知的方式(到处都是过滤器)爬进了袋子。 并到达袋子和头部之间。 头撞到袋子上并“拉起”,在盘子上开了一个漂亮的坑。 重新排列后,折断的板损坏了下一个驱动器的磁头,折断的磁头损坏了下一个驱动器的磁头。

到了早上,总的溃败了:几个读/写头,五个或更多(我不记得了)数据包-毁了。 损失了2500卢布,他们试图用薪水不到100卢布的一名可怜的女经营者吊死。 但是他们设法降低了刹车的速度。

#5


80年代快到了,缺货中包括纸张。 在某些CC上,情况是如此严重,以至于收集了研究后的打印输出(寻找程序中的错误或查看工作结果),沿着中断线仔细收集,粘贴在一起,然后反面重新打印以进行工作。 在打印输出上放茶或三明治被认为是不礼貌的。

#6


我曾在塔甘罗格(Taganrog)的VTS工厂服务。 我正在仔细研究OS发行版(大约两卷直径30cm,每公斤20mb和重量的磁带),并打印出他们在此处编写的程序的源代码,以便在家中可以处理他们要查找的错误。 而且检查站很艰苦...抄送委员会必须把我的通行证弄直到“总经理的检查站”。 无论如何,打印输出都是经过精心挑选的。 出于愚蠢,我试图解释打印输出是pah,这里是录音带,是的,我可以将整个植物拿到那里。 我几乎意识到他们完全停止让我离开-在最后一刻,我仍然意识到并停止了。

#7


终于,时间到了PC。 我曾在Robotron-1715上工作。
CPM为八位,但质量不错,质量很高,不是我们的两款产品。

但是房间温度很低,很糟糕。 冬季,您早上来了-冰在玻璃水瓶中漂浮。 在预热之前,机器人会以疯狂的速度从键盘上随机输入一些字符。 我开个玩笑说他正在把所有东西都传送到卫星上-有个男人相信:-)无论如何,工作日始于我打败巴库卢萨(Baklusha)一个半小时,喝了茶,变热了,然后等待计算机变热。

#8


在同一台机械臂上,我开始写仓库任务。 而要在Pascal中实现它-不,我转向了新颖的产品,转向了当时流行的dBaseII。 这正是仍然存活的FoxBase和Clipper所成长的“ DBMS”。 一切都会好起来的,但是带有表的文件是纯文本的 ,因此它们占用了很多空间(但可移植!)。

改变平台已经是不可能的,客户要求增加底座的大小,甚至增加裂缝。 以及在哪里增加它在软盘上? 我开始制作一个图书馆,就像一瓶装有UUCP的ZIP一样。 这样文件结构就不会损坏。 而且-他写道,即使在Nantucket的莫斯科办事处(制造商Clipper'a),他们也认为这(当然,出于礼貌)。

是的,等等:几乎恰好在我完全调试完所有内容并准备向客户提供此选项的那天,我们才有了第一个5 MB硬盘。

#9


再来一张软盘。 5英寸,40首曲目,128kb(他们纠正了我110kb)。我正在编写一个程序,并将其传递给客户(顺便说一句,谁是北极圈以外的人)。该过程正在进行中,他们在旅途中纠正了生产,我在飞行中纠正了错误,一切都照常进行。

但是进步并没有停滞不前,他们给了我80条翻牌线。 欢呼声,256kb(也已更正,360kb)! 但只有他们自己,客户才有旧的软盘。 它开始了……我更正了程序,将其转移给客户-它不起作用。 我发送的规则不起作用,并且错误已经存在,而且仍然存在。 我重新检查了一百次-一切正常。 我什至在北极圈以外的地方出差。 确实,他们有“奥查科夫的时代和对克里米亚的征服”的版本,尽管软盘是我发送的。 奇迹!

但是,当然可以了。 在40磁道记录模式下,80磁道的翻牌指南仅写入40磁道,但磁头较小,记录的磁道宽度更窄。 在客户处,具有40条轨迹的翻牌售票员读取了一条宽音轨,忽略了狭窄的新奇记录,并取下了地狱时记录的旧信息。
在这里,我什至画了一幅画-发生了什么:



#10


随着时间的流逝,dBase和记账式任务被遗忘了(尽管我一辈子都不爱他们,尽管老实说他们已经养活了我七年)。 无论如何,我正在成长,我已经在MSC 6.0(不,不是,不是MS Visual C)下用C语言编写(不,还不是C ++)。

还有-deja vu。

我正在编写程序,我将其提供给客户-一个错误。 我正在进行调试装配,我在尾部和鬃毛中行驶-一切都井井有条。 甚至到了他摇摇古风,爬上密码和垃圾堆的地步。 原来是将short参数传递给函数。 Short当时是16位。 在参数下的堆栈中,所有相同的32位都分配了一个字。 而且,在发行版中,tram-tararam是用单词的一半写的,而调试是用单词的另一半写的。 而且总是从同一部分阅读。 因此在debug参数中传递正确,并在释放一些垃圾。

#11


是的,在最困难的时期,仓库的任务使我吃饱了。 并教导生活。
我为下一个办公室做下一个选择。 我给一个报告。 他们为它奏效而高兴,但他们要求“张贴号码8”。 好吧,我问这是什么,我更正了报告。 他们很高兴-舒适,美观,比在纸上还要好……“但是接线号8在哪里”。 哦,我只是没劲儿-不,不是那样。 最终,由于失去了耐心,他采用了最古老,最简单,因此也是最快的版本,并以当时(矩阵)打印机允许的最大字体以大幅面写着“ Posting No. 8”。
-最后,非常感谢,我们非常高兴!
我也很高兴,截止日期已经到了。 直到后来,我才意识到不必过分聪明,您需要做一些在技术上可行的事情。 还有一件事:如果您想做得好,不仅需要听取客户的意见,还需要自己研究主题领域。

#12


在患者的领导下成长很方便,发明某些东西的最简单方法是不知道已经做了什么。 所以我长大了,想出了神经网络。 那时,这个词在80年代并不特别使用,我不认识他。 但是-我写的都一样。 当然,它不能赚钱,好的神经网络可以依靠好的数学来发展,而我是胡说八道,愚蠢的算术。 但是她研究了计算机故障,甚至做出了简单的诊断。 当然,纯粹是演示级别。

不出所料,需要大量内存。 我无法梦想拥有千兆字节的RAM,在那里“ 640k对任何人都应该足够”仍然有效。 地址空间为1mb,实际内存为640k。

这个想法浮出水面:使用VGA图形适配器的内存,因为它已映射到公共地址空间。 言归正传。 多达256k的补品! 为了提高速度,显示屏关闭,否则,由于与显示屏同步,因此工作非常缓慢。

有时它并没有关闭,因为观察屏幕在训练时如何从黑色变成灰色真是太有趣了,形成的画面和溢出的画面最终变成了决策的亮点。 许多人来看看机器的想法。

#13


在这个数字之下,只对病毒有所了解。 那时,病毒通常比有趣更有趣,作者更着迷于编写病毒并产生更有趣的效果。 当图像慢慢消失时,出现了纵火病毒。 这项技术在屏幕保护程序中一直存在:



有一些更简单的示例,例如,一个鳍状肢:



在某个时候,他在办公室里爬行。 作为前系统工程师,他们到处打电话给我寻求帮助。 好吧,我去,我开车。 对待别人之后,以防万一我要去最安静的地方,我没有被打扰。 令人惊讶的是,这是簿记。 事实证明,妇女并没有打扰:她们将监视器上下颠倒,并平静地继续工作。
我知道,我知道很多人以玩笑的形式遇到过类似的描述。 所以:有时候这是纯真的。

#14


嗯,它不会永远有效,它发生在4月1日。 现在有点无聊了,但是在他们尝试并发明之前。 在计算机上,彼此背靠背站着,老鼠站起来,这很有趣。 您移动鼠标-什么也没做,光标从对面的同事那里经过。 突然,您的光标开始疯狂跳跃-该同事还试图了解什么。

当出现光电鼠标时,用一条红色的电气胶带粘合光学窗口的效果很好。 鼠标停止工作,您从下面往下看-一切似乎都很正常,它一如既往地发红光。



实际上,仅此而已。 讲述最近的时间是没有意义的,每个人都知道最近的时间。 而且,我必须承认,我已经是一名报价员,并且是一名程序员。 因此,有时我会为自己编写脚本。 我为一群年幼的孩子设定任务。


我要补充一点,在评论过程中还记得一辆自行车

#15

他们把记忆推到位。 内阁很大,重600公斤。 他们已经拖进了大厅,现在就把它推到地板上,因为一切都在轮子上...
好吧,我们推动,然后高架地板开始弯曲并塌陷。 停止-它会坠落半米,然后摔倒。 是的,他的腿会伤到我们。 无需执行任何操作,您需要将其推入整个位置。 几乎被推开,然后跌落。

通常,这种记忆几乎遍及整个大厅,像破冰船一样打开活动地板。 最后,靠近墙壁的地板更坚固,因此快乐地结束了。 好吧,除了重建地板。

#16

好吧,我仍然记得!
当这些人出现但很少见时,有几个人养成了去我家发送邮件或打印东西的习惯。 拒绝是不方便的,但是很快变成一种惩罚-他们开始向我自己走去,好像我现在欠他们一样。
但是一旦我实现了一个梦想:
MS Natural键盘。 那一个,第一个,真正的一个。 与MS的所有凉爽腺体一样,在墨西哥制造。 自然,没有俄语字母。 人们在国外,在这里买来卖掉昂贵的东西。 他们卖掉了电脑,但是没人带键盘。 因此,尽管MS Natural非常昂贵,但我的价格却非常便宜。

拖拉回家,欣喜若狂。 第二天,他自然开始用所有手指盲目打字。
是的...所以,再次来了-他需要输入文字。 我以热情的姿态大笑着,我挥​​了挥手:“是的,请坐下,塞上它。” 他犹豫了一下,犹豫了,然后离开了。 由于某些原因,我没有打印。 这样的其他人很快就化为乌有。
顺便说一句,我在上面输入文字,自1997年以来,它一直在连续工作,而且没有失败。 她在这儿,美女:



和一些不是我的,从注释中选择在一起:

#17

DrPass说:
我回想起了20年前的故事,那是大约四月初,也就是耐心。 然后我给我的朋友发送了这样一个程序,或者不是一个程序,而是一个带有扫描照片的SFX存档。 照片确实在那里,并且SFX模块是假的。 他没有清理任何东西(他不需要它,我只是将JPEG图片固定在资源中),但是除了资源中的图片外,他还拉出并在启动时编写了一个程序来打开屏幕并摇动窗口。 据ESC称,这件事很简单。 好吧,她打电话给我,笑了,已经忘了。 大约六个月后,当树叶落下时,她问我何时将其从计算机中取出。

#18

杰夫239说:
让我更好地告诉您有关独家新闻。 杜尚别(Dushanbe),服务“ 09”(电话查询),同样的RP为29兆,一年大约是1980年。 杜尚别(Dushanbe)的特点是,一天几次更换电缆供电(例如在Vaska的圣彼得堡),并定期停电。
, . , . — . , , .
— . . — .

#19

toivo61 :
… ( ). , «» . :-)
Bedal : 60 — .

#20

tiger_sc :
, , -2001. . — , , - 3-4 , 2-3. 1999 , 2000 2001- .

Source: https://habr.com/ru/post/zh-CN470734/


All Articles