Tal vez solo estoy mostrando mi edad, pero creo que algunas de las hazañas verdaderamente impresionantes de la programación están siendo ignoradas.
Steve Wozniak, Apple Disk II / RWTS
Steve diseñó el hardware y el software juntos, utilizando trucos realmente geniales en el software para eliminar mucha complejidad (y costo) en el hardware. Las unidades de disquete normales usaban un LED y un fotosensor cerca del centro del disco para brillar a través de un orificio perforado en el sustrato del disco. La salida del fotosensor se conectó a una interrupción del procesador para que el procesador supiera cuándo comenzar su rutina de temporización para esperar a que el sector correcto en una pista esté debajo del cabezal de lectura / escritura (aunque algunos usaron "discos rígidos"). que tenía un agujero para señalar el inicio de cada sector en lugar de solo uno para el inicio de la pista).
Steve eliminó ese hardware al diseñar el software para codificar los datos de una manera que le permitiera comenzar a leer desde un punto arbitrario en el disco, y no solo decodificar los datos en sí, sino también averiguar dónde (lógicamente) estaba en la pista. La unidad de disco II no tenía la configuración de LED / fotosensor, e ignoró por completo los agujeros en el disquete.
Gordon Letwin, HPFS
Gordon Letwin fue arquitecto (y codificador) en el equipo OS / 2. Al menos cuando escuché la historia, en un momento se fue de vacaciones para alejarse de las cosas, y pasó tres semanas (más o menos) navegando en su yate (sí, los primeros empleados de MS podrían pagar cosas como esas ... ) ... pero para no aburrirse demasiado, decidió llevar su computadora portátil.
Cuando regresó, tenía HPFS escrito, depurado y funcionando, completamente en lenguaje ensamblador Intel 386. El código que escribió finalmente se vendió como el "HPFS386" que era exclusivo (al menos en ese momento) para LAN Manager Edition de OS / 2. Otro equipo luego pasó algo así como seis meses escribiendo una versión en C que se convirtió en el HPFS "normal" incluido en las ediciones normales de OS / 2 (y después de que IBM y MS se separaron, IBM actualizó y volvió a compilar el código C para obtener su "HPFS386"). Aunque se ha modificado y actualizado desde entonces, si fuera justo sobre las cosas, NTFS probablemente se llamaría "HPFS 2.0" (o tal vez 3.0); no hay duda de que el mejor sistema de archivos actual de Microsoft todavía se deriva de lo que diseñó.
Cintas Burroughs B220
Estos encarnaban (al menos en mi opinión) los inicios reales de la programación orientada a objetos. Cuando las cintas de IBM (por ejemplo) tenían "etiquetas" para informar sobre el formato de datos en la cinta, las cintas de Burroughs desarrollaron una convención (no creo que nadie sepa con certeza quién la inició) de poner un pequeño conjunto de rutinas en la cinta que comprendería los datos y cómo se formateó, para que pueda manipular los datos correctamente sin conocer los detalles de cómo se formateó. En otras palabras, los primeros "bloques" en la cinta eran básicamente una tabla en forma persistente. Básicamente, leería la vtable en la memoria, luego usaría los métodos que definió para manipular los datos en el resto de la cinta. Todo muy ordenado y simple (aunque un poco menos que completamente portátil).