lenguaje de programación pharo

21
Revista de Ingeniería de Sistemas LENGUAJE DE PROGRAMACIÓN PHARO INSTALA PHARO EN 3 PASOS ¡DESCUBRELO AQUÍ! CONOCE LAS VENTAJAS DEL LENGUAJE PHARO ¿Por Qué usar Pharo?

Upload: cegudo-sistemas

Post on 21-Jul-2016

232 views

Category:

Documents


0 download

DESCRIPTION

Realizado por equipo Python, Universidad de Oriente Núcleo de Monagas. CEG

TRANSCRIPT

Page 1: Lenguaje de Programación Pharo

Revista de Ingeniería de Sistemas

LENGUAJE DE

PROGRAMACIÓN PHARO

INSTALA PHARO

EN 3 PASOS

¡DESCUBRELO

AQUÍ!

CONOCE LAS

VENTAJAS DEL

LENGUAJE

PHARO

¿Por Qué

usar

Pharo?

Page 2: Lenguaje de Programación Pharo

Contenido

Introducción……………………………..3

¿Qué es Pharo…….. ……………………4

Ventajas de Pharo...……………………..4

Historia de Pharo………………………..5

Características de Pharo………………...5

Comenzando a usar Pharo….…………...6

¿Quiénes usan Pharo………………...…8

Tips sobre Pharo……………………….8

Ejemplo de Pharo………………….…...10

Conseguir Pharo en tres pasos……..….16

Conclusiones…………………………...18

Bibliografía……………………………..19

Volumen II – Año 2015

Lenguajes Formales

EDITORIAL

El desarrollo de la revista de

ingeniería de sistemas está basado en un

método de investigación científico, el cual

permite el desarrollo del aprendizaje en

forma dinámica, ofreciendo la oportunidad

de compartir recursos, ideas, criterios, y

experiencias. Esta segunda edición se

desarrolla en función de un tema en

específico, el lenguaje de programación

Pharo, el tema ha sido desarrollado por un

equipo de estudiantes de la Universidad de

Oriente, Núcleo de Monagas, cursantes de

áreas de grado en la modalidad curso

especial de grado.

Queremos expresar agradecimientos

por la oportunidad brindada, y esperamos

que la revista resulte de provecho para

futuros investigadores y la adquisición de

conocimientos.

Page 3: Lenguaje de Programación Pharo

INTRODUCCIÓN

El lenguaje de programación se remonta a épocas atrás, en las cuales el

hombre en la búsqueda de dar solución a diferentes tipos de problemas de gran

complejidad desarrollo la teoría de la computación, dando origen a las ciencias

de la computación basados en principios teóricos y lógicos, los cuales están

basados en lenguajes naturales, formales y artificiales. Los lenguajes de

programación se encuentran entre los lenguajes artificiales, teniendo su origen

por la necesidad de establecer un lenguaje bajo reglas sintácticas, semánticas y

lógicas que permitieran la comunicación entre el hombre y la máquina, es

decir el software y el hardware.

Caracterizado al origen de los lenguajes de programación ha surgido

diversidad de lenguajes de programación basados en distintos paradigmas y a

su vez algunos teniendo paradigmas en común, en esta segunda edición de la

revista de ingeniería de sistema estará orientada al lenguaje de programación

Pharo, tomemos una pequeña visión de Pharo, es una implementación

completa, moderna y de código abierto, del lenguaje y ambiente de

programación Smalltalk. Pharo es un derivado de Squeak, una

reimplementación del clásico sistema Smalltalk-80. Mientras que Squeak fue

desarrollado principalmente como una plataforma para desarrollo

experimental de software educacional, Pharo se esfuerza en ofrecer una

plataforma limpia y de código abierto para desarrollo profesional de software

y una plataforma robusta y estable para investigación y desarrollo en lenguajes

y ambientes dinámicos. Pharo sirve como la implementación de referencia

para el framework Seaside de desarrollo web. Estableciendo esta pequeña

visión podemos adentrarnos un poco más en el tema en una forma más amplia.

3

Page 4: Lenguaje de Programación Pharo

¿Qué es Pharo?

Los autores Black et al. (2010)

definen a Pharo como una”

implementación moderna, de código

abierto y completamente funcional del

lenguaje de programación Smalltak y su

entorno. Pharo es una derivación de

Squeak, una reimplementación del clásico

sistema smalltalk-80”.

Por otra parte, los autores Bergel,

Cassou, Ducasse y Laval (2013) indican

que Pharo es un:

Lenguaje de programación orientado a

objetos, fuertemente influenciado por

Smalltak. Pharo es más que el uso de

sintaxis y de un conjunto de reglas

semánticas, como lo son la mayoría de los

lenguajes de programación. Pharo cuenta

con un entorno de desarrollo expandible y

adaptable. Gracias a que posee numerosas

librerías orientadas a objetos y marcos de

trabajo, Pharo brilla al momento de

modelar y visualizar datos, scripting,

crear redes, y muchas otras aplicaciones.

¿Cuáles son las

ventajas de Pharo? Entre las ventajas que ofrece Pharo,

los mismos autores Black et al. (2009)

señalan que Pharo. “busca ofrecer una

plataforma de código abierto y de

soporte que permita el desarrollo de

software profesional, y una plataforma

robusta y estable para la investigación

y desarrollo de lenguajes dinámicos y

entornos de programación”.

Por otra parte, Wikipedia (2015)

señala también entre las ventajas que

ofrece Pharo también se encuentra el

hecho de que “ofrece un fuerte

conjunto de características de la

programación en vivo como lo son la

manipulación de objetos inmediata,

actualizaciones en vivo, reordenación

de datos. Pharo además soporta

desarrollos web avanzados tales como

Seaside y Tide”.

4

Page 5: Lenguaje de Programación Pharo

Historia de Pharo Para conocer un poco la historia de

Pharo, Black et al. (2009) señalan que

Pharo:

Llega para resolver una serie de

problemas de licencia con Squeak. A

diferencia de versiones anteriores de

Squeak, la esencia de Pharo se basa

únicamente en códigos cuya

contribución se ha realizado bajo la

licencia MIT. El proyecto Pharo

comenzó en Marzo del 2008, como

una extensión de Squeak 3.9, y la

primera versión beta fue lanzada el 31

de Julio del 2009.

Complementando un poco la

información histórica, Wikipedia

(2015) señala que el desarrollo de

Pharo se centró en ingeniería moderna

de software y técnicas de desarrollo. El

proyecto Pharo buscaba desarrollar un

Smalltak moderno para las compañías

y para las investigaciones de ingeniería

de software. Pharo también sirve como

la plataforma de referencia de Seaside,

un marco de aplicación web que

desarrolla aplicaciones web a través de

Smalltalk. Actualmente, Pharo se rige

por el consorcio Pharo (para

compañías) y por la asociación Pharo

(para usuarios).

Los mismos autores Black et al.

(2009) explican que Pharo “no utiliza

muchos de los paquetes de datos de

Squeak. Sin embargo, incluye

numerosas características que son sólo

opcionales en Squeak”. También

señalan que “las interfaces han sido

simplificadas y revisadas”.

Además, estos últimos autores

también señalan con respecto a los

aspectos importantes del origen de

Pharo que:

Pharo no debería ser una copia del

pasado Smalltak, sino una completa

reinvención de este. Pharo realmente

favorecerá evoluciones y cambios

incrementales. Queremos ser capaces

de experimentar con nuevas e

importantes características y librerías.

La evolución significa que Pharo

acepta errores, no se está buscando que

sea la nueva y perfecta solución a

todos los problemas en un solo paso

(aunque eso nos encantaría). Pharo

favorecerá pequeños cambios

incrementales, pero multitudes de

ellos. El éxito de Pharo depende de las

contribuciones de su comunidad

Características de

Pharo Con respecto a las características de

Pharo, Wikipedia (2015) señala que

“Pharo posee las mismas

características principales de

Smalltalk”: La misma web Wikipedia

(2015) indica que estas características

principales anteriormente mencionadas

son:

En primer lugar, todo es un objeto,

en el sentido de la programación

orientada a objetos. En segundo lugar,

Pharo es reflexivo. Es decir, un

programa puede modificar sus

propiedades y comportamientos

internos en el tiempo. Por otra parte,

Pharo es un lenguaje dinámicamente

tipado, en contraste con los lenguajes

estáticamente tipados. La herencia es

bastante sencilla. Por último, la gestión

de la memoria es automática. Como es

5

Page 6: Lenguaje de Programación Pharo

el caso de muchos lenguajes de

programación modernos, Pharo utiliza

un recolector de basura.

Una característica a resaltar, está

señalada por los autores Black et al.

(2009) en donde explican que Pharo:

Es bastante portátil. Incluso su

máquina virtual está completamente

escrita en Smalltalk, facilitando la

depuración, el análisis y en cambio.

Pharo es el vehículo para un rango

muy amplio de proyectos innovadores

con respecto a aplicaciones multimedia

y plataformas educacionales diseñadas

para el desarrollo de entornos

comerciales web.

Por otra parte, Bergel et al. (2013)

señalan que:

La sintaxis tan simple y el modelo

de objeto maleable de Pharo son

bastante apreciados. Programadores

con o sin experiencia disfrutan del

paradigma que se basa en que “todo es

un objeto”. La simplicidad y

expresividad de Pharo, así como los

entornos de desarrollo en vivo, brindan

a los programadores una sensación

única.

Comenzando a

usar Pharo Para poder hacer uso de Pharo, el

usuario deberá descargar tres partes

que constan de cuatro archivos cada

una. Los autores Black et al. (2009)

distinguen estas partes como:

La máquina virtual, que es la única

parte del sistema que es distinta para

cada sistema operativo y procesador.

Máquinas virtuales pre-compiladas

están disponibles para la mayoría de

los entornos de desarrollo de

computación. Otra de las partes está

constituida por los archivos fuente, que

contienen los códigos fuente de las

partes de Pharo que no cambian con

frecuencia. Y una imagen actual del

sistema, que muestra una captura de

pantalla del sistema Pharo

ejecutándose. Esta última parte

contiene dos elementos: una imagen

que muestra el estado de todos los

objetos en el sistema (incluyendo

clases y métodos, ya que se habla de

objetos) y otro archivo que muestra

todos los cambios al código fuente del

sistema.

Es importante destacar que, según

los mismos autores Black et al. (2009):

Smalltalk fue diseñado para ser

trabajado con un mouse de tres

botones. Estos tres botones, sin

embargo pueden ser representados por

configuraciones en el teclado, por lo

que se usan los siguientes términos:

Click: este es el botón más utilizado.

Generalmente equivale a oprimir una

vez el botón del mouse, sin hacer

ninguna configuración especial.

6

Page 7: Lenguaje de Programación Pharo

Click de acción: este es el segundo

botón más usado. Por lo general se usa

para mostrar un menú contextual. Esto

es, un menú que ofrezca la posibilidad

de realizar distintos tipos de acción,

dependiendo de lo que esté señalando

el mouse.

Meta-click: activa una matriz de

identificaciones que realiza

operaciones en el objeto que esté en la

pantalla.

El menú mundial

Según los autores Black et al.

(2009) este menú “muestra formas

simples de acceder a muchas de las

herramientas que Pharo ofrece. Se

pueden apreciar la mayoría de las

herramientas esenciales de Pharo,

como el navegador y el espacio de

trabajo”.

El navegador de clases. Encontrar

clases y métodos

El navegador de clases, según los

autores Black et al. (2009) “es una de

las herramientas clave usadas en la

programación en Pharo. Hay muchos

navegadores interesantes disponibles

para Pharo, pero el navegador de

clases es el más básico que puede

encontrarse”.

Estos mismos autores, manifiestan

que:

Existen distintas formas de

encontrar una clase en Pharo. La

primera forma, es saber (o suponer) en

qué categoría se encuentra y navegar

hasta dicha clase utilizando el

navegador. Una segunda forma es

enviar un mensaje desde el navegador

hasta la clase, pidiéndole a la clase que

se abra en el navegador.

Por otra parte, con respecto a encontrar

un método Black et al.(2009) explican

que:

Algunas veces se pueden adivinar

los nombres de los métodos, o al

menos parte del nombre, incluso más

fácilmente que el nombre de una clase.

Por ejemplo, si estás interesado en el

tiempo actual, debes esperar que exista

un método llamado “ahora”. Pero

¿dónde puede estar dicho método? El

buscador de métodos puede ser

bastante útil en este caso. El buscador

de métodos, muestra una lista con de

todos los nombres de métodos que

contengan la palabra que se está

buscando. Incluso este buscador puede

ayudar a encontrar métodos según la

función que cumplan los mismos.

7

Page 8: Lenguaje de Programación Pharo

¿Quiénes usan

Pharo?

Según las fuentes de Wikipedia

(2015) hoy en día más de veinte

compañías usan Pharo para sus

proyectos de desarrollo. En particular,

usan:

Seaside, para desarrollo de webs

dinámicas.

Zinc, para arquitecturas de servidor.

Moose, para analizar datos y software

de cualquier tipo de lenguajes de

programación.

Librerías gráficas para evolucionadas

interfaces de usuario.

Roassal para visualizar datos.

La mayoría de las compañías que

hoy en día usan Pharo son pequeñas o

de mediano tamaño. El proyecto Pharo

es apoyado por importantes compañías

como Inria o VMWare.

Tips de Pharo * ¿Por qué debería interesarme Pharo,

o incluso dedicar algo de tiempo a

aprenderlo?

Porque Pharo es el nuevo lenguaje

"cool" en el campo de los lenguajes

orientados a objetos.

* ¿Qué lo hace un lenguaje tan

especial?

Pharo es un lenguaje potente y

elegante. Sin constructores, ni

declaraciones de tipos, ni tipos

primitivos. Es un lenguaje orientado a

objetos puro, dinámico y sencillo, cuya

sintaxis se puede escribir en una

servilleta. Pharo consiste completa-

mente en objetos y paso de mensajes,

pero sobre todo en un entorno de

programación vivo que coloca a los

objetos en su centro.

* ¿Qué ventajas tiene programar en un

entorno de objetos vivos?

Una característica única de Pharo

es que mientras se programa, el

desarrollador se encuentra inmerso en

un mundo de objetos vivos, en lugar de

archivos de texto estáticos. Esto hace

posible obtener un feedback inmediato

de los objetos de tu aplicación, lo que

convierte la programación en una

experiencia única, mucho más

productiva y divertida que en los

lenguajes basados en archivos de texto

muertos a los que estás acostumbrado.

Además, Pharo está escrito en sí

mismo y consiste en un mundo de

objetos directamente accesibles por el

programador. Imagina un entorno en el

que puedes modificar el compilador,

personalizar las herramientas de

desarrollo o incluso crear un entorno

de desarrollo específico para cada

dominio.

* Un momento, pero ¿no está Pharo

basado en Smalltalk, un lenguaje

viejuno y muerto?

Pharo está inspirado en Smalltalk.

Concretamente, es un fork de Squeak,

un entorno Smalltalk open source

creado por el equipo original de

Smalltalk-80 (Dan Ingalls y Alan

Kay).

8

Page 9: Lenguaje de Programación Pharo

Smalltalk siempre tuvo el

inconveniente de adelantarse

demasiado a su tiempo. Por ejemplo,

fue un lenguaje de programación

orientado a objetos antes de que la

orientación a objetos se pusiera de

moda, de hecho, antes de que el

concepto orientado a objetos ni

siquiera se hubiera acuñado. También

fue un lenguaje dinámico antes de que

los lenguajes dinámicos estuvieran de

moda.

Actualmente, la mayoría de los

impedimentos para que Smalltalk

triunfara se han superado y por otro

lado, Smalltalk todavía está en muchos

aspectos por delante de sus sucesores,

especialmente en su visión de un

entorno en el que todo es un objeto y

cualquier cosa puede modificarse en

tiempo de ejecución.

Pharo está inspirado en Smalltalk,

pero es un Smalltalk moderno y open

source.

"Normal" Considered Harmful --

We aren't like frogs... are we? by Alan

Kay. 2009.

9

Page 10: Lenguaje de Programación Pharo

Un ejemplo Paso a Paso

Para poder mostrar cómo se usa Pharo, vamos a implementar el siguiente ejemplo.

Vamos a tener que construir un sistema para administrar camiones en una empresa de

logística. De cada camión vamos a saber su capacidad en kilos y su carga actual, y además

podemos saber si el camión está lleno o no.

Al analizar y plantear una solución al problema, identificamos que todos los objetos

camiones tienen el mismo comportamiento; por lo que extrajimos la siguiente clase:

Tenemos que recordar que la solución se da con los objetos que representan los

camiones, las clases sirven para crear muchos camiones iguales, o sea se comportan todos

juntos.

Recordemos un poquito la forma de comunicación con los diagramas de clase. Este

rectángulo que representa la clase tiene 3 secciones. En la superior va el nombre de la clase.

En la del medio los distintos atributos que tienen los objetos creados con esta clase. Y en la

inferior los mensajes que entienden los objetos creados con la clase.

Creación de Paquetes

Para comenzar tenemos que crear un paquete nuevo dentro de Pharo. Todas las clases

de Pharo están definidas dentro de un paquete, es muy recomendable que creemos un

paquete para cada uno de los ejercicios o problemas o sistemas que creemos.

Para crear un paquete tenemos que hacer click derecho sobre el sector de paquetes del

System Browser y elegir la opción Add Package. Esta opción nos va a preguntar el nombre

del nuevo Paquete.

10

Page 11: Lenguaje de Programación Pharo

Podemos ponerle el nombre que queramos, pero existe una convención que se usa en

todos lados y que Pharo va a usar para presentarnos la información. Esta convención es

separar las palabras con guión del medio.

En este caso vamos a crear el paquete Logistica.

Cuando creamos el paquete nos debería quedar algo así:

Creación de Clases

Ya tenemos nuestro paquete creado, por ahora esta vació y triste y solo; por lo que

vamos a comenzar creando la clase Camión.

Para crear una clase tenemos que hacer las siguientes operaciones:

1. Hacer click sobre el paquete donde va a vivir nuestra nueva clase.

2. Ingresar la definición de la clase en el Área de Edición de Código, ahora vamos a

hablar de que hay que escribir ahí.

3. Aceptar la definición, ya sea haciendo Ctrl+S o haciendo botón derecho y darle la

opción Accept.

Definición de una Clase

Las clases en cualquier ambiente de Smalltalk se definen a partir de un envió de

mensaje. Al hacer click sobre un paquete la herramienta ya nos propone un template:

11

Page 12: Lenguaje de Programación Pharo

Object subclass: #NameOfSubclass

instanceVariableNames:

classVariableNames:

category: 'Logistica'

La definición de nuestra clase Camion es la siguiente:

Object subclass: #LgCamion

instanceVariableNames: 'capacidad carga'

classVariableNames:

category: 'Logistica'

Las cosas que se modificarán son:

El nombre de la clase, es eso que esta después del numeral

Las variables de instancia, acá se agrega dentro del string cada uno de los nombres

de las variables de instancia separados por un espacio.

En este caso se tienen dos variables de instancia, capacidad y carga.

Nombre de la categoría donde esta clase, acá ya coloca la que corresponde al

paquete donde nos encontramos parados, pero siempre lo puede cambiar.

Después de crear la clase nos debería quedar algo así:

12

Page 13: Lenguaje de Programación Pharo

Definición de Métodos

Ya definimos nuestra clase ahora debemos agregarle métodos.

Para poder agregar un método a una clase, tenemos que tener seleccionada la clase

donde lo vamos a definir y hacer click sobre la categoría del método que vamos a generar;

si no tenemos la categoría, la podemos crear o hacer click en no messages que es la que se

tiene cuando está vacía o en -- all -- si ya tiene alguna.

Cuando hacemos esto la sección de edición de código nos va a ofrecer el template, esto

no es solo necesario para que nos muestre el template, sino que lo tiene que hacer para que

Pharo sepa dónde vamos a meter el método.

Entonces vamos a escribir el código de nuestro primer método, lo que vamos a hacer es

un mensaje para que el camión nos devuelva su capacidad:

capacidad

^ capacidad

Para guardar el método creado, tenemos que hacer CTRL+s o botón derecho y elegir la

opción Accept.

Cuando hacemos esto, nos queda el siguiente resultado.

13

Page 14: Lenguaje de Programación Pharo

Probando nuestros Objetos

Ya tenemos creada nuestra clase, ahora probemos los objetos que creamos. Para poder

crear objetos y mandarles mensajes necesitamos usar un workspace.

En un nuevo workspace vamos a escribir el siguiente código.

unCamion := LgCamion new.

unCamion capacidad.

Podemos ir ejecutando línea a línea. La primera nos conviene ejecutarla con un Do-It (o

haciendo Ctrl+d), ya que es una línea que tiene efecto de lado. Esta línea crea un nuevo

objeto a partir de la clase LgCamion y lo asigna a la variable local unCamion.

La 2da línea la vamos a ejecutar con un Print-It (o haciendo Ctrl+p), ya que es una

expresión que va a devolver la capacidad del camión.

Dando como resultado lo siguiente:

14

Page 15: Lenguaje de Programación Pharo

Pero porque cuando evaluamos la segunda expresión nos devuelve nil? Bueno, porque

todas los atributos de un objeto arrancan en nil.

Por eso debemos agregarle el método para poder establecer los valores de los objetos.

Vamos a agregar los siguientes métodos a la clase LgCamion:

capacidad: unValor.

capacidad := unValor.

carga

^ carga.

carga: unValor

carga:=unValor.

Además vamos a definir el método para responder al mensaje estasLleno.

estasLleno.

^ capacidad = carga.

Entonces una vez que tenemos este mensaje podemos hacer una prueba más interesante

con el siguiente workspace.

unCamion := LgCamion new.

unCamion capacidad:1000.

unCamion carga:1000. unCamion estasLleno.

Este workspace ya nos permite probar una variante, que podemos ir modificando para

probar nuestros objetos. Una alternativa interesante para esto, es poder crear tests unitarios.

Como guardar mis programas

En Pharo, los programas se guardan dentro de la imagen, o sea tengo que ir guardando la imagen con el código y los objetos de mis programas.

15

Page 16: Lenguaje de Programación Pharo

Pharo está disponible de forma gratuita para descargar en http://pharo-

project.org. Hay tres partes que necesitas descargar, que consisten en cuatro archivos (ver Figure1.1).

La máquina virtual (VM) es la única parte del sistema que

es diferente para cada sistema operativo y procesador. Hay

disponibles máquinas virtuales precompiladas para la mayor

parte de los ambientes. En la Figure1.1 vemos la máquina

virtual para la plataforma seleccionada, su nombre es

Pharo.exe

El archivo sources contiene el código fuente de todas las

partes de Pharo que no cambian muy frecuentemente. En la

Figure 1.1 su nombre es SqueakV39.- sources

La imagen de sistema actual es un snapshot de un

sistema Pharo cor- riendo, congelado en el tiempo.

Consiste de dos archivos: un archivo.image, que contiene el

estado de todos los objetos en el sistema (incluidos clases y

métodos, dado que son objetos también), y un

archivo.changes, que contiene un log de todos los

cambios en el código fuente del sistema. En la Figure

1.1, sus nombres son pharo.image y pharo.changes.

16

Page 18: Lenguaje de Programación Pharo

CONCLUSIONES

Pharo es un lenguaje de programación que ha venido evolucionando y

tomando fuerza, es un lenguaje potente y netamente orientado a objetos se

pueden llegar a las siguientes conclusiones.

Los lenguajes programación en la actualidad tienen una gran relevancia

para lograr desarrolla piezas de software que soluciones problemas en

específicos.

Pharo ofrece una plataforma de código abierto y de soporte.

Pharo está diseñado para trabajar con un ratón de tres botones para

hacer click, hacer action-click o hacer meta-click. Si no tienes un ratón

de tres botones, puede usar las teclas modificadoras para obtener el

mismo efecto.

Puedes usar atajos de teclado en el texto del workspace, o en cualquier

otra herramienta, para evaluar código. Los más importante de estos son

do it (CMD–d), print it (CMD–p), inspect it (CMD–i), explore it

(CMD–I) y browse it (CMD–b).

18

Page 19: Lenguaje de Programación Pharo

BIBLIOGRAFÍA

BERGEL, Alexandre; et al. Deep into Pharo. Suiza: Square Bracket

Associates, 2013.

BLACK, Andrew; et al. Pharo by example. Suiza: Square Bracket

Associates, 2009.

Wikipedia. Pharo. 2015. http://en.wikipedia.org/wiki/Pharo

[Consulta: Lunes, 06 de abril del 2015. 13:00]

Wikipedia. Pharo. 2015. http://www.paradigmasdelta.com/pharo

[Consulta: Sábado, 11 de abril del 2015]

Wikipedia. Pharo.

2015https://gist.github.com/luque/2dd83f8c815619df1ef1

[Consulta: Sábado, 11 de abril del 2015]

Wikipedia. Pharo. 2015http://uqbar-

wiki.org/index.php?title=Tutorial_de_Squeak_y_Pharo [Consulta:

Sábado, 11 de abril del 2015]

http://www.pharo-project.org es el sitio principal de Pharo.

Ejemplo extraído el 12/04/2015 de la página web:

http://uqbarwiki.org/index.php?title=Pharo_para_programadores_Ozo

nosos

19

Page 20: Lenguaje de Programación Pharo

REVISTA DE INGENIERÍA DE SISTEMAS.

VOL. 2 .Año 2015

Universidad de Oriente, Núcleo de Monagas.

Curso Especial de Grado.

Maturín, Monagas Venezuela.

Editores.

Br. José Vásquez.

Br. Argenis Gil.

Grupo PYTHON

Diseño Gráfico.

Br. José Vásquez.

Contacto:

[email protected]

[email protected]

Page 21: Lenguaje de Programación Pharo