Filosofía de la ingeniería: Alan Kay, la gran idea es la mensajería

Ideas clave
- La gran idea es la mensajería, no los objetos. Kay lamentó haber acuñado el término “objetos” porque dirige la atención de la gente hacia las clases y la herencia, que son la idea menor. Lo que importa son cosas independientes que se envían mensajes entre sí y dejan que el receptor decida qué significa un mensaje.
- Un cambio de punto de vista vale 80 puntos de IQ. No le ganas a un problema difícil pensando más dentro del marco equivocado; encuentras el marco en el que se vuelve fácil. La mensajería fue ese movimiento para el software.
- La Dynabook replanteó la computación como un medio para el pensamiento, no como una herramienta para tareas: la laptop y la tablet bosquejadas en 1972, al servicio de permitirle a una persona pensar ideas que antes no podía pensar.
- El late binding es lo que compra la independencia. Como el emisor no sabe cómo responderá el receptor, las partes pueden cambiar sin romperse entre sí, que es exactamente como un sistema crece más allá de lo que una sola mente puede abarcar.
El principio
“Lamento haber acuñado hace tiempo el término ‘objetos’ para este tema, porque hace que muchas personas se concentren en la idea menor. La gran idea es la ‘mensajería’.” – Alan Kay1
Acuñó el término, ganó el Premio Turing en gran parte por él y luego pasó décadas diciéndole a la gente que lo había leído mal. La palabra objeto hace que los ingenieros piensen en clases, herencia y los sustantivos de su modelo de datos: los muebles dentro de la caja. El argumento de Kay es que los muebles son la idea menor. Lo que importa es la caja y los mensajes entre cajas: cosas independientes que mantienen su propio estado privado e interactúan únicamente enviándose mensajes, donde el receptor, no el emisor, decide qué significa un mensaje.1 Eso es el late binding elevado a filosofía. El emisor no mete la mano para operar la maquinaria; pregunta, y confía en que la cosa sepa cómo responder.
La razón por la que esta es la gran idea es que así es como construyes algo demasiado grande para abarcarlo en tu cabeza. La metáfora recurrente de Kay es biológica: un sistema grande debe cultivarse como un cuerpo, a partir de millones de células, cada una una computadora completa que protege su propio estado y habla con sus vecinas solo a través de mensajes.2 Ninguna célula mete la mano en la química de otra célula. El organismo entero es robusto porque las partes son independientes y el único acoplamiento son los mensajes que intercambian. La programación orientada a objetos, hecha como Kay la entendía, no es una manera de organizar datos: es una manera de hacer un sistema a partir de muchas cosas pequeñas que negocian, de modo que ninguna pieza tenga que entender el todo.
El movimiento más profundo debajo de todo esto es una postura ante los problemas, no ante el código. Un cambio de punto de vista vale 80 puntos de IQ, le gustaba decir a Kay.3 No le ganas a un problema difícil siendo más inteligente dentro del marco equivocado; encuentras el marco en el que el problema es fácil. La mensajería es uno de esos marcos. La computadora personal fue otro. La convicción de que la perspectiva correcta le gana a la astucia en bruto es la misma convicción que subyace al argumento de que el gusto es un sistema técnico que puedes examinar en vez de una intuición que afirmas: la estructura que eliges para ver un problema es el trabajo.
Contexto
Alan Curtis Kay nació el 17 de mayo de 1940 en Springfield, Massachusetts.4 Llegó a la computación tarde y de lado: un guitarrista de jazz y un niño que leía con voracidad, que sirvió en la Fuerza Aérea, donde una prueba de aptitud lo empujó hacia la programación, antes de terminar una carrera en matemáticas y biología molecular en Colorado.4 La biología importó. La metáfora de la célula como computadora, que organizaría toda su teoría del software, vino de ahí, no de ninguna tradición de programación.
Llegó al programa de ciencias de la computación de la Universidad de Utah, financiado por ARPA, a mediados de la década de 1960, donde su asesor doctoral fue Dave Evans y el profesorado a su alrededor incluía a Ivan Sutherland.4 Prácticamente en su primer día, Evans le entregó para leer la tesis de Sutherland de 1963, Sketchpad. Sketchpad permitía a un usuario dibujar directamente en una pantalla con un lápiz óptico y, algo crucial, tenía maestros e instancias: definías una figura una vez y estampabas copias que heredaban de ella. Kay atribuye a esa tesis, junto con el lenguaje Simula que encontró poco después, la semilla de su pensamiento sobre los objetos.4 También asistió a la “Madre de todas las demos” de Douglas Engelbart en 1968, la demostración en vivo del mouse, el hipertexto y la computación interactiva, que más tarde llamó una de las grandes experiencias de su vida.4 Su trabajo doctoral de 1969, la máquina y el lenguaje FLEX, fue un intento temprano de construir una computadora personal e interactiva en torno a estas ideas.4
En 1970 se unió al recién formado Xerox Palo Alto Research Center y le dieron a dirigir el Learning Research Group.4 PARC en la década de 1970 era ese lugar poco común donde un investigador podía perseguir una visión a veinte años con presupuesto corporativo. Kay tenía una: no un mainframe más rápido, no una mejor terminal, sino una computadora personal que un niño pudiera usar como un medio para el pensamiento. Todo lo que construyó en PARC – Smalltalk, la interfaz de ventanas, la idea misma de la laptop – fue un intento de hacer realidad esa única imagen.
El trabajo
Smalltalk y la mensajería: qué significaba realmente la OOP
En PARC, Kay y su grupo – centralmente Dan Ingalls, quien hizo las implementaciones fundacionales, y Adele Goldberg, quien construyó buena parte del sistema y la documentación circundantes – crearon Smalltalk, uno de los primeros lenguajes de programación totalmente orientados a objetos y dinámicos.45 En Smalltalk, todo es un objeto, y lo único que hacen los objetos es enviarse mensajes unos a otros. No hay operadores que metan la mano en el estado de otro objeto; hasta la aritmética es un mensaje enviado a un número. El sistema es de tipado dinámico y extremadamente late-bound: lo que un mensaje hace lo resuelve el receptor en el momento en que llega, no lo fija el emisor de antemano.5 Esa resolución tardía es lo que permitía editar una imagen de Smalltalk en ejecución mientras corría: el lenguaje y su entorno eran la misma cosa viva.
Kay más tarde destiló su verdadera definición de programación orientada a objetos en tres requisitos: la mensajería; la retención, protección y ocultamiento locales del estado-proceso dentro de cada objeto; y el late binding extremo de todas las cosas.1 Fíjate en lo que no está en la lista: clases, herencia, tipos. Esas son conveniencias de implementación. Lo innegociable es que el estado sea privado y que todo se decida lo más tarde posible. Cuando dijo que había inventado el término “orientado a objetos” y que “no tenía a C++ en mente”, esto era lo que quería decir: un lenguaje puede tener clases y herencia y aun así errar el punto por completo si deja que un objeto meta la mano en las entrañas de otro.6
La razón por la que la mensajería es la idea que carga el peso, y no los objetos, es que la mensajería es lo que hace real la independencia. Si el emisor conociera el interior del receptor, los dos quedarían soldados y volverías a tener un único programa enredado. Como el emisor solo envía un mensaje y el receptor decide cómo responder, puedes intercambiar, extender o hacer crecer al receptor sin tocar al emisor. Esa es la misma propiedad que le permite a un cuerpo sanar una herida o a una red enrutar alrededor de un nodo muerto. Kay quería que el software escalara como escala la biología, y la biología escala mediante mensajes entre células protegidas, nunca mediante interiores compartidos.
La Dynabook: la computación como un medio

En 1972 Kay escribió “A Personal Computer for Children of All Ages”, presentado en la ACM National Conference en Boston, y en él describió la Dynabook: una computadora personal portátil, del tamaño de un cuaderno, con una pantalla plana, capaz de contener la biblioteca, la música, los dibujos y los programas enteros de un niño, que un individuo poseería y usaría en cualquier momento y lugar.7 La bosquejó como una tableta delgada más o menos del tamaño de un cuaderno y argumentó que en principio podía construirse con la tecnología de la época y venderse barata.7 No existía tal máquina. La computadora personal no existía. Estaba describiendo la laptop y la tablet en 1972.
Pero la Dynabook nunca fue realmente sobre el hardware. Era sobre para qué servía la computación. El marco de Kay – tomado de las teorías del aprendizaje de Jerome Bruner y del trabajo de Seymour Papert con Logo – era que la computadora es un nuevo medio, como la escritura o la imprenta, y el sentido de un medio es permitirles a los humanos pensar ideas que antes no podían pensar.47 Un libro solo lo puedes leer; en una Dynabook puedes crear y simular. Un niño debería poder construir un modelo dinámico de una idea y verlo correr. Por eso tenía que ser personal y portátil y propia: un medio para el pensamiento tiene que estar siempre a la mano, como lo está un cuaderno, o no es un medio en absoluto. Todo lo que Kay construyó se derivaba de tratar a la computadora como un medio en lugar de una herramienta.
La GUI de PARC e “inventa el futuro”

La Dynabook necesitaba una interfaz que un niño pudiera usar, así que el grupo de Kay construyó una. La interfaz gráfica de usuario de ventanas superpuestas – ventanas que se apilan como papeles sobre un escritorio, con un mouse para señalar y traer una al frente – se desarrolló en su Learning Research Group en PARC y corría en el Xerox Alto, la máquina que el grupo llamaba “la Dynabook provisional”.48 Todo escritorio que hayas usado desciende de ese trabajo. En diciembre de 1979, Steve Jobs y un grupo de ingenieros de Apple visitaron PARC y les mostraron el Alto corriendo Smalltalk: la pantalla de mapa de bits, el mouse, las ventanas superpuestas.8 Esas ideas pasaron a la Lisa y luego a la Macintosh, y de ahí a Windows y a la corriente principal de la computación.8 La interfaz que el mundo entero usa ahora se construyó para servir a una visión de niños creando en un nuevo medio.
El lema que animaba ese trabajo es la frase más citada de Kay: “La mejor manera de predecir el futuro es inventarlo.” Ha dicho que surgió de una reunión de principios de 1971 en PARC entre los investigadores y los planificadores de Xerox – “en un arranque de pasión solté la frase” – cuando los planificadores querían pronósticos y la respuesta de Kay fue que no se pronostica un futuro que uno pretende construir.9 PARC fue esa frase vuelta operativa: en lugar de preguntar en qué se convertirían las computadoras, el grupo de Kay decidió en qué debían convertirse las computadoras y luego pasó una década construyéndolo. El futuro de la computación personal no se predijo en PARC. Se inventó ahí, a propósito.
La revolución de la computación aún no ha ocurrido
En 1997 Kay dio una conferencia magistral en OOPSLA titulada “The Computer Revolution Hasn’t Happened Yet”, y es el contrapeso necesario a la historia triunfalista.10 Su argumento era que la industria había tomado los artefactos de la visión de PARC – las ventanas, el mouse, la máquina personal – y había errado la idea. La computación personal, dijo, se había vuelto en su mayoría la automatización del papel: documentos digitales, correo digital, archiveros digitales, simulando el viejo medio en lugar de convertirse en uno genuinamente nuevo. La revolución a la que se refería – la computadora como un medio que amplifica el pensamiento humano, que la gente común programa como escribe – no había llegado. La metáfora del escritorio había ganado; la idea de la Dynabook, no.
La brecha entre el artefacto y la idea se convirtió en la crítica tardía de su vida. A través del Viewpoints Research Institute, que fundó en 2001, Kay se opuso con fuerza al exceso del software moderno: decenas de millones de líneas de código para hacer lo que, argumentaba, podía hacerse en una fracción minúscula de eso, si el sistema se cultivara a partir de partes limpias que pasan mensajes en lugar de acumularse a partir de librerías que nadie entiende del todo.411 Su proyecto “STEPS” intentó reconstruir un sistema entero de computación personal – sistema operativo, aplicaciones y todo – en aproximadamente veinte mil líneas, como prueba de existencia de que el exceso es una elección, no una necesidad.11 La convicción de la mensajería corre directo hasta la queja: un sistema que no puedes comprender es un sistema cuyas partes no eran verdaderamente independientes. El exceso es lo que pasa cuando las fronteras se filtran.
El método
El método es consistente a lo largo de cincuenta años: un lenguaje, una máquina, una interfaz y una crítica.
Encuentra el punto de vista que vuelve fácil el problema. El primer movimiento de Kay nunca es atacar un problema de frente, sino cambiar el marco en el que está. Mensajería en lugar de procedimientos; un medio en lugar de una herramienta; células en lugar de código. La frase de los 80 puntos de IQ es el método enunciado como eslogan: el apalancamiento está en la perspectiva, no en el esfuerzo.3
Construye a partir de cosas independientes que mandan mensajes, no de procedimientos que llaman. La unidad de construcción es un objeto que protege su propio estado y expone solo mensajes. Haces crecer un sistema grande como la biología hace crecer un organismo – componiendo muchas partes pequeñas, independientes, que pasan mensajes – de modo que ninguna pieza dependa del interior de otra.12
Liga lo más tarde posible. Decide las cosas en el último momento responsable. El late binding es lo que mantiene el sistema lo bastante blando como para cambiar mientras corre y mantiene a los emisores ignorantes del interior de los receptores. El early binding compra velocidad y renuncia a la independencia que le permite a un sistema crecer.1
Trata a la computadora como un medio para el pensamiento humano. El estándar de la Dynabook no es “¿qué puede hacer esta herramienta por una tarea?”, sino “¿qué puede ahora pensar, hacer y simular una persona que antes no podía?”. La pregunta replantea toda la empresa, de la automatización hacia la amplificación.7
Inventa el futuro en vez de predecirlo. Cuando te pidan un pronóstico, decide en cambio. La disciplina de PARC era elegir el mundo que querías y construirlo, con la convicción de que una visión perseguida durante una década le gana a cualquier predicción.9
Cadena de influencia
Quién lo formó
Ivan Sutherland y Sketchpad. La tesis de 1963 que Dave Evans le entregó a Kay al llegar – con sus maestros e instancias, su manipulación directa en una pantalla – es la semilla documentada de su pensamiento sobre los objetos y los gráficos interactivos.4 (Influencia directa)
Simula y la idea de objeto. El lenguaje Simula le dio a Kay la noción concreta de objetos que empaquetan el estado junto con el comportamiento, que él luego radicalizó hasta “todo es un objeto, que habla mediante mensajes”.4 (Influencia directa)
Seymour Papert y Logo, por vía de Piaget. El trabajo de Papert sobre niños programando – y la psicología del desarrollo de Piaget y Bruner que lo respalda – le dio a Kay la convicción de que el público real de la computación eran los que aprenden y su propósito real era un medio para el pensamiento, no el procesamiento de datos. La Dynabook es la ambición de Logo en forma portátil.47 (Influencia formativa)
La biología. La formación de Kay en biología molecular aportó la metáfora maestra: la célula como una computadora completa que se autoprotege, y el organismo como millones de ellas mandándose mensajes. La orientación a objetos, para él, es el software intentando ser biología.2 (Influencia formativa)
A quién formó
Todo lenguaje orientado a objetos. El modelo de Smalltalk – objetos, envíos de mensajes, despacho dinámico – corre directo hacia Objective-C, Ruby y Java, y su vocabulario es ahora el mobiliario por defecto de la programación. Hasta los lenguajes que ignoraron su advertencia sobre la mensajería heredaron el término que él acuñó.56
La interfaz gráfica de usuario y, a través de ella, la Mac y Windows. La GUI de ventanas superpuestas que salió de su grupo en PARC, mostrada a Jobs en 1979 en el Alto, se convirtió en la Lisa, la Macintosh y luego en la interfaz de esencialmente toda computadora personal desde entonces.8
La laptop y la tablet. La Dynabook describió, en 1972, la computadora personal portátil que el mundo entero ahora carga. La máquina en tu escritorio y la tableta en tu bolso son ambas, a grandes rasgos, lo que Kay bosquejó.7
El hilo conductor
Barbara Liskov convirtió la abstracción de datos en una primitiva de la programación: un tipo es el contrato que cumple, y un subtipo debe honrar cada promesa que hace su supertipo. Eso es la convicción de la mensajería de Kay enunciada como teoría de tipos: lo que importa es el contrato entre objetos, no sus entrañas, y quien llama debería poder enviar un mensaje y confiar en la respuesta sin leer jamás cómo se produce. Donde Thompson y Ritchie construyeron Unix a partir de programas pequeños que “hacen una cosa bien” y se componen mediante tuberías limpias, Kay construyó sistemas a partir de objetos pequeños que hacen una cosa y se componen mediante mensajes limpios – la misma apuesta de que un sistema grande debería ser muchas cosas pequeñas e independientes, acopladas solo en sus interfaces. Y Grace Hopper insistió en que la computadora debía encontrarse con los humanos en su propio idioma, llevando la traducción dentro de la máquina para que una persona pudiera razonar en sus propios términos; Kay llevó eso a su límite con la Dynabook – la computadora no solo hablando el idioma del humano, sino convirtiéndose en un medio en el que el humano piensa. La línea corre luego hacia adelante, hasta Steve Jobs, quien entró a PARC en 1979, vio la interfaz de Kay y la llevó al mundo. (Puente de la serie)
Lo que me llevo de esto
La lección que me quedo es que la parte más difícil de cualquier sistema es elegir el marco, y que el marco vale más que la astucia dentro de él. La frase de los 80 puntos de IQ de Kay es la oración más útil de toda esta serie, porque te dice dónde gastar tu esfuerzo: no en moler más fuerte dentro de un modelo malo, sino en encontrar el modelo en el que el problema se disuelve. La mensajería fue ese movimiento para el software. Tratar a la computadora como un medio fue ese movimiento para la computación personal. La disciplina es seguir preguntando ¿qué punto de vista vuelve esto fácil? antes de escribir una línea. Ese es el mismo estándar que la calidad siendo la única variable: la pregunta nunca es “¿puedo hacer que el diseño equivocado trabaje más duro?”, sino “¿he encontrado el correcto?”.
En el mundo en el que construyo ahora – agentes, bucles de herramientas, sistemas de IA – la verdadera definición de Kay de la orientación a objetos es la idea que más peso carga en este sitio, y casi nadie la nombra. Un agente es un objeto de Kay: mantiene un estado privado, no puedes leer su interior, e interactúas con él únicamente enviándole un mensaje y confiando en que decida cómo responder. Un sistema multiagente es exactamente la visión biológica de Kay – muchas computadoras independientes, cada una protegiendo su propio contexto, creciendo hacia algo más grande mediante mensajes, nunca metiendo la mano en la memoria de las demás. La razón entera por la que eso funciona, cuando funciona, es el late binding: el emisor no sabe cómo responderá el receptor, y esa ignorancia es la función, porque es lo que les permite a las partes cambiar de manera independiente. Construir agentes bien es construir las células de Kay – y las fallas son siempre la misma falla, una frontera que se filtró. Esa convicción, la de que los sistemas deberían cultivarse a partir de cosas pequeñas que mandan mensajes en lugar de ensamblarse a partir de partes que se meten la mano unas a otras, es el hilo conductor que va de un boceto de la Dynabook en 1972 a un arnés de agentes en 2026, y es exactamente por lo que la puerta de la evidencia revisa la respuesta de un componente, no su interior.
Preguntas frecuentes
¿Cuál es la filosofía de ingeniería de Alan Kay?
La convicción central de Kay es que un sistema demasiado grande para abarcarlo en tu cabeza debe construirse a partir de objetos independientes que protegen su propio estado privado y se comunican únicamente enviando mensajes – cultivado como un organismo biológico a partir de muchas células pequeñas, nunca ensamblado a partir de partes que se meten la mano unas a otras. Debajo de eso hay una postura ante los problemas: un cambio de punto de vista vale más que la astucia en bruto, así que el trabajo es encontrar el marco en el que un problema difícil se vuelve fácil. Aplicó esto a la programación (Smalltalk), a la computadora misma (la Dynabook, la computadora como un medio para el pensamiento) y a la industria (su crítica de que la verdadera revolución de la computación aún no ha ocurrido).13710
¿Qué quería decir Alan Kay con “programación orientada a objetos” y “mensajería”?
Kay acuñó el término “orientado a objetos”, pero más tarde dijo que lo lamentaba porque hace que la gente se concentre en los objetos, las clases y la herencia – “la idea menor”. Su verdadera definición tiene tres partes: la mensajería; la retención, protección y ocultamiento locales del estado de cada objeto; y el late binding extremo de todas las cosas.1 La gran idea es la mensajería: los objetos nunca meten la mano en el interior unos de otros; un emisor envía un mensaje y el receptor decide qué significa en el momento en que llega. Fíjate en que las clases y la herencia no están en la lista – un lenguaje puede tener ambas y aun así errar el punto si deja que un objeto opere sobre el estado privado de otro. La mensajería es lo que hace que las partes sean genuinamente independientes, que es lo que le permite a un sistema grande crecer y cambiar sin volverse una maraña.16
¿Qué era la Dynabook?
La Dynabook era la computadora personal portátil que Kay describió en su artículo de 1972 “A Personal Computer for Children of All Ages”, presentado en la ACM National Conference: una máquina del tamaño de un cuaderno, con pantalla plana, que un individuo poseería y usaría en cualquier lugar, conteniendo su biblioteca, su música, sus dibujos y sus programas.7 No existía tal máquina; estaba describiendo la laptop y la tablet décadas antes. Pero su verdadero sentido era conceptual – la computadora como un nuevo medio para el pensamiento humano, como la escritura o la imprenta, en el que una persona (en especial un niño) pudiera construir y correr modelos dinámicos de ideas, no solo consumir contenido. El Xerox Alto se construyó como “la Dynabook provisional”, y las laptops y tablets que cargamos hoy son la visión hecha realidad en hardware.47
¿Por qué ganó Alan Kay el Premio Turing?
La ACM le otorgó a Kay el Premio A. M. Turing de 2003 “por ser pionero de muchas de las ideas en la raíz de los lenguajes de programación orientados a objetos contemporáneos, por liderar el equipo que desarrolló Smalltalk y por sus contribuciones fundamentales a la computación personal”.12 La mención captura ambas mitades de su trabajo: el lenguaje y el modelo de paso de mensajes que dieron forma a cómo se construye el software, y la Dynabook y el trabajo de interfaz gráfica de PARC que dieron forma a lo que es una computadora personal. Fue la figura clave detrás de Smalltalk, de la GUI de ventanas superpuestas que Steve Jobs vio en PARC en 1979 y llevó a la Macintosh, y del concepto mismo de la computadora personal y portátil como un medio para el pensamiento.48
Fuentes
-
Alan Kay, correo electrónico a la lista de correo de los desarrolladores de Squeak, 10 de octubre de 1998, archivado y ampliamente citado en picostitch, “Alan Kay On Messaging.” “I’m sorry that I long ago coined the term ‘objects’ for this topic because it gets many people to focus on the lesser idea. The big idea is ‘messaging’…” La definición de la OOP en tres partes de Kay – “messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things” – aparece en una respuesta posterior (2003) sobre el mismo tema, archivada en Stefan Ram, “Dr. Alan Kay on the Meaning of ‘Object-Oriented Programming.’” Discusión: Hacker News. ↩↩↩↩↩↩↩↩
-
Alan Kay, sobre la metáfora biológica/celular de los objetos y de escalar el software como un organismo; ver sus recuerdos en “The Early History of Smalltalk,” ACM SIGPLAN History of Programming Languages II (1993), y el planteamiento de “millones de células, cada una una computadora completa” resumido en su entrada de Wikipedia “Alan Kay”. ↩↩↩
-
“Quote Origin: Point of View Is Worth 80 IQ Points,” Quote Investigator. Atribuida a Kay; la entrega documentada más temprana fue en su charla del seminario Creative Think, el 20 de julio de 1982 (grabada por Andy Hertzfeld), con apariciones publicadas en 1984-1985. Variantes: “Point of view is worth 80 IQ points”, “A change in perspective is worth 80 IQ points”. También recopilada en Wikiquote. ↩↩↩
-
“Alan Kay,” Wikipedia. Nacido el 17 de mayo de 1940, Springfield, Massachusetts; doctorado, Universidad de Utah, 1969, asesor David C. Evans (disertación FLEX); Sketchpad de Ivan Sutherland y Simula como influencias sobre su pensamiento de objetos; asistió a la “Madre de todas las demos” de Engelbart en 1968; se unió a Xerox PARC en 1970 liderando el Learning Research Group; Smalltalk con Dan Ingalls y Adele Goldberg; la Dynabook; la GUI de ventanas superpuestas y el Alto como “la Dynabook provisional”; acuñó “orientado a objetos”; fundó el Viewpoints Research Institute (2001). Ver también Britannica, “Alan Kay.” ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
“Smalltalk,” Wikipedia. Diseñado en Xerox PARC; uno de los primeros lenguajes totalmente orientados a objetos y de tipado dinámico; todo es un objeto, toda la computación se hace por paso de mensajes; imagen dinámica, late-bound, viva. Implementación liderada por Dan Ingalls; documentación y trabajo de sistema por Adele Goldberg. ↩↩↩
-
Alan Kay, comentarios de la conferencia magistral de OOPSLA 1997, “When I made up the term object-oriented, I did not have C++ in mind”; ver “The Computer Revolution Hasn’t Happened Yet,” video y transcripción archivados, Internet Archive. ↩↩↩
-
Alan C. Kay, “A Personal Computer for Children of All Ages,” publicado originalmente en las Proceedings of the ACM National Conference, Boston, agosto de 1972 (republicado por el Viewpoints Research Institute). Describe la Dynabook – una computadora personal portátil, del tamaño de un cuaderno, como un medio para el aprendizaje – y se apoya en Bruner y Papert/Logo. Panorama y el linaje de la “Dynabook provisional” hacia el Alto: “Dynabook,” Wikipedia. ↩↩↩↩↩↩↩↩↩
-
“History of the graphical user interface,” Wikipedia, y “Xerox Alto,” Wikipedia. La GUI de ventanas superpuestas desarrollada en el Learning Research Group de Kay en PARC; a Steve Jobs y a los ingenieros de Apple les mostraron el Alto corriendo Smalltalk-76 – pantalla de mapa de bits, mouse, ventanas superpuestas – en diciembre de 1979; las ideas fluyeron hacia la Apple Lisa y la Macintosh. ↩↩↩↩↩
-
“Quote Origin: We Cannot Predict the Future, But We Can Invent It,” Quote Investigator. El propio relato de Kay (correo de 1998) rastrea “The best way to predict the future is to invent it” hasta una reunión de principios de 1971 de investigadores de PARC y planificadores de Xerox – “In a fit of passion I uttered the quote!” Atribución publicada más temprana: InfoWorld, abril de 1982. ↩↩
-
Alan Kay, “The Computer Revolution Hasn’t Happened Yet,” conferencia magistral de OOPSLA 1997 (Internet Archive). Argumento de que la industria adoptó los artefactos de la computación personal mientras erraba la idea – “automatizar el papel” en lugar de construir un medio genuinamente nuevo. ↩↩
-
Viewpoints Research Institute, STEPS Toward Expressive Programming Systems – el proyecto para reconstruir un sistema entero de computación personal (sistema operativo, aplicaciones y todo) en aproximadamente 20.000 líneas de código como crítica del exceso del software. Informe final de la NSF archivado en VPRI / Internet Archive (espejo de worrydream). Contexto: Wikipedia, “Viewpoints Research Institute.” ↩↩
-
“A.M. Turing Award Laureates – Alan Kay,” Wikipedia (mención de 2003). “For pioneering many of the ideas at the root of contemporary object-oriented programming languages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing.” Página del laureado en la ACM: amturing.acm.org/award_winners/kay_3972189.cfm. ↩