06.10.2026 · Signal Titans Editorial
Menos dos mil líneas: cómo Bill Atkinson esculpió QuickDraw y MacPaint
Cómo Bill Atkinson refactorizó el código de QuickDraw y MacPaint en solo 128 KB de memoria para fijar un nuevo estándar gráfico en la informática personal.

En 1982, cuando los directivos de Apple solicitaron a sus ingenieros un informe semanal sobre su productividad basado en las líneas de código escritas, Bill Atkinson entregó un único número negativo: menos 2000. Había dedicado esa semana a refactorizar las rutinas de software para el proyecto de la Apple Lisa, logrando que los cálculos de regiones fueran seis veces más rápidos a la vez que reducía drásticamente el tamaño del código. Para Atkinson, la ingeniería de software era una forma de arte en la que la claridad y la eficiencia importaban mucho más que el volumen bruto.

El recuento negativo de código
Atkinson sostenía que la mejor manera de prevenir errores de software consistía en escribir un código estructurado con tal pulcritud que pudiera comprenderse de un solo vistazo. Según el Computer History Museum, el ingeniero reescribía de forma rutinaria secciones enteras de código desde cero, hasta cinco veces, con tal de garantizar su absoluta legibilidad. Cuando la dirección del proyecto instauró impresos obligatorios para evaluar el rendimiento semanal durante la fase de desarrollo de la Lisa, Atkinson recurrió a su cifra negativa para demostrar que eliminar código redundante mejoraba la eficiencia del sistema. Tras recibir estos registros negativos durante varias semanas, la directiva dejó de pedirle que rellenara los formularios.
De LisaGraf a QuickDraw
Antes de comenzar su labor en el Macintosh, Atkinson desarrolló LisaGraf para el ordenador Apple Lisa con el objetivo de gestionar gráficos de mapa de bits. Al adaptarse al proyecto del Macintosh, LisaGraf evolucionó hasta convertirse en QuickDraw, la biblioteca gráfica fundamental responsable de renderizar los elementos visuales en pantalla. QuickDraw constaba de 17 101 líneas de código ensamblador para el procesador Motorola 68000, distribuidas en 36 archivos. Para eliminar el parpadeo de pantalla tan común en el software gráfico de la época —en el que las figuras se borraban antes de redibujarse—, Atkinson creó un búfer de memoria secundario fuera de la pantalla. Al componer los gráficos en esa memoria oculta antes de volcar el resultado en la pantalla, QuickDraw ofreció un rendimiento visual fluido y uniforme.
Diseñando el lienzo
A principios de 1983, Atkinson empezó a desarrollar el programa de dibujo MacPaint para el Macintosh, adaptando conceptos de su prototipo LisaSketch, también conocido como SketchPad. En lugar de depender de menús desplegables para seleccionar los patrones de dibujo como hacía SketchPad, diseñó paletas visuales permanentes integradas en la pantalla. El código fuente de la aplicación constaba de 5822 líneas de Apple Pascal para la lógica de alto nivel y 3583 líneas en lenguaje ensamblador para las rutinas que requerían la máxima velocidad. En abril de 1983, Atkinson añadió herramientas emblemáticas como FatBits para la edición píxel a píxel, el bote de pintura para rellenar áreas delimitadas y el lazo para selecciones no rectangulares. También escribió una rutina de reconocimiento óptico de caracteres para convertir los dibujos en texto, pero decidió eliminarla para evitar que MacPaint terminara siendo un procesador de textos deficiente en lugar de una aplicación dedicada en exclusiva al dibujo.
Comprimiendo el arte en 128 kilobytes
Atkinson concluyó el desarrollo de MacPaint en octubre de 1983, ajustando el programa a unos límites de hardware extraordinariamente estrictos. El Macintosh original funcionaba con un procesador Motorola 68000 a 8 MHz, apenas 128 kilobytes de memoria total y carecía de hardware dedicado para operaciones de coma flotante. MacPaint, QuickDraw y las rutinas esenciales del sistema operativo debían coexistir en el interior de ese reducido espacio de memoria.
A pesar de tan rigurosas limitaciones, la cuidada arquitectura de código de Atkinson ofreció una interacción visual fluida y ágil cuando el ordenador salió al mercado. Al demostrar que los gráficos de mapa de bits a alta velocidad podían ejecutarse en tan solo 128 kilobytes de memoria sin hardware de coma flotante, MacPaint y QuickDraw establecieron una nueva prueba de rendimiento para el software de ordenadores personales. Atkinson demostró que una refactorización meticulosa y un diseño limpio podían hacer posible la informática interactiva en sistemas de recursos ajustados.
Imagen de portada: ilustración generada con IA; no es una fotografía documental.