Translate

Mostrando las entradas con la etiqueta Pharo. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Pharo. Mostrar todas las entradas

sábado, 22 de octubre de 2016

Browser de Clases en Pharo o smalltalk que es casi lo mismo


Como veran sigo leyendo sobre smalltalk. Ahora vamos a analizar Browser de Clases

Esta herramienta nos permite ver y modificar todas las clases que tenemos en nuestro ambiente. Podemos también crear o eliminar categorías de clases, clases, categorías de métodos y métodos.
Como Pharo está escrito en si mismo, esta herramienta nos permite ver absolutamente todo el funcionamiento de Pharo.  Desde el Compilador hasta las Ventanas, desde los Números Enteros hasta los tipos Booleanos, todo visible y todo modificable.

El browser está compuesto principalmente por 4 paneles superiores y un panel inferior. En los paneles superiores encontraremos - de izquierda a derecha - las Categorías de Clases, las Clases, las Categorías de Métodos y los Métodos.

Categorías de Clase y Métodos: Tanto las categorías de clases como las categorías de métodos no tienen una semántica para el Smalltalk en si mismo, sino que sirven para documentar el diseño agrupando clases y métodos por funcionalidad apuntando a mejorar el entendimiento del sistema por las personas.

En Smalltalk se lee mucho más código del que se escribe, así que todo el entorno promueve la escritura de código limpio y documentado y todo el tiempo que usemos en escribir código limpio es recompensado.

Si seleccionamos una de las opciones del panel, en los paneles subsiguientes veremos la información correspondiente a la selección. Por ejemplo, si seleccionamos en el primer panel la categoría de clases 'Kernel-Objects', veremos en el segundo panel las clases dentro de esa categoría (como Boolean, DependentsArray, False, MessageSend, etc).  De la misma forma, si ahora seleccionamos la clase Boolean en el segundo panel, veremos en el tercer panel las categorías de métodos de esa clase; y si seleccionamos una categoría de métodos como 'controlling' veremos en el último panel los métodos.  Por último, si seleccionamos uno de los métodos, veremos en el panel inferior el código de dicho método.

Programar con Smalltalk es enviar mensajes a objetos que viven en un ambiente. Programar, con Smalltalk, no es más que modificar un ambiente de objetos y adaptarlo a nuestra necesidad.


domingo, 25 de septiembre de 2016

A desarrollar con Smalltalk!! 3



Continuamos con nuestro ejemplo. Ahora vamos a crear una instancia de nuestra recién creada clase Saludador.  Para evaluar algo de código, podemos utilizar otra herramienta que un ambiente Smalltalk nos brinda: El Playground.

El Playground (espacio de trabajo) es una ventana que nos permite ordenar el código que vamos evaluando de forma interactiva en nuestro ambiente.

El Playground es una herramienta conveniente, pero es importante resaltar que en Smalltalk se puede evaluar código en cualquier panel de texto y no sólo en los Playground.

Para abrir un Playground usaremos nuevamente el Menú  y dentro la opción 'Playground' :



Luego escribimos un programa que instancie nuestra clase y que llame al método saludar. Y luego podemos presionar el botón de play: 



Y nos saluda!!


A desarrollar con Smalltalk!! 2

Al crear una nueva categoría, esta se selecciona automáticamente y vemos en el panel inferior una plantilla (un template) para crear una clase nueva.  Para crear una nueva clase tenemos que enviarle un mensaje a la superclase, para eso nos podemos valer de la plantilla que el Browser de Clases nos ofrece.  Simplemente reemplazamos donde dice NameOfSubclass por el nombre de la clase que queremos crear.

Vamos a hacer una clase que salude, por lo tanto le vamos a llamar saludador:



Y Ya tenemos nuestra primera clase!!

Como la probamos? lo verán en el próximo post.


domingo, 4 de septiembre de 2016

A desarrollar con Smalltalk!!

Vamos a introducirnos de lleno en la programación con Smalltalk.  Aprender a programar con Smalltalk es mucho más que aprender una sintaxis y una librería de clases; es mucho más importante conocer como utilizar el ambiente en nuestro beneficio y entender que implica utilizar un ambiente de objetos vivos.

Smalltalk no es sólo un lenguaje de computación,  Smalltalk es un ambiente donde conviven objetos y estos interactúan entre sí enviándose mensajes.  Toda la computación ocurre como el resultado del envío de mensajes a los objetos.  Cuando un usuario interactúa con un ambiente Smalltalk, este ambiente se ve modificado como efecto de esa interacción.

Recordemos que en Smalltalk todo es un objeto. Las clases, los métodos, etc (obviamente) también son objetos y para impactar sobre ellos debemos enviarles mensajes. Esto implica que la tarea de programación no es diferente a cualquier otra cosas que se haga en un ambiente Smalltalk: Objetos que reciben mensajes y que reaccionan como efecto de ese envío de mensajes.

En Smalltalk no existe diferencia entre “desarrollo” y “ejecución”, sino que la programación se hace modificando objetos mientras estos están funcionando.  Para ilustrar mejor esta idea vamos a desarrollar, paso a paso, un ejemplo sencillo.  El ejemplo, también, nos servirá para tomar un primer contacto con las principales herramientas de desarrollo con Smalltalk.

Entonces empecemos descargando Pharo, recuerden el post de recursos sobre Pharo.

Si no tuvieron problema lo pudieron abrir y vieron algo como esto:


Cerramos esta ventana de bienvenida y hacemos click con lo que se abrira un menu en el cual podemos seleccionar System browser y nos abrirá la siguiente ventana:


El browser está compuesto principalmente por 4 paneles superiores y un panel inferior. En los paneles superiores encontraremos - de izquierda a derecha - las Categorías de Clases, las Clases, las Categorías de Métodos y los Métodos.

Podemos hacer un nuevo package si seleccionamos add package.

Luego si hacemos click en el panel de objetos aparecerá el siguiente menú:



Programar con Smalltalk es enviar mensajes a objetos que viven en un ambiente. Programar, con Smalltalk, no es más que modificar un ambiente de objetos y adaptarlo a nuestra necesidad.

Al crear una nueva categoría, esta se selecciona automáticamente y vemos en el panel inferior una plantilla (un template) para crear una clase nueva.  Para crear una nueva clase tenemos que enviarle un mensaje a la superclase, para eso nos podemos valer de la plantilla que el Browser de Clases nos ofrece.  Simplemente reemplazamos donde dice NameOfSubclass por el nombre de la clase que queremos crear. Y de esta forma tenemos una nueva clase.


En un próximo post veremos crear un método.



domingo, 7 de agosto de 2016

Recursos sobre Pharo, un IDE para programar en Smalltalk


Pharo es una Ide para programar en smalltalk, es muy usada y se puede instalar en linux muy fácilmente.

Para instalarla en linux debes bajarla e instalar unas librerìas 32 bit, si lo se es feo, pero bue. Les dejo el link: http://pharo.org/gnu-linux-installation

Bueno, tambien se puede ejecutar en window o Mac (que nadie es perfecto) http://pharo.org/download

Además pueden obtener muchos recursos de la pagina de Pharo:  http://pharo.org/documentation

Y Aprovecho para dejarles un video de una persona programando en pharo con metodología TDD :


jueves, 1 de agosto de 2013

Libros sobre Pharo


Pharo es un moderno IDE open source para el lenguaje Smalltalk-80. Smalltalk es un gran lenguaje; todo lo bueno fue hecho en smalltalk y esta IDE no permite utilizar el lenguaje de forma cómoda.  

Dejo unos libros:
http://rmod.lille.inria.fr/pbe2/
http://pharobyexample.org/versions/PBE1-2009-10-28.pdf

Y dejo link para bajar Pharo:
http://www.pharo-project.org/home