Alan Kay. Matemático, biólogo, ingeniero y músico de jazz, inventó la notebook, la programación orientada a objetos y la palabra ícono
Alan Kay con el prototipo de Dynabook
Como toda serie histórica, la de los Pioneros Inesperados funcionan como un rompecabezas
Alan Kay con el prototipo de Dynabook
Como toda serie histórica, la de los Pioneros Inesperados funcionan como un rompecabezas. O, para decirlo con más precisión, era más entretenido hacerlo de este modo que poner los personajes en un impecable pero no siempre emocionante orden cronológico. Por lo tanto, hay momentos en los que un sector del rompecabezas empieza a completarse. Uno de esos sectores es el período fundacional de prácticamente todo lo que hacemos hoy con las computadoras (y eso incluye desde el smart TV hasta tu celular). Es decir, la década del ‘60.
Por esta serie han pasado desde el incomparable Douglas Engelbart hasta Larry Tesler , David Canfield Smith y Adele Goldberg . Todos estos pioneros tienen un factor común: Alan Kay . Douglas Engelbart junto a un prototipo del mouse, en 2008
Alan Kay es el Leonardo Da Vinci de la computación tal como la conocemos hoy. Diré más: en su mente -prodigiosa, multidimensional- todo esto que nos maravilla es (lo ha declarado) solo un pequeño suburbio de algo que podría ser mucho más amplio, poderoso y multiplicador . Alan aprendió a leer por las suyas a los tres años , y una vez dijo en un reportaje que esto le había permitido darse cuenta, cuando llegó a la primaria, que los maestros le mentían. Desde entonces, ha sido también uno de los críticos más agudos de la industria .
Matemático y biólogo molecular , se enamoró tempranamente de la guitarra y del jazz , y al principio su plan era convertirse en músico . Pero entre 1966 y 1969 , en la Universidad de Utah , se cruzó con las ciencias de la computación , se graduó como ingeniero y tomó contacto con la programación . Abandonó la carrera de músico, aunque también aprendió otros instrumentos, y en 1969 recaló en el SAIL , el Laboratorio de Inteligencia Artificial de la Universidad de Stanford , fundado por otro de nuestros pioneros, el gran John McCarthy , que iba a acuñar la frase "inteligencia artificial". John McCarthy
De allí pasó al Xerox PARC . Los que siguen esta serie saben que las siglas PARC aparecen con inusual frecuencia, y esto es porque se dio allí una combinación de factores excepcional: un ambiente de brainstorming constante y una masa crítica de mentes brillantes como pocas veces se volvería a ver . PARC viene de Palo Alto Research Center ; lo visité a finales de la década del ‘90, cuando estaba próximo a convertirse en una subsidiaria independiente de Xerox. Conocer el PARC fue una de las experiencias más impactantes de una vida cubriendo estas tecnologías. Estuve en muchas compañías y en muchos laboratorios. Solo el Almadén y el Watson de IBM se le acercaban. Pero en el PARC se respiraba innovación hasta en los pasillos.
Allí nacieron el mouse , la interfaz gráfica , el printer láser y las redes . Pero también surgieron tres ideas más, de las que casi no se habla. Dos de ellas son tan cotidianas que parecen haber estado siempre allí. De la otra se habla poco fuera del ambiente porque es un poco hermética. De las tres Alan Kay fue el padre.
El músico
Alan Curtis Kay nació en Springfield, Massachusetts, Estados Unidos , el 17 de mayo de 1940, y su familia solía mudarse de ciudad y de estado (su papá era fisiólogo ). New York , Colorado , Utah , California , el joven que iba a desarrollar una idea que tenemos delante de los ojos todo el tiempo (y que sería el colaborador o en algunos casos el jefe de los que crearían muchas otras) fue formándose con un inusual estilo renacentista , sin ponerle vallas al conocimiento, sin silos. Matemática, biología, ingeniería, música, su hambre de saber no parecía conocer límite.
Su obsesión fue siempre la educación, y, de hecho, una de sus invenciones es la notebook y, en buena medida, la tablet . Esa invención se llamó Dynabook y estaba destinada a los niños; Kay la propuso en 1968, es decir 42 años antes de que naciera la iPad. En muchas ocasiones ha dicho que la forma en que usamos las computadoras hoy fue originalmente una idea para niños. Cosa que, claramente, habla muy bien de los niños.
No es casualidad que una de sus principales influencias haya sido Seymour Papert , que le presentó el lenguaje de programación Logo , del que mal o bien todos hemos oído hablar (el de la tortuguita ) y que estaba destinado al aula (en 1986 entrevisté al gran Antonio Battro , que en esa época experimentaba con Logo en la Argentina). Logo, vale aclararlo, es una versión de Lisp , y Lisp había sido creado por John McCarthy .
Abran las ventanas
Sobre la vida de Kay podría escribirse una biografía tan jugosa como la de Steve Jobs , de quien fue siempre muy crítico. Pero no tenemos tiempo para tanto. Para completar este sector del vasto rompecabezas que nos llevó del ábaco y el astrolabio a las computadoras de bolsillo con inteligencia artificial (IA), veamos cuáles fueron esos tres inventos de Kay que cambiaron la historia .
Cuando usás tu computadora (y desde hace algún tiempo también los smartphones) te parece super normal que las ventanas del PowerPoint y del Excel se solapen, que estén una sobre la otra, que las puedas mover como si fueran, bueno, lo que parecen haber sido siempre: aplicaciones en ventanas en una pantalla . Eso lo desarrolló Kay.
Cuando estaba en el PARC participó del diseño de la Alto, la primera computadora con lo que en la jerga se conoce como GUI (se pronuncia "gui" también en inglés), siglas de Graphical User Interface . En rigor, la idea de la interfaz gráfica nace mucho antes, con Douglas Engelbart, de quien Kay era profundo admirador. Su tarea fue la de implementar lo que hoy vemos en el mundo real, y su influencia había empezado años antes, cuando escribió su tesis doctoral en la Universidad de Utah. Describió allí la Flex Machine , un tipo de computadora que no haría una sola cosa, como era usual entonces, sino muchas, y que aprendería de los procesos cognitivos de las personas . Aclaración importante: todavía no había nacido Unix . Multics , que es el predecesor de Unix, aparecería en 1969 .
Kay acuñó el término íconos (que luego usaría Canfield Smith ) y desarrolló esta idea de que las máquinas tenían que entendernos y no al revés . Sobre todo, de que deberíamos poder hablarles y programarlas de una forma dinámica y sencilla. Con estas ideas, además de la Alto y, más tarde (cuando ya era tarde para ganarle a Apple), la Xerox Star , Kay diseñó la Dynabook .
Los niños, primero
La Dynabook era lo que hoy llamaríamos una notebook (o una tablet con teclado) para chicos. Así de simple. Cierto que todos llevamos un niño en nuestro interior, pero Kay solía quejarse de cómo Apple , al adquirir los desarrollos del PARC, había neutralizado el verdadero poder detrás de las ideas de Engelbart . A su juicio, la decisión fatal, que luego Microsoft copió y más tarde copiarían también los entornos gráficos de Linux , fue la de pensar en términos de una metáfora de Escritorio (que también fue obra de Kay). Esto, en su opinión, ofuscó la idea de que hacemos muchas cosas a la vez , que esas cosas cambian dinámicamente y que por lo tanto debemos tener la posibilitad de múltiples escritorios interrelacionados y adaptables .
Un paréntesis aquí. Es muy probable que Kay tenga razón. Pero es probable que Apple haya tenido razón también al circunscribir la interfaz a la metáfora de Escritorio y nada más. El ideal de Alan era tan ambicioso que quizá no se podría haber ajustado fácilmente a todo el espectro de destrezas informáticas del público. Los teléfonos, muy limitados en este aspecto, son una prueba. Es sin embargo cierto que los usuarios que de verdad le sacan el jugo a sus computadoras suelen tener tres o más pantallas, media docena de Escritorios y una multiplicidad de tareas interrelacionadas corriendo en segundo plano. Además, si me lo preguntan, solo con ideales ambiciosos y superadores se consiguen grandes obras y nada posible se consigue buscando lo posible; lo posible se consigue exclusivamente al buscar lo imposible . Kay quería, pues, otra computación y, aunque fue fellow de Apple, nunca dejó de quejarse de la mala influencia que la compañía había tenido sobre la informática personal.
Objetivamente hablando
El tercer invento de Kay es el más hermético, pero no solo ha sido enormemente influyente, sino que en gran medida permite vislumbrar cómo es su visión profunda de la computación . Ese invento es la programación orientada a objetos ( OOP , por sus siglas en inglés, que son las más usadas). Ejemplos de lenguajes orientados a objetos son C++ , Java y Python , entre muchos otros. El primero se llamó Smalltalk , y lo creó Alan Kay . La emblemática tapa del manual original de Smalltalk-80, de Golberg y David Robinson, en la versión del Internet Archive
Resumo mucho: los lenguajes de programación de alto nivel permiten decirle a una computadora, de una forma sencilla, amigable y cercana , qué debe hacer. Lo que escribe el programador (y que luego se traduce al lenguaje de la máquina) se llama código . No códigos . Código, en singular.
Hay dos grandes familias de lenguajes de programación de alto nivel (o paradigmas , en la jerga): los imperativos (el código controla el flujo de lo que la máquina debe hacer) y declarativos (el código dice qué esperar del programa, pero no cómo hacerlo). Simplificando mucho, los lenguajes más fáciles de asociar con la programación son los imperativos . Un ejemplo de lenguaje declarativo es SQL , que se usa para operar (resumiendo mucho de nuevo) con bases de datos relacionales.
Dentro de los lenguajes imperativos están los procedurales y los orientados a objetos . Los procedurales (sería más correcto decir procedimentales ; procedural no existe en español) son muy fáciles de entender: escribís el código para que la máquina haga algo y ya.
Pero Alan tenía otra idea. En su mente la programación no podía ser tan estática. Por ejemplo, si tenías que escribir un programa para administrar recursos humanos, por qué no fundar una clase llamada Empleados , de tal modo que cada empleado de la compañía fuera una instancia de esa clase. Es decir (y, por favor, no hay ningún meta mensaje aquí), cada empleado sería un objeto de la clase Empleados . Heredaría así una serie de propiedades, datos y funciones . Pero hay más. Una vez definida una clase, los objetos instanciados no solo podrían interactuar entre sí, sino que podían usarse en otros programas.
Programé con objetos, por supuesto que rústicamente, hace muchos años, y es de verdad fascinante. Más allá de que, como todo en programación, hay un lenguaje para cada necesidad y por lo tanto OOP no significa mejor , la creación de clases y objetos permite observar cómo funciona la mente de Alan Kay. Y me tomo aquí una licencia. Alan es músico, y la música no es procedural . La música es orientada a objetos. Sol mayor no existe en el vacío, existe en un universo tonal y contiene una serie de datos, pero también de métodos. El lenguaje humano es orientado a objetos ; la palabra casa no existe en el vacío. Los acordes se organizan en el círculo de quintas. Las notas son esas notas en contraste con todas las otras. Lo mismo, potenciado, ocurre con el lenguaje humano ; nuestra producción lingüística es una constelación, con clases, objetos, herencia, contexto, datos, métodos . Kay quiso llevar esa increíble potencia a los lenguajes de programación. Lo logró, con Smalltalk , que apareció primero en las Alto de Xerox, y sentó las bases para algunos de los lenguajes que más se usan hoy. Alan Turing
Los detalles técnicos no son triviales, pero extenderían este texto más allá de su propósito. Alan Kay, que recibió el Premio Turing en 2003 por Smalltalk, fue el hombre que trajo música a la computación; que se puso en el lugar de los chicos; que se lamentó de que la frase "programación orientada a objetos" hubiera pegado, porque a su juicio no importaban los objetos, sino los mensajes, y, en el gran mapa, funcionó como el ideólogo de la revolución digital . Pero como todo ideólogo, debió conformarse con la realidad, que siempre defrauda un poco . Claro que, sin su aporte monumental esa realidad habría sido todavía mucho más decepcionante.