Smalltalk es un lenguaje orientado a objetos puro, simple y uniforme. Smalltalk ha influido la mayoría de los lenguajes orientados a objetos modernos (Smalltalk nació hace más de 35 años), aunque en la mayoría de ocasiones se perdió la elegancia y simplicidad de Smalltalk. La sintaxis de Smalltalk y el modelo de objetos son muy simples:
- Todo es un objeto.
- Los objetos se comunican a través del paso de mensajes.
- Los objetos que generan las clases se describen en términos de estado (instancian variables) y el comportamiento (métodos).
- Cuando un objeto recibe un mensaje, el método correspondiente se localiza en la clase (y superclase) del receptor.
- Los métodos son públicos.
- Las variables de instancia son privadas.
- Clases heredan a través de la herencia simple.
El siguiente ejemplo de Smalltalk hace uso de las clases Morphic Squeak GUI para crear una elipse, cambiar su color a azul y mostrarlo en pantalla:
EllipseMorph new color: Color blue; openInWorld.
Squeak tiene una comunidad de usuarios activa y entusiasta. Entre los participantes figuran los profesores que trabajan en los materiales curriculares, aficionados, usuarios comerciales y académicos, y un número de “mecánicos cuánticos” interesados en nuevos y mejores enfoques encaminados al desarrollo eficaz y sencillo de la computación de alta calidad. Squeak dispone de una gran variedad de proyectos muy populares en el ámbito del desarrollo, interfaces, desarrollo de aplicaciones web o educación. Scratch es precisamente uno de los proyectos educativos de Squeak más conocidos del que ya hemos hablado anteriormente. Scratch es una herramienta de programación que permite que los niños puedan crear sus propios juegos, historias animadas, o arte interactivo, así como también compartir sus creaciones con otros en internet. Scratch se basa en la tradición de Logo y LEGO/Logo, pero hace uso de las ventajas de las nuevas ideas de computación para facilitar el aprendizaje de la programación y extender el rango en el que los niños pueden construir y aprender. Tal como comentamos en el artículo sobre Scratch, la versión 1.4 de Scratch incorpora la posibilidad del manejo del kit de WeDo.
NXTalk, que se inició en HPI, Potsdam (Alemania), como un proyecto de investigación, es un enfoque integrado para lograr disponer de la programación de Smalltalk sobre la plataforma Lego Mindstorms NXT. Se compone de dos elementos básicos:
- la máquina virtual NXTalk (VM), que se ejecuta en el hardware de NXT sobre el firmware open-source NxOS, y
- el entorno de programación NXTalk, que se implementa en Squeak.
Según la información del Prof. Dr. Robert Hirschfeld un programa de NXTalk tiene el aspecto de un programa de Smalltalk ordinario y las herramientas de programación disponibles en Squeak se puede utilizar perfectamente para desarrollar software para el NXT. Los programas de NXTalk también puede ser simulado en Squeak en cierta medida.
A pesar de que NXTalk ya funciona su futuro depende en gran medida de las contribuciones de la comunidad. Cualquiera interesado en contribuir al desarrollo de la maquina virtual o del entorno puede contactar con el mantenedor del proyecto en su propia página.
Información adicional: