En el siglo pasado (cómo pasan los años), alguna vez estuve estudiando Squeak. En estos días he vuelto a visitarlo, y quería escribir un artículo simple, introductorio, sobre su fácil instalación.
Squeak es una implementación de código abierto de Smalltalk, que ha venido desarrollándose desde hace años. Es interesante la implementación interna de su máquina virtual, en gran parte escrita en Smalltalk, con herramientas para producir su propia máquina virtual.
Como en otras implementaciones, uno necesita instalar la máquina virtual del sistema operativo que usará. En este artículo, instalaremos una versión (la 3.9) para Windows. También necesitaremos una imagen, un archivo con el estado de las instancias activas. Smalltalk se ha caracterizado desde siempre, por poder escribir y levantar una imagen, una especie de "snapshot" del estado del sistema.
La página de Squeak es
http://www.squeak.org
Para alguien no avisado de la existencia de máquinas virtuales e imágenes, es un poco confusa la explicación de su instalación:
http://www.squeak.org/Download/
porque hay varias opciones. Por ejemplo, bajar las versiones desde
http://ftp.squeak.org
Pero hay multitud de archivos. El que vamos a usar es un archivo .zip que contiene la máquina virtual para Windows y la imagen 3.9 (actualmente ya hay una imagen 3.10 en desarrollo), directamente desde:
http://ftp.squeak.org/3.9/win/Squeak3.9-win32.zip
Ese archivo contiene:
Vemos un Squeak.exe, que es la máquina virtual ejecutable. El archivo SqueakV39.sources es de texto, de más de 4 megas de tamaño. Contiene el código fuente de las clases que componen esta versión. El archivo Squeak3.9-final-7067.image es la imagen, el "snapshot" que contiene las instancias de este sistema.
Podemos expandir el contenido de este .zip en un directorio, y hacer doble click sobre el ejecutable de la máquina virtual Squeak.exe. Automáticamente detecta la imagen. Alternativamente, podríamos arrastrar desde el Explorer de Windows el archivo imagen sobre el archivo .exe. Aparece nuestra primer bienvenida al mundo Squeak:
Todo lo que aparezca dentro de esta ventana, es armado por el propio Squeak. Siguiendo la tradición del Smalltalk original, el aspecto gráfico, los controles, ventanas, y demás "widgets" son dibujados por el propio sistema. La apariencia de esta ventana y sus contenidos, entonces, es independiente del sistema operativo.
En la solapa derecha titulada tools, encontramos una serie de herramientas. Levantando el clásico "browser" de Smalltalk, encontramos:
Las cuatro listas superiores, muestran, en orden:
- Las categorías de clases
- Las clases de la categoría seleccionada
- Las categorías de métodos (de instancia o de clase)
- Los métodos
En la captura de pantalla aparece la clásica Object, de Kernel-Objects.
Los interesados en la máquina virtual, pueden visitar
http://www.squeakvm.org
Es interesante ver las instrucciones para producir una máquina virtual, por ejemplo, en Win32:
http://www.squeakvm.org/win32/compiling.html
Bueno, por hoy, bastante. Espero que les sirva para comenzar a conocer e investigar esta implementación de Smalltalk.
Nos leemos!
Angel "Java" Lopez
http://www.ajlopez.com/