这对我来说是一个有趣的时刻。我从个人计算机(TI-99/4A 和 Commodore 64 以及一段花在 Amiga 上的短暂时期)转移到了大型计算机,突然我的 PC 于我而言成为了一个连接到 Unix 大型主机的终端。我也运行 Linux 操作系统在我的 PC 上,因为这是当时连接到 Internet 和网络最快的方式——TCP / IP 协议栈被内置到操作系统,而不是像在旧的 Windows 版本中那样放置在系统上面(还记得 NETCOM 吗?)。我的大部分工作都是在大型计算机上完成的。
我没有意识到的是我正在失去与 PC 世界的联系。这在当时非常明显,个人计算机的疯狂时代已经过去,尘埃落定于这两种计算机:PC,运行 Windows,对于我们大多数人,以及 Mac,对于设计师。这就是我深信不疑的。当时我有一个室友,专注于 Mac,并且在那段时间设计了电子优惠券。他有所有这些漂亮的图形设计程序,并常常问我,“你的 PC 上有什么能做到这一点?”我会耸耸肩,提醒他我甚至不会画圆和正方形,所以我了解图形软件干什么呢?我喜欢我的 PC,因为我理解软件理解数学,所以即使我不会绘画,也可以使用数学来创建分形图形或粒子风暴。当然,这样做需要有一个显卡,而且从 Telnet 会话到 Unix 框并不实用,所以我开始学习如何在 PC 上编码。当时,只有 Win32 和 C ++ 才能实现这些伎俩。现在你仍然可以在 Visual Studio 2012 中创建用于堆栈的样板文件。当然,我就不让 Win32 跨越 150 行代码的初始“HELLO.C”的细节来烦你了。
1994 年 – Win32 / C ++(示例为近期的)
用命令行执行的结果:
然而,粒子流和 Mandelbrot 集对我就业并没有产生任何帮助,因此我只能采取不同的办法。讽刺的是,我一开始的职业和计算机没有一点关系。是的,我的第一份正式工作是在一家保险公司接索赔电话,工作语言为西班牙语。在这个我愿意熬夜工作于 PC,并且对低薪表示“满足”的工作面试中,我不经意间提及我会讲西班牙语。于是他们派了他们的双语代表来面试我,我通过了测试,并在一周内获得了一个更高薪水的职位,在一些简短的电话中,我学到了比我多年在高中学到的更多的西班牙语。
我年轻,有竞争力,并且我们基于一天成功解决多少索赔进行排名。但是我总是落后,因为我用的软件往往隔一段时间就崩溃。这对我而言,是一个全新的系统——AS / 400(现在称为 iSeries)——但我还是搞清楚了,并且学会了至少如何在崩溃之后重新启动索赔软件。IT 部门很快流行起来,并把我拉到一边。我担心我遇到了麻烦,但是他们给了我去 IT 部门的 offer。于是我的工作基本上变成了维护 AS / 400 系统,以及给大量打印机换墨盒,以便于打印保单表格和索赔。
在我去操作换墨盒的过程中,我做了一个很大的改变。由于某些表格只要黑色墨水,而其他表格还需要绿色或红色的亮点。但是这些打印机只能处理一种墨水轮廓,所以每当遇到不同类型的表格时,我们会得到一个警报,然后去换墨水。我觉得这这是荒谬的,所以我花时间来自学 RPG。我写了一个程序,它将匹配打印作业到墨水颜色,然后排序打印队列,以便于所有的黑色打印都能放到一起,所有的绿色都放到一起,等等,这将 8 小时的工作到缩减到 2 个小时,并给了我大量时间来学习 RPG。原始版本——RPG II 和 RPG III ——是一种粗糙的语言,被简单地设计为模仿打卡系统,并生成报告(代表 Report Generator)。和 Fortran 一样,RPG 是一种定位语言。
1995 年 – RPG
I 'HELLO, WORLD' C HELOC HELO DSPLYC SETON LR
注意第一个字符显示的行的不同类型(其实它原本会有若干列,但我有意省略了一些边缘代码)。这定义并显示了一个常数,然后设置一个指示符结束程序。
在这些操作之后,我又开启了第二幕个人秀。月末的会计需要相当多的时间和精力。原来的系统是一台读取穿孔卡片的 Honeywell 主机。写了一个 COBOL 程序,能在模拟穿孔卡片的文件中读取并输出另一个之后注入 AS / 400 被处理的文件。在此之后,各种会计数据必须得匹配。由于舍入误差,不支持的交易,以及任何其他许多数字几乎从不匹配的问题,所以这工作就成为了调查进程,找出哪里坏了,然后更新代码来解决它。我们也曾“紧急”工作过 11 个小时,读取输出数据生成账务调整,以平衡账目,如果我们无法找到问题的话。虽然我没有涉及很多 COBOL 代码,但是我不得不去充分地了解它,以便于阅读 Honeywell 源代码来解决 AS / 400 上的问题。