El entorno de squeak hariel salazar programacion 1

50
Introducción a la programación orientada a objetos: squeak, el entorno 1. El entorno Índice 1. Introducción 2. Consideraciones en la selección del entrono Squeak 3. Instalación del Squeak 4. Creando Proyectos 5. Ventanas de trabajo 6. Otras Herramientas disponibles 7. Resumen 8. Ejercicios 1. Ejercicios Ejercicio final de la unidad

description

Pogramacion Orientado a objetos

Transcript of El entorno de squeak hariel salazar programacion 1

Page 1: El entorno de squeak hariel salazar programacion 1

Introducción a la programación orientada a objetos: squeak, el entorno

 1. El entorno

 Índice

 1. Introducción

 2. Consideraciones en la selección del entrono Squeak

 3. Instalación del Squeak

 4. Creando Proyectos

 5. Ventanas de trabajo

 6. Otras Herramientas disponibles

 7. Resumen

 8. Ejercicios

  1. Ejercicios

 Ejercicio final de la unidad

Page 2: El entorno de squeak hariel salazar programacion 1

1. El entorno1. IntroducciónIntroducción

El propósito de este capítulo es interactuar con el ambiente de Squeak y sus principales componentes. Se mostrará las funcionalidades de cada una de estas y como nos facilita el trabajo en la edición de código en la construcción de programas.El ambiente de Smalltalk es muy amigable y la mayoría de sus implementaciones poseen un entorno de interacción muy diferente al entorno de desarrollo típico de otras tecnologías conocidas, como las de Borland Software Corporation o Microsoft Visual Studio .Net o Eclipse. El entorno o ambiente Smalltalk es primordialmente gráfico y funciona como un sistema en tiempo de ejecución que integra varias herramientas de programación, utilidades multimedia, interfaces para ejecutar código no nativo a Smalltalk y servicios del sistema operativo. 

 

 

UPNFM

Page 3: El entorno de squeak hariel salazar programacion 1

Estas posibilidades, que han influido en la metodología de trabajo y concepción de la programación, se traducen en la tendencia a considerar a Smalltalk más que un simple lenguaje de programación. La forma de programar en Smalltalk no consiste en el ciclo típico de las tecnologías tradicionales: Arrancar un editor de texto, compilar, ejecutar y terminar la aplicación. En Smalltalk se manipula el entorno mismo, comúnmente mediante el Navegador del Sistema . 

En el presente capítulo estudiaremos como interactuar con la interfaz de Squeak.Este capítulo presenta los elementos requeridos para el manejo del entorno de programación, existen a su vez documentos que ilustran como utilizar el Squeak como un entorno ideal para el desarrollo de actividades y aplicaciones educativas. Si bien es verdad que se utiliza de una forma muy distinta a otras aplicaciones, no resulta complicado acostumbrarse a su forma de, uso, sin embargo, este tipo de uso no será abordado, sino el lenguaje en el cual esas otras aplicaciones son desarrolladas..

UPNFM

1. El entorno2. Consideraciones en la selección del entrono SqueakConsideraciones en la selección del entrono Squeak

Page 4: El entorno de squeak hariel salazar programacion 1

 

Los formadores interesados en la enseñanza asistida por computadora estamos siempre a la búsqueda de la herramienta definitiva que les permita abarcar todas las disciplinas y todas las asignaturas desde un mismo entorno coherente y homogéneo.  En este sentido, Squeak ofrece un entorno casi perfecto, donde tanto un profesor de matemáticas,física, como uno idioma español  o de música, puede desarrollar proyectos y juegos que pueden convertir temas, en principio aburridos para el alumno, en divertidos e interactivos.Al igual que el cambio del paradigma de profesor como dispensador de conocimientos  a profesor como guía es difícil de asumir por el profesional de la enseñanza que lleva toda la vida encasillado en la primera, el cambio de la metodología de enseñanza basada en herramientas pasivas (libros, vídeos, etc.) por la enseñanza basada en herramientas interactivas, sobre todo cuando se tratan de aplicaciones con tanta variedad como Squeak, el primer obstáculo a vencer es precisamente cambiar la actitud del profesor.

.

 

UPNFM

Page 5: El entorno de squeak hariel salazar programacion 1

Por supuesto que la curva de aprendizaje de Squeak puede ser un poco empinada debido a la gran variedad de opciones y la potencia que ofrece. Pero la filosofìa de Squeak es precisamente descargar al profesor a medio y largo plazo de la tarea de preparar  proyectos, permitiendo delegar en los alumnos la creación de material, lo que permite a su vez al profesor tomar el rol de alguien que supervisa el autoaprendizaje de los estudiantes. 

 

UPNFM

Page 6: El entorno de squeak hariel salazar programacion 1

 

Sueak es un entorno de programación gráfico orientado a objetos ideado como una herramienta válida para investigar, realizar simulaciones o explorar destrezas. Constituye un campo abierto a la imaginación y se presta de forma excepcional como herramienta capaz de facilitar el descubrimiento desde muy tempranas edades. 

En el aula, Squeak puede ser usado como un programa más, destinado a realizar aplicaciones para que el alumno interactúe con ellas o como herramienta para elaborar presentaciones. En ambos casos, el papel que desempeña el alumno es la de mero consumidor, adoptando una actitud más o menos activa en función del grado de libertad que se le ofrezca. Desde este punto de vista, no aporta mucho más que el resto de buena parte del denominado software educativo.

 

 

 

 

UPNFM

Page 7: El entorno de squeak hariel salazar programacion 1

El modelo replica el de la enseñanza tradicional en la que el alumno recibe información y/o realiza los ejercicios previamente programados por el profesor. De este modo, los alumnos pueden -en un caso- recibir disertaciones con apoyo audiovisual y/o -en otro caso- resolver juegos tipo trivial, rompecabezas, de memoria, etec. que les ayuden a recordar contenidos educativos.

Un segundo nivel de profundización en el uso de Squeak en el aula viene dado por la posibilidad de que sean los propios alumnos quienes construyan aplicaciones guiadas bajo las directrices y asesoramiento del profesor. Este modo de utilizar el programa supone un mayor grado de libertad, es bien acogido por los alumnos y se presta a estimular su creatividad.

 

UPNFM

Page 8: El entorno de squeak hariel salazar programacion 1

El tercer grado de uso de Squeak que proponemos, y que se aproxima más a la filosofía en la que fué creado, supone un cambio radical de los roles desempeñados por profesor y alumno. Se trataría de que los profesores fuéramos capaces de realizar propuestas estimulantes para que sean los propios alumnos quienes proponga soluciones y realicen proyectos que les permitan experimentar sus ideas de una forma lúdica y amena. De este modo, el alumno pasaría de simple consumidor, más o menos pasivo, a usuario de una herramienta que estimula el auto-descubrimiento. La labor que el profesor desempeñaría en este marco sería adoptar el papel de guía y estímulo de la tarea educativa.

UPNFM

En último término, Squeak es, en definitiva, una herramienta concebida y desarrollada -al fin y al cabo- para que sean los propios alumnos, y no tanto los profesores, los que puedan experimentar, practicar y jugar; un laboratorio virtual en el que puedan dar riendas sueltas a su originalidad proporcionándoles una plataforma válida para aprender creando.

UPNFM

1. El entorno3. Instalación del Squeak

Page 9: El entorno de squeak hariel salazar programacion 1

Squeak: una implementaciòn de Smalltalk

Squeak, es una implementación de Smalltalk, originalmente fue patrocinado por Apple Computer (1995), Posteriormente Wald Disney Imagineering continuo con ese patrocinio. Es el Smalltalk que suscita mayor interés, particularmente porque algunos de sus integrantes originales en Xerox PARC (Alan Key y Daniel Ingalls) todavía participan en este proyecto. Una de los novedades de Squeak, radica en el nuevo framework  llamado Morpfic. Como herramienta multiplataforma, Squeak funciona hasta en veinte sistemas operativos diferentes. Squeak corre sobre una Máquina Virtual. La Máquina Virtual (Virtual Machine) es una pieza de software que convierte nuestro ordenador, con un sistema operativo en particular, en una máquina Squeak. Hay Máquinas Virtuales de Squeak para Windows, Apple Macintosh, Linux (todas las ediciones), iPaq y un largo etcétera.  Los archivos y el proceso de instalación, en cada caso, difieren en función del sistema operativo sobre el que se realice. UPNFM

1. El entorno3. Instalación del SqueakSqueak: su arquitectura.

 

Una de las mayores ventajas que posee Squeak estriba en que existen maquinas virtuales para una gran cantidad de  microprocesadores y sistemas operativos. Al realizar la instalación de Squeak se crea un directorio con, al menos, cuatro archivos, tres de los cuales son iguales para cualquier sistema operativo:

 

 

UPNFM

Page 10: El entorno de squeak hariel salazar programacion 1

• La máquina virtual (VM) de Squeak : Archivo ejecutable específico para cada sistema operativo. Su trabajo consiste en convertir los códigos de Squeak en códigos de la máquina en la que se está ejecutando.• Archivo de imagen (Image): Archivo común a todos los sistemas operativos, contiene todos los archivos binarios de Squeak.• Archivo de fuentes (Sources): Archivo común a todos los sistemas operativos, contiene todos los códigos fuentes de texto originales de Squeak.• Archivo de cambios (Changes): Archivo común a todos los sistemas operativos, contiene todos los códigos fuentes de texto que se han cambiado o se han añadido a la versión original de Squeak . Los cambios pertenecen a la imagen del mismo nombre. De modo que, si guardamos una imagen con otro nombre, se creará un nuevo archivo Changes.

UPNFM

Page 11: El entorno de squeak hariel salazar programacion 1

Los archivos imprescindibles presentes en cualquier versión son el archivo Squeak (Máquina Virtual) y el archivo Image.

Existe una Máquina Virtual para cada sistema operativo. La Imagen es común a todos ellos y corre sobre la Máquina Virtual.  Esto es, el mismo archivo de Imagen funciona en las plataformas Linux, Mac, Windows, etc. siempre que se use la Máquina Virtual (Virtual Machine) apropiada para cada plataforma.El código fuente del sistema se almacena en los archivos Sources y Changes. Al terminar la instalación dispondremos de un programa totalmente operativo. Para comenzar a trabajar con él, en Windows, bastará con localizarlo en Inicio > Todos los programas y pulsar sobre él. En Linux, lo encontraremos en /home/usuario/Squeak . El archivo ejecutable es SqueakAtenex.image.

UPNFM

Page 12: El entorno de squeak hariel salazar programacion 1

continuación se describe la creación y uso de estos archivos de imagen y changes:

• Cuando se confirma la modificación o creación de un método, este se traduce a bytecodes por la única instancia de la clase Compilador y estos nuevos bytecodes se agregan a la imagen, posteriormente estos cambios son agregados al archivo de cambios y al paquete al que corresponde el método. Esta es una de las razones por las cuales es necesario guardar la imagen, ya sea manteniéndola con el mismo nombre o bien guardarla con un nombre diferente• La ejecución de código se realiza traduciendo los bytecodes a código de maquina (código nativo) por un compilador JIT, llamado Maquina virtual (VM).  Esta traducción se realizan en un tiempo imperceptible para el programador. • Para compartir código entre distintas imágenes y para distintos usuarios. Cada cambio que hacemos en el ambiente Smalltalk, sea este de configuración, por agregar un nuevo paquete o la creación de nuevas clases a partir de las ya existentes, extiende a la imagen y al guardarla, esta crece o cambia. Estos cambios se almacenan y pueden ser distribuidos a diferentes usuarios o a otras plataformas (Linux, Os o Windows). Esta es una de las razones por la cual a la programación con Smalltalk se le denomina programación  por extensión.

UPNFM

1. El entorno3. Instalación del SqueakSqueak: como obtenerloSqueak es una herramienta multimedia y multiplataforma; multimedia por la gran facilidad que presenta para incorporar textos, sonidos, imágenes y vídeo, y multiplataforma porque funciona bajo diferentes sistemas operativos.  Por otra parte, y aunque para los puristas no pueda catalogarse como software libre, las cláusulas de la licencia de Apple permiten su uso casi como si se tratara de Software libre.  La licencia Squeak no es una licencia de Software Libre porque obliga a todos los usuarios en cualquier lugar del mundo a obedecer las leyes de control de exportaciones de los EE.UU. Aplicada a los tipos de letra, no permite su modificación e incluye un requisito para que los usuarios indemnicen al desarrollador.  Por estas razones no figura en el directorio de Software Libre de la FSF/UNESCO (Fundación de Software Libre/UNESCO) que cataloga el Software Libre que funciona bajo sistemas operativos libres -especialmente bajo el sistema operativo GNU y sus GNU/Linux variantes.

 

Page 13: El entorno de squeak hariel salazar programacion 1

UPNFM

Squeak es una herramienta gratuita que como se menciono antes, está compuesto de una VM (máquina virtual) específica del sistema operativo, donde se ejecuta y una imagen.  La imagen es el lugar dónde los objetos viven, objetos del ambiente como el compilador, el depurador y los objetos del dominio de la solución. Las imágenes son intercambiables entre máquinas virtuales, esto significa, entre sistemas operativos.

Una Imagen en Squeak es un archivo que es una copia casi exacta del contenido de la memoria de Squeak con todos los objetos y todas las definiciones de sus clases.  Es importante conocer que en una imagen no se conservan los objetos que dependen de recursos del sistema operativo, tales como una conexión de red o un archivo de vídeo.

UPNFM

Page 14: El entorno de squeak hariel salazar programacion 1

El ambiente de desarrollo completo, para cualquiera de los sistemas operativos soportados, puede ser descargado de diversos lugares, entre ellos:• http://www.squeak.org.• http://swiki.agro.uba.ar/small_land/241• http://squeak.educarex.es/Squeakpolis/11

Existe una versión en CD-live que se puede descargar del sitio oficial disponible en la direccion: http://squeak.educarex.es/Squeakpolis/11  Los ejemplos que se muestran en este libro se probaron con la imagen de educarex.

UPNFM

1. El entorno3. Instalación del Squeak. El mundo de Squeak.Existen muchas herramientas más, pero básicamente se trabajará con las antes descritas, particularmente con espacios de trabajo, el navegador de clases y el inspector, aunque eso va depender del tipo de aplicación que se este desarrollando.  Cuando abrimos Squeak nos encontramos con un escritorio similar al de la figura. Es lo que llamamos el Mundo de Squeak, el lugar donde ocurre todo. No existen modos diferenciados de trabajo en Squeak (Edición vs. Presentación) como en otros entornos, sino que toda la acción se desarrolla en modo ejecución La figura 1 presenta la pantalla de inicio o mundo de Squeak.

En el mundo podemos identificar una barra de título, una barra de Menú y un área de trabajo. En la barra de menú se encuentran las siguientes opciones de Menú:

 

Page 15: El entorno de squeak hariel salazar programacion 1

Figura 1. El mundo de Squeak

 

 

 

Page 16: El entorno de squeak hariel salazar programacion 1

Menú Squeak (figura 2a): En este menú se encuentran las opciones de guardar y salir.  Cada vez que cerremos squeak, se desplegará un mensaje solicitando información acerca de si se desea o no guardar la imagen.  Es mediante este menú que podemos guardar una imagen con diferente nombre o salir sin guardar  los cambios realizados. Esto nos indica que al volver a ingresar a Squeak, este se visualizara y estará con la configuración anterior a la actual.

UPNFM

Menú Proyecto (figura 2b.)  En este menú, se puede escoger algún proyecto en particular (buscar proyecto) o navegar por los mismos(proyecto anterior, ir a proyecto, proyecto siguiente), crear nuevos proyectos, mostrar jerarquía de objetos(esta opción permite ver la jerarquía de objetos que tenemos en pantalla), etc.

UPNFM

Page 17: El entorno de squeak hariel salazar programacion 1

Cuando se trabaja en modo experto (ver figura 2c.) se despliega en Proyecto la opción Abrir, en la que  nos permite visualizar en pantalla alguna herramientas con las cuales interactuaremos: Browser, Worksapce, Transcript, etc.). Menú Configuración (figura 2c.) permite cambiar la apariencia del entorno. En este menú podemos cambiar el idioma del Squeak, incluye -de momento- inglés, alemán y español.  La opción de actualización te permite acceder a través de Internet a los cambios y actualizaciones del sistema.  Pero lo más importante es que podemos cambiar el modo de trabajo (de modo novato a experto).   Al iniciar cambiaremos a modo experto. Desde allí tenemos acceso a las ventanas de trabajo.

El menú Trucos incluye utilidades para el manejo ágil de la herramienta (figura 2d.).  Las funciones de la operación trucos son:• traer objetos a la pantalla: Muestra todos los objetos que se encuentran fuera de las coordenadas visibles del Mundo.• mostrar los objetos ocultos: Muestra los objetos ocultos.• mostar todos los visores: Muestra todos los visores de aquellos objetos que lo posean.• Ocultar todos los visores: Oculta los visores de la pantalla.• borrar trazos de tortuga: Elimina los restos de lápiz trazados por los objetos con la opción lápiz abajo activada como “verdadero”. proporciona acceso a la manipulación y visualización de algunos objetos.

 

Page 18: El entorno de squeak hariel salazar programacion 1

Los botones de navegación permiten realizar las acciones más frecuentes del programa., entre ellos tenemos:

• Navegador de proyectos: Las flechas de los tres iconos centrales del panel de Squeak se utilizan para moverse entre proyectos recientemente abiertos (proyecto anterior-proyecto siguiente). El botón central muestra un listado de proyectos para poder elegir el que se desee.• Crear un proyecto nuevo: Crea un nuevo proyecto y sitúa en pantalla una miniatura del proyecto vacío nombrado temporalmente como Sin nombre.• Buscar un proyecto: Navegador de archivos para localizar y abrir proyectos ubicados en nuestro equipo o en diferentes repositorios de proyectos.• Publicar: Guarda el proyecto en el lugar especificado y en la carpeta Squeaklets del disco del usuario.

 UPNFM

Page 19: El entorno de squeak hariel salazar programacion 1

Las herramientas básicas facilitan la importación de proyectos y objetos, permiten crear objetos, ayudan a localizar imágenes y proporcionan una galería de objetos predefinidos para incorporarlos a nuestros proyectos.  Entre ellos se identifican: • Importar archivo: Navegador de archivos que permite buscar y utilizar archivos de diferente tipo (imágenes, música, gráficos, ...)• Explorador de imágenes: Ayuda en la búsqueda de imágenes para incorporar a los proyectos.• Pintor: Sencillo programa de dibujo que permite crear objetos para incorporar a los proyectos.• Catálogo de objetos: Contiene la biblioteca de objetos predeterminados de Squeak, agrupados inicialmente por categorías, permite ordenarlos alfabéticamente y realizar búsquedas.

Los botones auxiliares son un conjunto de iconos, que no responde aparentemente a un criterio uniforme, incluye botones útiles a la hora de trabajar con proyectos• Reloj digital: Muestra la hora del sistema. • Cambia a pantalla completa: Muestra el Mundo de Squeak a plena pantalla sin los paneles de Squeak y del sistema operativo. Alternativamente restaura la pantalla a su estado inicial.  • Mostrar jerarquía de objetos: Muestra la jerarquía de objetos del proyecto abierto, incluido el Mundo. Cuando se selecciona un objeto del Mundo se muestra una miniatura en su lugar, que da acceso a un menú de propiedades del mismo.

UPNFM

Page 20: El entorno de squeak hariel salazar programacion 1

Ya que este texto es para la programación en Smalltalk, la opción experto del menú configuración y la opción abrir en el menú proyecto (que se activará al cambiar a modo experto) serán las opciones con las que se interactuará permanentemente. Las otras herramientas que se observan en el squeak forman parte de la herramienta de autor, por medio de la cual podemos desarrollar aplicaciones multimedia y aplicaciones para el campo educativo. Este conocimiento que esta fuera del alcance de este libro y se deja para estudios posteriores.

UPNFM

Squeak como todo Smalltalk tiene un entorno de desarrollo con ciertas herramientas para desarrollar aplicaciones, entre ellas: • El espacio de trabajo (Workspace), • El explorador de clases (System Browser), • El  Inspector, • El explorador de panel de paquetes (Package Browser)  y • En depurador (Debugger). Otras herramientas que existen en casi todos los Smalltalkt. son: • un Creador de vistas, • un Navegador de protocolos, y • un buscador de selectores y de referencias a selectores (generalmente integrado al Navegador de Clases).

Page 21: El entorno de squeak hariel salazar programacion 1

El mundo Squeak es un objeto gráfico que contiene a todos los demás objetos se llama Mundo. El Mundo de Squeak es similar al escritorio de los sistemas operativos actuales, pero respetando la regla básica de Smalltalk: todo es un objeto.  Por tanto, el Mundo es un objeto y disponemos de una variable global llamada World para acceder a él.

UPNFM

1. El entorno3. Instalación del SqueakTrabajando en el modo experto

 

Page 22: El entorno de squeak hariel salazar programacion 1

Para realizar las tareas y pruebas de programación con Squeak, inicialmente se usarán tres ventanas: el navegador de clases (System Browser), el espacio de trabajo (Workspace) y el Transcript.  Estos se activan, dando clic en proyecto y luego en abrir, aparece la siguiente ventana.

. El entorno4. Creando ProyectosCreando Proyectos

 

 

Page 23: El entorno de squeak hariel salazar programacion 1

Los botones del panel nos servirán, inicialmente, para comenzar a trabajar con Squeak . Para crear un proyecto nuevo pulsaremos sobre el icono Crear un proyecto nuevo del módulo de iconos Herramientas de navegación del Panel.  La unidad de trabajo en Squeak son los proyectos. Para comenzar a trabajar con Squeak deberemos aprender a crear, renombrar, guardar (publicar) y recuperar estos archivos sobre los que crearemos nuestras aplicaciones.

UPNFM

1. El entorno4. Creando ProyectosCrear un proyecto nuevo

 

Inmediatamente, observaremos que en el Mundo de Squeak aparece una pequeña ventana con el título Sin nombre. De esta forma tan simple hemos creado nuestro primer proyecto que, por el momento, está vacío. Antes de entrar en él y comenzar a trabajar resulta interesante cambiarle el nombre. Para ello, pulsaremos sobre el título Sin nombre que aparece en la parte inferior de la ventana. Al hacerlo, el texto aparecerá resaltado sobre un fondo amarillo y nos permitirá teclear un nuevo nombre.

Es posible que si pulsamos incorrectamente, en lugar de resaltar el nombre, lo que ocurra es que entremos dentro del proyecto. Esto se comprueba porque se produce un efecto visual que nos lleva a una pantalla en blanco. En tal caso, deberemos regresar hacia atrás pulsando el botón proyecto anterior en la zona central del panel.  Escribiremos Proyecto 1 y pulsaremos sobre la tecla Intro o Enter . Observa que el nuevo nombre se incorpora al panel superior de la ventana.

Page 24: El entorno de squeak hariel salazar programacion 1

  

 UPNFM

1. El entorno4. Creando ProyectosPublicar proyectos

 

Para concluir el ejercicio anterior guardaremos nuestro trabajo.  En primer lugar deberemos ingresar en el Proyecto 1 haciendo clic en su miniatura y pulsando sobre el botón Publicar este proyecto, que encontrarás en el primer grupo de botones del panel de Squeak (Herramientas de Navegación).

Por publicar se entiende en Squeak la acción destinada a guardar el trabajo realizado en un archivo con la extensión pr. Inmediatamente se abrirá una ventana que incorpora el nombre del proyecto y nos permite modificar y añadir datos de identificación del mismo.  A excepción del campo Nombre, el cual ya aparece completado, el resto de las entradas no son obligatorias y podemos dejarlas en blanco.continuar

 

ublicar proyectos

 

UPNFM

. El entorno5. Ventanas de trabajoVentanas de trabajo

Page 25: El entorno de squeak hariel salazar programacion 1

Las ventanas y los menús desplegables nos dan acceso a servicios que nos permiten manipular el sistema y (sólo en Morphic) pestañas (flaps).  La activación de ventadas de contenedores de texto estándar de Squeak, incluyendo navegadores de sistema, espacios de trabajo, listas de archivos y transcripciones, permiten acceder a utilidades para manipular texto y para acceder a otras funcionalidades del sistema. A muchas de estas facilidades se puede llegar usando los menús de botón rojo, pero a muchas de ellas es más conveniente acceder usando secuencias de teclas especiales. Por supuesto, cada aplicación en particular puede usar algunas, todas o ninguna de estas combinaciones.

 

 

1. El entorno5. Ventanas de trabajoEl espacio de trabajo

El Workspace o espacio de trabajo es básicamente una hoja de editor de texto en la cual se pueden introducir expresiones que luego pueden ser enviadas al compilador, es decir, un espacio en el que podemos editar y ejecutar código Smalltalk.  El Workspace (figura 5) es el espacio en el que  probamos los diferentes tipos de estructuras sintácticas del lenguaje.

Figura 5.  la ventan del Workspace

 

Page 26: El entorno de squeak hariel salazar programacion 1

UPNFM

Al hacer clic con el botón central del mause se muestra el menú del workspace (figura 6.) En este menú se encuentran las opciones de ejecutarlo e imprimirlo, que son instrucciones para realizar la ejecución del código Smalltalk.  Para ejecutar líneas de código, selecciónela y luego active el menú del workspace o la combinación de teclas Alt + d para evalúa la selección o expresión en línea.   Si no existieran errores de sintaxis, se genera código que puede ser evaluado por la máquina virtual.  

NOTA: Al no tener  botón central el mause se debe hacer clic en los dos botones del mause al mismo tiempo.

Frecuentemente queremos ver el resultado de la evaluación de una expresión. Para ello se utiliza la opción imprimirlo (o la combinación de teclas Alt + P).  En este caso se compila y evalúa la expresión seleccionada al igual que ejecutarlo, con la diferencia de que el resultado se imprime inmediatamente después de la expresión o selección.  

Abra un Workspace . Una vez abierto digite lo siguiente:3 + 4.

 

 

 

UPNFM

En el espacio de trabajo, puede escribir código, selecciónelo y luego ejecútelo e imprima el resultado.  Si selecciona la opción ejecutarlo, se envía el mensaje de realizar la suma pero el resultado no se visualiza, para hacerlo escoja del menú del Workspace la opción imprímirlo. Al ejecutarse la operación Imprimalo (ALT + P) o El resultado: la expresión es evaluada y el objeto resultante se imprime, es decir, el mensaje  + 4 es enviado al entero 3.  El selector es + y el argumento es 4.  El resultado es devuelto es el entero 7.

Page 27: El entorno de squeak hariel salazar programacion 1

En ocasiones se requiere de un mecanismo para hacer mas fácil la ejecución de comandos dentro del Workspace, la tabla a continuación presenta los “atajos de teclado” para trabajar de forma más rápida dentro del Workspace.

 

UPNFM

Las teclas de las letras mayúsculas se escriben presionando simultáneamente Shift-Alt y la tecla indicada o Ctrl y la tecla. Si se presionan otras teclas especiales se indicará mediante corchetes.

Teclas Descripción   Notas

z deshacer -

x cortar -

c copiar -

v pegar -

a seleccionar todo -

D Duplicar. Pegar la selección actual sobre la anterior, si no se superponen. 1

e Intercambiar. Intercambia los contenidos de la selección actual con los de la selección anterior 1

y  Intercambiar. Si no se ha seleccionado nada, los caracteres se sitúan en cualquiera de los lados del cursor y se adelanta este. Si la selección tiene dos caracteres, se intercambian y el cursor avanza.

-

w Borra la palabra precedente. -  Notas: Estos comandos son inusuales. No sólo afectan a la selección actual, sino también a la inmediatamente anterior.

Page 28: El entorno de squeak hariel salazar programacion 1

UPNFM

 

Entrada de datos al programa Smalltalk

Teclas   Descripción

q Intenta completar la selección con un seleccionador Smalltalk válido y ya definido.

r  Reconocedor. Invoca al reconocedor de caracteres glyph de Squeak. (finaliza el reconocimiento saliendo con el ratón de la ventana)

F Inserta 'ifFalse:'

T Inserta 'ifTrue:'

V Copia las iniciales del autor, la fecha y la hora.

L Mueva la selección o la línea un tabulador a la izquierda (lo contrario de indentar).

R Indenta (Mueva la selección o la línea un tabulador a la derecha) [Ctl-return]  Inserta una línea (return/intro) seguido de tantos tabuladores como hubiera en la línea anterior. [shift-delete]  Borra hacia delante. O borra desde el punto de inserción hasta el principio de la palabra.

UPNFM

Navegando e inspeccionando

Tecla Descripción Notas

b Navega 'it' (donde 'it' es el nombre de una clase). Abre un nuevo navegador. 1

d Ejecuta 'it' (donde 'it' es una expresión Squeak) 1

i Inspecciona 'it': evalúa 'it' y abre un inspector de resultados (donde 'it' es una expresión Squeak). 1

m Abre un navegador de métodos implementando 'it' (donde 'it' es un mensaje seleccionador)   1,2

n Abre un navegador de métodos que envía 'it' (donde 'it' es un mensaje seleccionador) 1,2

Page 29: El entorno de squeak hariel salazar programacion 1

p Imprime 'it'. Evalúa 'it' e insertar los resultados inmediatamente después de 'it' (donde 'it' es un expresión Smalltalk) 1

B Hace que el navegador que se está utilizando navegue 'it' (donde 'it' en el nombre de una clase) 1

E  Abre un navegador de métodos cuya fuente contiene cadenas con 'it' como subcadenas.   1

I Abre el explorador de objetos en 'it' (donde 'it' es una expresión)   1

N Abre un navegador de métodos usando 'it' (donde 'it' es un identificador o el nombre de una clase). 1

O Abre un navegador de un solo mensaje (en un seleccionador de listas) 1

W Abre un navegador de métodos cuyo seleccionador incluye 'it' como subcadena. 1UPNFM

1. El entorno5. Ventanas de trabajo

El transcrip 

El código del worksape no se puede imprimir de vuelta en el espacio de trabajo, pero hay otra ventana, el transcript donde se puede imprimir.  El Transcript es como un Workspace, con la excepción que eventualmente puede mostrar mensajes generados dentro del ambiente. Normalmente, el Transcript es utilizado para mostrar

 

Page 30: El entorno de squeak hariel salazar programacion 1

advertencias o información adicional.  Al hacer clic con el botón central del mouse aparece el mismo menú del Workspace. Esto nos indica que podemos editar y evaluar expresiones como si fuera un Workspace.   Otra particularidad que posee el Transcript es que almacena los últimos diez mil caracteres insertados.

  En la figura 8 se visualiza el Transcript.   Como se indicó, esta ventana es un objeto que esta referenciado por la variable global Transcript.  Las variables globales pueden ser accedidas desde cualquier parte de la imagen.  El mensaje más utilizado por Transcript es show: argumento, cuando el objeto referenciado por la variable global Transcript recibe el mensaje show: y el argumento se imprime en el Transcript.   Por ejemplo seleccione y evalúe la siguiente expresión en un Workspace:

 

 

1. El entorno5. Ventanas de trabajoEl explorador de clases (System Browser)

Page 31: El entorno de squeak hariel salazar programacion 1

Es la interfaz de usuario primaria para la edición de código. Un explorador en Squeak (System Browser) nos permite crear, editar y eliminar clases y sus métodos.  Estos conforman una biblioteca organizada jerárquicamente.  Esta biblioteca se puede visualizar y revisar su estructura y código mediante el explorador.  En este navegador, es posible realizar las siguientes tareas:• Crear y editar código fuente.• Evaluar el código línea a línea.• Dar formato a los métodos en código fuente.• Dar o visualizar una explicación del código.• Guardar clases o métodos y organizarlos en categorías• Encontrar emisores, receptores y mensajes que puede enviar un método.• Visualizar la herencia de clases.

El explorador de clases (System Browser) permite al usuario revisar la interfaz del mensaje de cualquier objeto en la imagen y modificarla si se requiere.  Para abrir, el explorador, seleccione en la barra de menú el menú proyecto, luego haga clic en la opción abrir y en el menú seleccione la opción explorador o presione la combinación de teclas Alt + b  (figura 9).  Se pueden tener varios browser abierto a la vez, pero solamente se necesita uno. 

 

 

 UPNFM

Page 32: El entorno de squeak hariel salazar programacion 1

El explorador está constituido por una ventana y está formado por cinco paneles y dos botones marcados con instance y class: un panel para las categorías de clases, un panel para las clases, otro para la categoría de métodos, otro para los métodos y por último un panel para la edición clases y métodos.  De izquierda a derecha, los paneles superiores son:• Categorías de clase no significa nada en términos del lenguaje Squeak. Aquí se encuentran los términos bajo los cuales se agrupan las clases.  • Clases son lo más importante para Squeak.?  Son artefactos que crean instancias, sirven como modelo para sus objetos. Piense en una clase como una fábrica de objetos. Una clase crea objetos de un tipo particular, con las características de fábrica en particular.  Según la categoría que tengamos seleccionada, aparecerán en este panel las clases que se agrupen en dicha categoría. En este punto podemos verificar que la existencia de variables de clase como de instancia (conceptos que estudiaremos un poco más adelante). Los botones de instancia/clase en el browser permite cambiar entre los conjuntos de métodos asociados con una clase.  Por lo general, se suele tener el botón de instancia seleccionado.

 

UPNFM

Page 33: El entorno de squeak hariel salazar programacion 1

• Categorías de Métodos (también llamados protocolos) agrupa los métodos de grupo en tipos: para imprimir, de acceso a datos en el objeto, de iteración, y así sucesivamente.• Los métodos que son las unidades de código Smalltalk ejecutable.• El Panel de edición de código: es lugar, donde podemos visualizar el código de cada clases que existe la biblioteca de clases de Smalltalk así como sus métodos.

Por lo general, iniciamos la programación en Squeak creando una nueva categoría de clase. Con el ratón sobre el panel de la categoría de clase, se pulse el botón central de este. Se obtiene un menú y se selecciona mediante un clic, la opción crear una nueva categoría de clase (add item).  Se escribe un nombre, por ejemplo PruebasProgra1 y se da clic en aceptar.

UPNFM

Los Smalltalkers  iniciales, para evitar confusiones acerca de cuál botón del Mouse presionar, crearon una terminología en la que definieron un conjunto de términos independientemente de la posición del botón del ratón.  El botón del puntero del ratón lo llaman el  botón "rojo", el botón central del ratón se llama el "botón amarillo" y el botón del ratón el extremo derecho se llama el "botón azul".  El botón rojo se utiliza siempre para señalar, el botón amarillo para activar un menú contextual que depende de donde se está señalando. El botón azul normalmente trae el menú para la manipulación de la ventana en la MVC  y se utiliza para la selección de objetos gráficos en Morphic .

 

Page 34: El entorno de squeak hariel salazar programacion 1

Cuando se selecciona la categoría de clase PruebasProgra1(la creada anteriormente), el navegador muestra una plantilla para crear una nueva clase (Figura 10).  Simplemente seleccionamos una categoría de clase, y la plantilla se proporcionará para que usted la complete.   Hay algunos puntos que debemos recordar respecto al buscador de clases.• Squeak usa categorías para agrupar las Clases según su temática. • Las clases tienen métodos de instancia y de clase.• Los métodos también están agrupados en categorías.• Cada objeto es una instancia de una Clase. El código Smalltalk se escribe en los métodos• Cada panel del browser tiene un menú propio que se invoca haciendo clic con el botón derecho.• Para agregar una nueva categoría de Clases, haga clic con el botón central para abrir el  menú y elegir add ítem... para agregar una nueva categoría.

 

 UPNFM

1. El entorno5. Ventanas de trabajoInspeccionando objetosPor medio de esta utilidad podemos examinar la estructura de cualquier objeto. Cada objeto entiende el mensaje de inspección. Si usted puede escribir una expresión Smalltalk que es el tipo de una cosa que usted desea, entonces puede inspeccionarlo, para ello, escriba en la ventana de Transcript o del Workspace lo que busca, selecciónelo y elija inspeccionarlo en el menú correspondiente.  

 

Page 35: El entorno de squeak hariel salazar programacion 1

Figura 11. Inspector de ventanas

1. El entorno5. Ventanas de trabajoEl Explorador

El explorador de objetos Mórficos en lugar de inspeccionar, envía el mensaje de explorar a cualquier objeto.  El Explorador de objetos proporciona una vista de esquema en cualquier objeto nuevo.  Por ejemplo, analicemos la siguiente expresión(3+5) explore.

Al ejecutar este código se activa la ventana del explorador (Figura 12). El resultado es un esquema en el objeto original. Desde este objeto se permite al usuario activar el menú de opciones por medio del botón central del mouse y así abrir un inspector o un explorador nuevo en el elemento seleccionado.

 

 

Figura 12. Ventana del Explorador

Page 36: El entorno de squeak hariel salazar programacion 1

UPNFM

1. El entorno5. Ventanas de trabajoEl Depurador

Los errores de Squeak son difíciles de calcular debido a que el mensaje de error espera que usted entienda los conceptos básicos de Squeak.  Afortunadamente, las herramientas de depuración en Squeak son excelentes.  Digamos que usted ejecuta la siguiente línea de código transcript show: 34.2.

Al ejecutar la misma aparece una ventana de notificación de error (figura 13)  Para revisar la sintaxis y poder establecer la naturaleza del error, seleccione la opción Debug en la ventana de mensaje de error y activara la venta de depuración (figura 14).  El mensaje de error puede no ser claro para una programador novato debido a que  otros objetos, a los que no se ha invocado de forma explicita,  interactúan en el envío de este mensaje.  Pero recuerde que su mensaje básico de envío es show: 

 

 

Figura 13. Mensaje de error.

 

 

 UPNFM

Page 37: El entorno de squeak hariel salazar programacion 1

1. El entorno6. Otras Herramientas disponiblesLocalizar clases

El entorno de Squeak permite la activación de otro grupo de herramientas en las que se puede hacer un*** 

Localizar clasesEn determinado momentos nos vemos en la necesidad de encontrar alguna clase en particular. En la ventana del navegador de clase nos los permite, para ello hacemos clic en el panel de categorías de clases con el botón central. Se activa el menú que se muestra en la figura 15.

 

Figura 15. Menú del panel de categorías de clases

UPNFM

Page 38: El entorno de squeak hariel salazar programacion 1

En este menú y a través de un clic en la opción find class se exhibe el cuadro de dialogo para localizar clases (figura 16).  En el espacio de indicado escribimos el nombre de la clase y seguidamente damos clic en aceptar.  Se activara en el panel de clases aparecerá seleccionada la clase que buscábamos.  Si escribe erróneamente el nombre de la clase, Smalltalk despliega aquella clase cuyo nombre es más parecido al que se escribió.

Figura16. Cuadro de dialogo para localizar clases

UPNFM

Es posible que no se conozca el nombre de la clase, pero se sabe alguna parte del texto del mismo, de ser este el caso Smalltalk  presenta una serie de opciones para que verifiquemos y escojamos cual de ellas es. Veamos un ejemplo: Necesitamos buscar una clase (supongamos que es SmallInteger), pero solo recordamos que comienza con small.  Al activar el cuadro de dialogo para encontrar clases y escribir small, Smalltalk busca alguna clase que se llame small, de no encontrarla, busca entonces alguna clase con nombre similar y si encuentra más de alguna despliega una ventana con todas las clases que llevan ese texto en su nombre y aparecería una ventan similar a la que se presenta en la figura 17.  Luego, debe verificarse que en la lista se encuentre la clase que buscábamos y hacemos clic sobre ella, y tal como se menciona antes esta se despliega en el panel de clases del navegador de clases.

Page 39: El entorno de squeak hariel salazar programacion 1

Figura17. Cuadro de dialogo para las clases encontradas

UPNFM

1. El entorno6. Otras Herramientas disponiblesIdentificar el protocolo de la clase

Page 40: El entorno de squeak hariel salazar programacion 1

En el capítulo uno, se nos explico que el protocolo de un objeto consiste en todos aquellos métodos a que puede responder dicho objeto. Squeak nos da varias formas para poder visualizar dicho protocolo, a continuación explicaremos una de ellas. En el caso de que no sepamos cuales son los métodos a que responde esa clase, hacemos clic con el botón central del Mouse el nombre de la clase y se muestra el siguiente cuadro de dialogo (en este caso, para la clase smallInteger) 

En este cuadro se muestran todo el protocolo de la clase en caso de que sean demasiados métodos para poderlos mostrar en dicho cuadro, se visualiza la palabra more, hacemos clic sobre ella y podremos el resto.  Una vez que hemos localizado el método deseado, hacemos clic sobre el y en el panel de código del navegador de clases podremos visualizar  el código Smalltalk correspondiente a dicho método.

 UPNFM

1. El entorno6. Otras Herramientas disponibles

Page 41: El entorno de squeak hariel salazar programacion 1

Jerarquía de los objetos

Con Squeak podemos conocer cual es la jerarquía de los objetos, es decir conocer cual es la clase padre (recordemos que es Squeak, todo objeto tiene un padre) o también si una existe alguna clase hija.  El Browser Jerárquico ofrece un formato diferente a la hora de presentar las clases. En lugar de presentar dos paneles con las Categorías de Clases y las Clases, este Browser muestra sólo un panel con un árbol que indica la relación superclase-subclase. Para ello hacemos clic con el botón central del mouse sobre la clase, seguidamente se visualizará la ventana de menú y allí escogemos la opción browse Hierarchy (navegador en la jerarquía de los objetos).

La figura 20 presenta la ventana de navegación de la jerarquía de objetos.  Esta ventana posee tres paneles, en  la izquierda se visualizan la jerarquía de la clase, para poder ver todos los ancestros se hace clic sobre la barra vertical, del mismo panel. En este cuadro tenemos la oportunidad de conocer las estructuras de cada clase que está en la jerarquía, solo hay que seleccionarla por medio de un clic.

 

 

Figura 20. UPNFM

1. El entorno6. Otras Herramientas disponiblesEl halo de las ventanasCuando hacemos clic con el botón derecho sobre cualquier ventana, incluyendo el escritorio de squeak, notaremos que

 

Page 42: El entorno de squeak hariel salazar programacion 1

aparece una especie de halo alrededor de la ventana.  Es decir que, en torno al objeto, aparecen una serie de iconos que lo circundan. Es lo que se conoce con el nombre del halo del objeto y nos permite acceder a sus propiedades.

Por tanto, el halo es el conjunto de iconos coloreados que rodean al objeto. Cada uno de éstos, permite una manipulación distinta y permite cambiar ese objeto. Cada uno lleva también un globo (con una leyenda) de ayuda sobre cuál es su  función (Ver figura 22). .

Figura22. Halo de las Ventana

 

 UPNFM

1. El entorno7. ResumenResumen 

Squeak es un Smalltalk moderno, de código abierto, escrito en sí mismo, muy portable y muy rápido. En la actualidad, Squeak

Page 43: El entorno de squeak hariel salazar programacion 1

puede correr en plataformas diversas lo cual le permite al usuario desarrollar aplicaciones sin tener que hacer modificaciones a su plataforma o su entorno habitual de trabajo.

Squeak es un entorno de programación gráfico orientado a objetos ideado como una herramienta válida para investigar, realizar simulaciones o explorar destrezas. El Mundo de Squeak constituye una metáfora del mundo real donde los objetos interaccionan entre sí y con el propio entorno.

Squeak permite acceder a algunos servicios Smalltalk a través de sus menús de sistema. El menú principal: Al menú del mundo de Squeak, denominado a menudo 'menú principal', se puede llegar haciendo clic en el botón rojo mientras que el ratón apunta al fondo de un proyecto. Desde este menú, se puede grabar la imagen de Squeak, cambiarla, grabarla en archivos con nombres diferentes y finalizar la ejecución del Squeak en la computadora.

 

 

Hay varios mecanismos para la busqueda de una clase en Squeak: 1. Si sabe el nombre de la clase, escriba la misma en cualquier lugar (por ejemplo, en una ventana de trabajo Workspace), haga doble clic sobre esta para seleccionarla y, a continuación, seleccione Explorar- Browse (Alt-B). Un Navegador del sistema se abrirá con la clase correcta para seleccionarla.2. Si usted tiene el Browser System abierto, puede encontrar una clase con el menú de botón amarillo en la lista de categorías de clase mediante find class ..(f).  Escriba el nombre de la clase (o incluso una parte de un nombre), y obtendrá una lista de nombres para elegir.3. Pero lo que si usted no tiene idea de lo que el nombre de la clase. Hay dos estrategias. En primer lugar, caminar por todas las categorías en la lista de categorías de clase.  No hay que muchas, por lo que no le llevará demasiado tiempo, pero le dará una idea de los tipos de clases encuentra bajo cada tipo de categoría. La segunda estrategia es encontrar una instancia de la clase de cosa que usted desee y examinarla. Cada objeto entiende el mensaje de inspeccionar. Si usted puede escribir una expresión Smalltalk que es el tipo de cosa que usted desea, entonces puede inspeccionarlo. Escriba en la ventana de Transcript lo que busca, selecciónelo y elija Inspeccionar (también Alt-I). Equivalente ha hacer  seleccionar la opción inspeccionar del menú.

Page 44: El entorno de squeak hariel salazar programacion 1

UPNFM

En el caso que lo que usted busca es un método.   Si usted recuerda parte del nombre de un método, pero no toda la cosa, simplemente escriba la parte que recordar en el panel superior, luego seleccione Aceptar (Alt + S). La lista de la izquierda muestra todos los nombres de los métodos (también llamados selectores) que contienen el nombre aceptado. Selección de uno de los espectáculos todas las clases específicas que implementen las que el selector de la derecha. Elija uno de los elementos de la lista de la derecha para abrir un navegador en ese método.

Si se desconoce si lo buscado es un  método o clase, la forma más fácil de averiguar qué cosa es, si un método, o los nombres de clase, o constructor globales, incluso construcciones como $c es seleccionar y elegir explicar desde el menú del botón amarillo (hay que elegir más... en la parte inferior de la primera menú.)   Lo que se consigue es una descripción de lo que ha seleccionado y una pieza de código Smalltalk ejecutable que puede Ejecutar.  El texto se inserta inmediatamente después del ítem que usted ha marcado. La opción explicar mantiene el texto resaltado, de manera que pueda simplemente eliminar el texto, o ejecutar el comando que abre un navegador.  La siguiente manera más fácil es simplemente seleccionar el método y elegir implementadotes- ImplementorsUPNFM

Ejercicio final de la unidad

El entorno

Marque la respuesta adecuada a cada pregunta

Es un archivo imprecindible de cualquier versión squeak.

9

T.60810004.001.0

Page 45: El entorno de squeak hariel salazar programacion 1

Archivo Imagen

Es una herramienta para realizar aplicaciones en squeak.

Todas son correctas

Es el que envia el mensaje de explorar a cualquier objeto.

Explorador de clases

El código cr nos indica.

Salto de línea

¿Cuál será la salidad al editar la siguiente expresión en el workspace, Transcript show: '(verificando salida, otra vez!)'?

(verificando salida, otra vez!)

A continuación aparece una serie de enunciados donde tendrá que seleccionar una ' V ' en caso de ser verdadero y una ' F' si el enunciado es falso.

Squeak es un entorno de programación gráfico orientado a objetos ideados como una herramienta válida para investigar, realizar o explorar destrezas.

Verdadero

La máquina virtual es un archivo que contiene todos los códigos fuentes de texto que se han cambiado o se han añadido a la versión original de squeak.

Falso

El archivo imagen es el que contiene todos los archivos binarios de squeak.

Verdadero

El workspace es una hoja de editor de texto en la que pueden introducir expresiones y luego pueden ser compiladas.

Verdadero

Para trabajar en el worspace es necesario trabajar en modo Falso

T.60810004.002.0

T.60810004.003.0

T.60810004.004.0

T.60810004.005.0

8

T.60810005.001.0 T.60810005.002.0

T.60810005.003.0

T.60810005.004.0

T.60810005.005.0

T.60810005.006.0

Page 46: El entorno de squeak hariel salazar programacion 1

inicial.El explorador de objetos mórficos es el que nos permite crear, editar y eliminar clases y sus métodos.

Falso

En el transcript podemos editar y evaluar expresiones.Verdadero

La expresión Transcript show en un workspace nos permite enviar mensajes a la ventana del transcript.

Verdadero

El método tab indica comenzar una nueva linea en el transcript.Falso

El método space indica imprimir en el Transcript un espacio en blanco.

Verdadero

 Resultado 15 respuestas correctas de 15

         Correctas   100,0%

UPNFM

 

T.60810005.007.0

T.60810005.008.0

T.60810005.009.0

T.60810005.010.0