Smalltalk es un lenguaje reflexivo de programación, orientado a objetos y con tipado dinámico. Por sus características, Smalltalk puede ser considerado también como un entorno de objetos, donde incluso el propio sistema es un objeto. Metafóricamente, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican entre sí, mediante el envío de mensajes.
Un sistema Smalltalk está compuesto por:
- Una Máquina virtual (Virtual machine)
- Un archivo llamado "Imagen", que contiene a todos los objetos del sistema
- Un lenguaje de programación (también conocido como Smalltalk)
- Una enorme biblioteca de "objetos reusables"
- Y generalmente, un entorno de desarrollo que además puede funcionar como un sistema en tiempo de ejecución.
Los orígenes de Smalltalk se encuentran en las investigaciones realizadas por Alan Kay, Dan Ingalls, Ted Kaehler, Adele Goldberg y otros durante los años setenta en el Palo Alto Research Institute de Xerox (conocido como Xerox PARC), para la creación de un sistema informático orientado a la educación. El objetivo era crear un sistema que permitiese expandir la creatividad de sus usuarios, proporcionando un entorno para la experimentación, creación e investigación.
Kay pretendía hacer un ordenador para los niños de todas las edades; eso condujo al desarrollo del prototipo del Xerox Alto, nombrado originariamente "el Dynabook provisional". Éste plasmaba todos los elementos de una interfaz gráfica (GUI, Graphical User Interface, 1972). El componente de software de esta investigación es el Smalltalk, el cual tomó un camino propio, diferente al del Dynabook.
Se podría describir el Dynabook como lo que ahora se conoce como ordenador portátil o una tableta PC, el cual tenía como objetivo acercar los niños en el mundo digital. Los adultos también lo podían utilizar, a pesar de estar creado para los niños y niñas.
Kay quería que el Dynabook encarnara las teorías de aprendizaje que Jerome Bruner y Seymour Papert (quien había estudiado con el psicólogo del desarrollo Jean Piaget y había inventado el lenguaje de programación Logo) estaban proponiendo. El hardware en el cual se ejecutara el ambiente de programación era relativamente irrelevante. Desde finales de los noventa, Kay ha estado trabajando en el sistema de programación Squeak, un entorno de código abierto basado en Smalltalk, que se podría ver como continuación lógica del concepto Dynabook.
Toshiba también tiene una línea de ordenadores sublibreta conocidos como DynaBook.
Alan Kay está implicado activamente en el proyecto One Laptop Per Child que utiliza Smalltalk, Squeak, y los conceptos de un ordenador por aprender.
Aunque el hardware necesario para crear un Dynabook ya existe hoy día, Alan Kay cree que el Dynabook no se ha inventado todavía, porque faltan un software clave y un plan de estudios adecuado.
Alan Kay nació el 17 de marzo de 1940 en Springfield, Massachusetts. Se licenció en Matemáticas y Biología Molecular en la Universidad de Colorado, además consiguió la maestría y el doctorado en la Universidad de Utah. En ésta última universidad trabajó con Ivan Sutherland en una serie de aplicaciones gráficas muy importantes, donde se encontraban el Sketchpad. Además, durante esos años también trabajó como guitarrista de jazz.
En 1970 entró en el Centro de Investigación de Palo Alto de Xerox, durante está época desarrolló multitud de trabajos que fueron utilizados más tarde por Apple. Alan Key es uno de los principales ideólogos de la Programación Orientada a Objetos. Además, al crear el Dynabook fue lo que dio pie para los actuales ordenadores portátiles y las tablets.
En 1980 dejó Xerox y trabajó en Atari en los siguientes tres años. En 1984 se fue a trabajar a Apple Computer, hasta que se cerró el departamento en el que trabajaba, por lo que se fue a trabajar a Walt Disney Imagineering, hasta que ocurrió lo mismo que con Apple. Tras estas experiencias trabajó para Hewlett-Packard hasta 2005. En septiembre de ese año presentó un prototipo de portátil de tan sólo 100 dólares, para que todos los estudiantes pudieran tener uno. Y ese mismo año también fue nombrado Doctor Honorífico por el Instituto Tecnológico de Georgia. En 2010 fue nombrado por la Universidad de Murcia, Doctor Honoris Causa.
En 2001 Alan Kay recibió el UdK 01-Award en Berlín, Alemania, por ser pionero en las interfaces gráficas de usuario (GUI).
En 2003 recibió el ACM Turing Award por su trabajo en la programación orientada a objetos.
En 2004 recibió el Premio Kyoto y el Premio Charles Stark Draper junto con Butler W. Lampson, Robert W. Taylor y Charles P. Thacker
En 2005 fue nombrado Doctor Honorífico por el Instituto Tecnológico de Georgia.
En 2010 fue nombrado Doctor Honoris Causa por la Universidad de Murcia.