也许我只是在展示自己的年龄,但是我认为编程中一些令人印象深刻的壮举被忽略了。
史蒂夫·沃兹尼亚克(Steve Wozniak),Apple Disk II / RWTS
史蒂夫(Steve)使用软件中非常酷的技巧一起设计了硬件和软件,从而消除了硬件的许多复杂性(和成本)。普通软盘驱动器在磁盘中心附近使用LED和光电传感器,以通过在磁盘基板上打孔的方式发光。光电传感器的输出连接到处理器中断,因此处理器将知道何时启动其定时例程,以等待磁道上的正确扇区位于读/写磁头之下(尽管有一些使用过的“硬扇区磁盘”)它有一个洞来指示每个扇区的开始,而不是一个音轨的开始。
史蒂夫(Steve)通过设计软件对数据进行编码,从而消除了硬件,从而使您可以从磁盘上的任意位置开始读取数据,不仅可以解码数据本身,而且可以(从逻辑上)弄清楚您在磁道中的位置。Disk II驱动器没有安装LED /光传感器,因此完全忽略了软盘上的孔。
HPFS的Gordon Letwin
Gordon Letwin是OS / 2团队的架构师(兼编码员)。至少如我所听到的那样,有一次他去度假避开一切,花了三个星期左右的时间在游艇上航行(是的,早期的MS员工可以负担得起这样的费用... )...但为了避免感到无聊,他决定随身携带笔记本电脑。
当他返回时,他使用HP FS编写,调试和工作了HPFS,完全使用Intel 386汇编语言。他编写的代码最终以“ HPFS386”的形式出售,这是(至少在当时)专有的OS / 2 LAN Manager Edition。然后另一个团队用了大约六个月的时间,用C编写了一个版本,该版本成为OS / 2普通版中包含的“普通” HPFS(在IBM和MS崩溃后,IBM更新并重新编译了C代码以获取他们的 “ HPFS386”)。尽管此后已经进行了修改和更新,但是如果您对事情不偏不倚,则NTFS可能会被称为“ HPFS 2.0”(或者也许是3.0)-毫无疑问,微软目前最好的文件系统仍然紧密地源于他的设计。
Burroughs B220胶带
这些体现了(至少是IMO)面向对象编程的真正开端。在IBM磁带上(例如)带有“标签”以说明磁带上数据的格式的地方,Burroughs磁带制定了一项惯例(我不知道有人确定谁启动了它),将一小套例程放在可以理解数据以及如何格式化的磁带,因此您可以正确操作数据而无需了解有关如何格式化的详细信息。换句话说,磁带上的前几个“块”基本上是永久形式的vtable。您基本上已经将vtable读入内存,然后使用其定义的方法来处理磁带其余部分上的数据。一切都非常简洁明了(如果仅比完全可移植的略少)。