Vielleicht zeige ich nur mein Alter, aber ich denke, einige der wirklich beeindruckenden Leistungen des Programmierens werden ignoriert.
Steve Wozniak, Apple Disk II / RWTS
Steve entwarf die Hardware und Software zusammen und verwendete dabei wirklich coole Tricks in der Software, um viel Komplexität (und Kosten) in der Hardware zu vermeiden. Normale Diskettenlaufwerke verwendeten eine LED und einen Fotosensor in der Nähe des Hubs der Diskette, um durch ein Loch zu leuchten, das in das Diskettensubstrat gestanzt war. Der Ausgang des Photosensors war mit einer Prozessorunterbrechung verbunden, damit der Prozessor wissen konnte, wann seine Zeitgeberroutine zu starten ist, um auf den richtigen Sektor auf einer Spur unter dem Lese- / Schreibkopf zu warten (obwohl einige wenige "Festplatten mit Sektoren" verwendet wurden. das hatte ein Loch, um den Beginn jedes Sektors zu signalisieren (statt nur eines für den Beginn der Strecke).
Steve beseitigte diese Hardware, indem er die Software so entwarf, dass die Daten so codiert wurden, dass Sie an einer beliebigen Stelle auf der Festplatte mit dem Lesen beginnen und nicht nur die Daten selbst decodieren, sondern auch herausfinden, wo (logisch) in der Spur Sie sich befanden. Das Disk II-Laufwerk hatte keine LED- / Fotosensor-Einrichtung und ignorierte die Lücke (n) in der Diskette vollständig.
Gordon Letwin, HPFS
Gordon Letwin war Architekt (und Programmierer) im OS / 2-Team. Zumindest, wie ich die Geschichte gehört habe, fuhr er irgendwann in den Urlaub, um sich von den Dingen zu befreien und drei Wochen (oder so) auf seiner Yacht herumzusegeln (ja, frühe MS-Mitarbeiter konnten sich solche Dinge leisten ...). ) ... aber um nicht zu gelangweilt zu werden, nahm er seinen Laptop mit.
Bei seiner Rückkehr ließ er HPFS schreiben, debuggen und arbeiten - vollständig in der Assemblersprache Intel 386. Der von ihm geschriebene Code wurde schließlich als "HPFS386" verkauft, der (zumindest zu dieser Zeit) der LAN Manager Edition von OS / 2 vorbehalten war. Ein anderes Team hat dann ungefähr sechs Monate damit verbracht, eine Version in C zu schreiben, die zum "normalen" HPFS wurde, das in den normalen Editionen von OS / 2 enthalten war (und nachdem sich IBM und MS getrennt hatten, hat IBM den C-Code aktualisiert und neu kompiliert, um deren Code zu erhalten "HPFS386"). Obwohl es modifiziert und aktualisiert wurde, würde NTFS, wenn Sie fair sind, wahrscheinlich "HPFS 2.0" (oder vielleicht 3.0) heißen - es ist keine Frage, dass Microsofts bestes aktuelles Dateisystem noch immer eng von dem abgeleitet ist, was er entworfen hat.
Burroughs B220 Bänder
Diese verkörperten (zumindest IMO) die wahren Anfänge der objektorientierten Programmierung. Während IBM-Bänder (zum Beispiel) "Labels" hatten, die über das Format der Daten auf dem Band Auskunft gaben, entwickelten Burroughs-Bänder die Konvention (ich glaube, niemand weiß genau, wer damit begonnen hat), eine kleine Reihe von Routinen zu erstellen das Band, das die Daten versteht und wie sie formatiert wurden, sodass Sie die Daten korrekt bearbeiten können, ohne die Details zu kennen, wie sie formatiert wurden. Mit anderen Worten, die ersten "Blöcke" auf dem Band waren im Grunde genommen eine V-Tabelle in dauerhafter Form. Sie würden die vtable im Prinzip in den Speicher einlesen und dann die von ihr definierten Methoden verwenden, um die Daten auf dem restlichen Band zu bearbeiten. Alles sehr ordentlich und einfach (wenn auch etwas weniger als vollständig portabel).