Durante el mes de agosto, en el marco de las 54 JAIIO, tuvimos la extraordinaria oportunidad de participar de una charla en vivo con Alan Kay, uno de los padres de la Programación Orientada a Objetos (POO), arquitecto pionero de los sistemas modernos de interfaz gráfica de usuario y ganador del premio Turing, entre otras distinciones. En esta nota repasamos los momentos destacados de la charla y compartimos el video completo de la misma.
Este año las 54° Jornadas Argentinas de Informática e Investigación Operativa (JAIIO) nos brindaron una inspiradora charla de Keynote Speaker con uno de los pioneros de la computación y los lenguajes de programación modernos, Alan Kay. Destacado investigador -formado en matemáticas, biología molecular e ingeniería eléctrica- que es uno de los padres de la POO y arquitecto pionero de los sistemas modernos de interfaz gráfica de usuario. Además, en los sesenta proyectó la Dynabook, un concepto de computadora personal revolucionario que llevó a la creación de tecnologías que usamos hoy, como las computadoras portátiles y las tablets.
La conversación -que se desarrolló en modalidad virtual, duró alrededor de una hora y media ininterrumpida y contó con el aula 1402 del Cero +Infinito colmada de público- fue moderada por Hernán Wilkinson, profesor y director adjunto del DC y referente del Paradigma de Objetos y Técnicas Ágiles en la universidad y la industria.
Desde los 50 a los 80: un repaso a la evolución de la informática y la escalabilidad de los problemas
La charla comenzó con una pregunta disparadora sobre cuáles considera que son las conexiones entre sus grandes contribuciones a los lenguajes de programación y los tópicos introducidos por Barbara Liskov, Stephen Zilles y los referentes que introducen tipos de datos abstractos como una forma de estructurar software antes que Kay y sus contribuciones.
“Vale la pena preguntarse si lo hecho hace como 60 años, en mi caso, tiene alguna relevancia hoy, porque podría tenerla pero no ha habido ninguna ley de Moore para el software. Ya que el software todavía utiliza ideas que se inventaron para hacer frente a la escala de los problemas, hace 50 o 60 años, y en términos generales es probablemente que estén completamente obsoletas excepto para cosas de escala muy pequeña”, puntualizó Kay.
El investigador señaló que usamos técnicas que eran muy buenas a principios de los 70 y los 80, y la mayoría de las cosas que se han hecho desde entonces han podido desarrollarse de diversas maneras para escalar la eficiencia de ese software, pero no para escalar la capacidad de innovar a partir de ese software y amplificar la inteligencia y la creatividad. Y eso se ve en la forma como las personas luego usaron las computadoras, como simuladores convenientes de viejos medios.
En este sentido, se refirió a que una de las cosas que deberíamos tratar es sobre las escalas en cada época: “para mí los 50 fueron de comando y control, en los 60 se intentó inventar la computación personal (con los trabajos del visionario Douglas Engelbart y de ARPANET), en los 70 podemos pensar en Xerox PARC como un centro de investigación fundamental quizás pero también en lo que Nicholas Negroponte hizo en el MIT como pionero no sólo en la experiencia del usuario sino de estos intentos de inventar una computadora personal y luego llegamos a los 80 con la comercialización y los empresarios que comercializaron los inventos de los años 60 y 70, aunque no estaban interesados en los ideales de las décadas anteriores sino simplemente en hacer negocios y ganar dinero”, profundizó el Keynote Speaker.
A su vez, planteó que el cambio de escala del software comenzó a abrir el mundo a muchas más personas para programar que no tenían el mismo background sobre la programación. Y comentó la influencia del precursor lenguaje Simula, en los lenguajes de programación actuales. “Simula fue un lenguaje de programación innovador que introdujo los conceptos de clases, objetos y herencia, siendo considerado el primer lenguaje orientado a objetos. Que puedes analizar de dos maneras, se podría considerar que Simula fue un intento de mejorar Algol, como forma de definir las cosas más a nivel de sistemas que a nivel algorítmico. Y una de las formas de pensar lo que hizo Simula fue permitirte definir cuestiones como estructuras de datos de una manera mucho mejor, y ese era el problema de los 60, cómo definir las estructuras de datos de una manera razonable”, advirtió Kay.
Y la otra forma de verlo es mirar Simula desde el punto de vista de Sketchpad (el primer programa informático que permitió la manipulación directa de objetos gráficos) y los tipos de datos abstractos. “Es parte de la innovación. Cuando se descubre algo nuevo se puede ver como una mejora o como una actualización o forma de innovar sobre algo. Y este fue el primer sistema orientado a objetos que funcionó”, concluyó.
De la aldea global al pensamiento sistémico y crítico
Para entender dónde estamos parados, Kay citó una idea del filósofo Marshall McLuhan, quien postuló el concepto de “aldea global” y pensó en la tecnología y los medios modernos en términos mucho más amplios.
“Lo más simple que dijo McLuhan para que la gente lo comprendiera fue darse cuenta que el automóvil no era una simple etapa siguiente del caballo y el carruaje. Aunque parecía que la gente lo compró para eso. Pero el motor de combustión interna no era nada parecido a un sustituto de un caballo, porque se cambiaron las escalas”.
Y dio un ejemplo puntual del cambio de escala con el uso del automóvil. “Si estuviera allí en persona le preguntaría a la multitud, cuántas personas están dispuestas a sacrificar el planeta tierra para tener un automóvil. Como cuántas muertes por accidentes automovilísticos hay en nuestro planeta cada año (una persona del público responde un millón): hay 1,2 millones al año. Y es la principal causa de muerte en Estados Unidos en chicos de 1 a 19 años”, comentó.
Y, en este sentido, recalcó que hay ideas que permean en el entorno, en el medio ambiente, y son aceptadas normalmente sin importar su impacto, como el auto.
“Cuando cambias algo que es ambiental, global, de una manera que cambia la escala y la escala de estas cosas comienza tan suavemente que ni siquiera parece estar aumentando en absoluto. En estas etapas iniciales es difícil explicarle a la gente que algo considerable está sucediendo, y es lo que está sucediendo con el cambio climático. No comprendemos lo que la revolución industrial hizo sobre cosas que supuestamente eran beneficiosas para nosotros, los humanos, pero tenemos micropartículas en el torrente sanguíneo, desastres naturales provocados por el hombre, uso de recursos que creemos que son infinitos y en realidad es un planeta muy finito, que hemos afectado profundamente”, afirmó Kay.
Luego se refirió al espíritu de exploración e invención de la época de los 60 y el pensamiento crítico que reinaba en Palo Alto: “Lo interesante de la comunidad informática de los 60 era la amplitud del conocimiento y el profundo interés en los sistemas porque parte de lo que hacían los investigadores era crear sistemas operativos. Y por eso había mucho más pensamiento sistémico y crítico en las clases de ciencias de la computación en los 60 que ahora, porque la mayor parte del pensamiento de hoy en día es acerca de conseguir un trabajo, y eso implica lidiar con sistemas heredados, y los sistemas y programas heredados no pueden cambiarse a un mejor software porque es necesario mantenerlos y las personas tienen que invertir esfuerzo en mantenerlos”.
Y complementó esta idea respecto al hardware: “Se dio un gran break en la escala del progreso. La ruptura se dio por la comercialización y esto incluye salvo algunas excepciones, no sólo el software sino las arquitecturas de hardware. Tal es así que la mayoría de los avances en hardware han servido para reducir las reglas de diseño en un par de nanómetros más y así poder poner más transistores en el chip. Pero muchos programas están escritos en lenguaje C y cosas por el estilo. La optimización no era para hacer buenos procesadores aplicados y orientados a objetos sino para hacer procesadores realmente buenos para C”.
El hito de Dynabook
Al avanzar la conversación, Alan Kay contó que trabajó con Seymour Papert -matemático y educador considerado uno de los pioneros de la IA- quien tenía intereses en psicología infantil y había trabajado en Ginebra con Jean Piaget. Papert enfatizaba en la creación como forma de aprendizaje, como parte del paradigma construccionista, e inspirado en estas ideas Kay se preguntó si podría haber una computadora para educación que pudieran usar todos los niños y las niñas del mundo. En el ámbito digital, esto se tradujo en que los niños crearan juegos, simulaciones y arte digital. Como creadores, se enfrentaban a problemas, probaban soluciones y profundizaban su comprensión intuitivamente.
En este sentido, Kay señaló que Dynabook, se planteó como una computadora portátil que podía empoderar a los niños de todas las edades para crear y fomentar el aprendizaje y la idea fue concebida en 1968 dos años antes de la fundación de Xerox PARC. El componente de software de esta investigación es Smalltalk, el cual tomó un camino propio, diferente al del Dynabook. De hecho, se podría describir al Dynabook como lo que ahora se conoce como ordenador portátil o una tablet, el cual tenía como objetivo acercar los niños al mundo digital (los adultos también lo podían utilizar, más allá de estar pensado para niños).
“Era imposible materializar la idea en 1968 pero sí en 1978. En realidad las laptops no aparecieron hasta los años 80. Pero al someter este problema a la Ley de Moore, si en 1968 tuviéramos un factor de un millón considerando el tamaño y la potencia y los costos juntos, ¿podríamos dentro de 30 años, o sea en 1998, tener una computadora portátil para niños? Y la respuesta fue rotundamente sí. Y la pensamos como un entorno de aprendizaje, que la interfaz de usuario sea eso, porque permite a los usuarios explorar y cometer errores, no es un sistema de control. Lo bueno es que pudimos desarrollarla desde cero, sin intereses comerciales. La idea de que realmente se pudiera aprender de una interfaz fue lo que hizo que se socializara”, argumentó.
Pensamientos finales
Para cerrar, nos quedamos con algunas conclusiones e ideas memorables de este pionero de la informática moderna:
1) “Empecé diciendo que los 50 eran de comando y control, los 60 eran pensar qué era la informática personal, los 70 era pensar qué era una computadora personal, a partir de los 80 básicamente surgió la comercialización de las computadoras y un uso mucho más dependiente, como los comerciantes y marketineros buscaron la forma de legalizar las drogas, y esta es la era en la que estamos, la que podríamos llamar ‘búsqueda de la seguridad”.
2) “Y se le quitó cierta importancia a cuestionar ciertas cosas que usamos cotidianamente, como nuestras computadoras. Nuestra conciencia sobre la interfaz de usuario es esencialmente cero. Pero te creíste lo que te vendieron, contrariamente al espíritu de la investigación en la informática”.
3) “En términos de seguridad no hay una advertencia de la interfaz de usuario o de un sistema antes de que falle como tiene un detector de monóxido de carbono de un hogar, nadie entiende lo peligrosas que son las computadoras en manos de inexpertos y los fallos que pueden causar especialmente en misiones críticas, como hospitales y centros de salud”.
4) “Si quieren trabajar en resolver un gran problema, los dos mayores problemas que tenemos actualmente son la falta de experiencia de las personas (población) en general, de educación respecto a la informática, y qué deben hacer los sistemas para ayudar a mantener la seguridad de los ciudadanos. Un eslogan para eso podría ser, ‘¿cuánta ayuda es demasiada ayuda y cuánta no es suficiente?’ Esas son las preguntas que deberían responder para realizar una buena investigación hoy en día”.
Sin lugar a duda, Alan Kay influyó en la tecnología que usamos actualmente en nuestra vida cotidiana.
Además de un inventor es un filósofo de la tecnología, porque considera que el verdadero poder de la computadora está en la educación y la innovación para crear cosas realmente transformadoras. En usar la tecnología para amplificar la inteligencia humana. La idea no es que el futuro nos programe a nosotros, sino que nosotros programemos el futuro, que lo diseñemos con fines más humanistas. Sus ideas están vivas en cada una de las tecnologías que usamos.
“No sólo es un científico sino un romántico, un humanista, y nadie se ha beneficiado más que él de su comunidad investigadora”, afirmó el moderador Hernán Wilkinson, agradeciéndole profundamente por sus contribuciones e ideas inspiradoras, en el cierre de la charla.
Nacido en Springfield, Massachusetts, el 17 de mayo de 1940, Alan Kay ha realizado importantísimos aportes a la informática personal, por lo que es considerado como una de las personas más relevantes en el mundo de la computación.
Entre sus numerosos honores y distinciones se incluyen el Premio Turing de 2003, otorgado por la Association for Computing Machinery (ACM) y considerado como el Nobel de Informática, por establecer las bases de la programación orientada a objetos y por sus contribuciones al desarrollo de los ordenadores personales.
También recibió el Premio de la Computers and Communication Foundation (CFC), el Premio de Tecnología Lewis Branscomb y el Premio Charles Stark Draper de 2004. En 2004, recibió el Premio Kioto de Tecnología Avanzada. Es miembro de la Academia Estadounidense de las Artes y las Ciencias, la Academia Nacional de Ingeniería y la Royal Society of Arts.
Actualmente, la «Programación Orientada a Objetos» es la forma más extendida de programar y es usada por empresas de todo el mundo para crear aplicaciones software escritas en lenguajes como Java, Ruby, C# o C++. Todos estos lenguajes están basados en el lenguaje Smalltalk creado por Alan Kay a principios de los setenta, por lo que se le considera el «padre de la orientación a objetos».
Smalltalk, es un lenguaje y entorno de programación que ha ejercido gran influencia, no sólo por definir de forma clara y simple los conceptos básicos de la programación orientada a objetos, sino por incorporar un entorno orientado a facilitar la interacción del usuario con ideas innovadoras como el uso de ventanas o el mouse.
Es también pionero en el concepto de ordenador personal portátil, algo que desarrolló a finales de los sesenta con un prototipo de ordenador que denominó Dynabook.
Alan Kay ha sido investigador responsable en prestigiosos centros de investigación de empresas como Xerox, Atari, Apple, Walt Disney y Hewlett-Packard. También ha ejercido como profesor en las universidades de Utah, Stanford, CaltTech, MIT, Kyoto, Wisconsin y UCLA, y ha sido investido doctor honoris causa por varias universidades entre las que se encuentran las de Pisa y Kyoto.
En 2001 fundó el Viewpoint Research Institute (VPR), una organización sin fines de lucro dedicada principalmente a idear nuevas formas de aprendizaje de los niños, especialmente en las formas de razonamiento propias de las matemáticas y las ciencias.
Desde la creación de Smalltalk, al que veía como un lenguaje para que los niños aprendiesen a razonar y programar, Alan Kay ha estado siempre muy interesado por el aprendizaje de los niños y como valiosa herramienta para abrir sus mentes a la abstracción por las posibilidades que ofrece para simular la realidad y crear mundos virtuales.