Pharo
Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback (think IDE and OS rolled into one).
Pharo Project
Pharo es un entorno de programación objetual que soporta live coding y visualización de datos.
Es un sistema multiplataforma, que se ejecuta sobre Windows, Gnu/Linux y Mac.
A su vez, es la plataforma sobre la cual está hecho Grafoscopio.
Enlaces Relacionados:
Instalación el lanzador
El lanzador de Pharo (Pharo Launcher) es un programa que nos permite administrar distintas
versiones de Pharo dentro de cada sistema operativo (Windows, Gnu/Linux y Mac).
Veremos las formas de instalarlo en en cada uno de ellos.
En Gnu/Linux
En distribuciones de Linux, es conveniente intentar la instalación manual del Pharo Launcher,
antes de intentar la instalación desde los gestores de paquetes, pues estos suelen no actualizarse
tan rápidamente como el Pharo Launcher provisto por la comunidad de Pharo directamente.
Los prerrequisitos de cada distribución sí es conveniente instalarlos desde el gestor de paquetes
nativo.
Arch, Manjaro y sus derivados
-
Prerrequisito En sistemas Gnu/Linux, debemos tener previamente instalada la biblioteca
libcurl-gnutls
(en sistemas Mac y Windows no sabemos si es necesaria).
Instalala usando el gestor de paquetes de tu [distribución][glos:distro].
Por ejemplo en Arch, Manjaro y sus derivados se instala con:
-
Ahora instalamos el lanzador:
En Debian, Ubuntu y sus derivados
Revisa que cuentas con los repositorios de Pharo agregados a tu
distibución particular y luego hacer:
apt-get install pharo-launcher
Manual
Una vez hayamos instalado las dependencias de libgit para nuestra variante de Gnu/Linux,
podemos usar dos métodos para hacerlo.
Sin el Pharo Launcher
Comando de instalación de Pharo generico que funciona en cualquier sistema operativo linux
curl -L https://get.pharo.org/64/ | bash
curl https://get.pharo.org/70+vm| bash
Este comando se ejecuta en una carpeta en donde quieres almacenar la instalación de Pharo, por ejemplo, /home/usuario/Grafoscopio en donde usuario es el usuario de tu computador.
Luego para ejecutar Pharo solo tienes que ejecutar:
Con el Pharo Launcher
El Pharo Launcher nos permite administrar de manera visual varias imágenes.
Es un método conveniente, pero en ocasiones puede arrojar errores de librerías
en distintas variantes de Linux, como Manjaro.
Una hipótesis que tenemos es que eso se debe a que su desarrollo ocurre en Mac,
y las diferencias de ubicación de librerías entre sistemas operativos, puede
ayudar a que, a pesar de estar instaladas, el sistema no los detecte.
Aún así, si no hay errores de librerías, es un excelente método para instalar
imágenes, en el que vale la pena experimentar.
-
Creamos una carpeta donde esté contenido el programa:
mkdir -p ~/Programas/
cd ~/Programas/
-
Descargamos el instalador para Gnu/Linux de 64 bits:
wget https://files.pharo.org/pharo-launcher/linux64
-
Descomprimimos el archivo antes descargado:
-
Ejecutamos el lanzador de Pharo:
./pharolauncher/pharo-launcher
Veremos algo como esto:
-
Hacemos click en el botón “New”, veremos una imagen como esta.
-
Elegimos una plantilla en la columna de la mitad (Choose a template) y
la nombramos de manera personalizada (en este caso como “Grafoscopio”)
-
Hacemos click en “Create image” y veremos cómo la imagen se descarga
de Internet a nuestro disco duro.
-
Una vez haya terminado la descarga veremos algo así:
-
Para lanzarlo seleccionamos una imagen (en este caso aparece
preseleccionado “Grafoscopio”) y cliqueamos el botón “Launch”.
Después del procedimiento anterior hemos instalado una imagen genérica
de Pharo 8.
La manera en que se usa Pharo es personalizándolo de acuerdo a las necesidades e inquietudes (En ese sentido se parace más a un sistema operativo).
Aún Grafoscopio no está instalado. Para instalarlo ver la
página wiki de Grafoscopio.
Nota que la siguiente vez que quieras lanzar Pharo, deberás ubicarte en la carpeta donde
hiciste la descompresión o usar la ruta completa.
Para el caso de la instalación manual descrita acá, dicha ruta sería:
~/Programas/pharolauncher/pharo-launcher
Mac
¿Eres un usario de MAC y quieres completar esta parte? - Llamado a la acción
Entramos a la página de descargas de Pharo y seleccionamos la descarga
para nuestra plataforma y seguimos los siguientes pasos:
- Seleccionamos Pharo 7.0 en el arbol de imágenes de la izquierda.
- Seleccionamos la imagen
7-stable
y hacemos click en el icono ubicado en la parte superior (al lado del reload)
Debera empezar a cargar una imagen como se ve acá:
- En la parte inferior estan los pasos para lanzar la instalación.
Windows
Necesimos usuarios con Windows para documentar mejor esta parte.
Entramos a la página de descargas de Pharo y seleccionamos la descarga
para nuestra plataforma.
Usar el Pharo Launcher
Pharo emplea algo llamado “la imagen”, que guarda el estado de todo el sistema
(la posición de las ventanas, lo programas que hemos creado, los datos almacenados).
Es como un computador virtual que podemos transportar entre diferentes sistemas operativos
y retomar el trabajo justo donde lo dejamos.
También es la manera de “empaquetar” aplicaciones en algún estado y distribuirlas para
otros usuarios de Pharo.
El Pharo Launcher, que instalamos en la sección previa, nos permite administrar diferentes
imágenes, descargarlas, lanzarlas, borrarlas, etc.
Con Pharo Launcher podemos lanzar imágenes personalizadas
de Pharo con Grafoscopio instalado.
-
Una vez hallamos abierto el Pharo Launcher al final de la sección anterior,
deberemos ver una pantalla como esta:
-
Hacemos click con el botón secundario en el panel de la derecha sobre la imagen que
dice Pharo 7.0-64bit (stable)
(o la última versión estable) y seleccionamos la opción que dice “Create image
”.
-
Nos pedirá el nombre que queremos darle a nuestra imagen.
Podemos escribir cualquier cosa, pero es bueno usar algún nombre mnemotécnico.
Escribamos Grafoscopio
, pues esa imagen la
personalizaremos después con ese software.
-
Empezará una descarga de la imagen genérica (que luego personalizaremos).
-
Cuando haya finalizado, veremos la imagen que hemos descargado y renombrado en el
panel de la derecha:
-
Marcamos la casilla “Quit on lauch”, que está en la esquina inferior izquierda,
antes de lanzar la imagen de Grafoscopio.
-
Hacemos click sobre la imagen recien creada, en el panel derecho y luego hacemos
click en el botón con el ícono de Play que dice Launch
.
-
Veremos la ventana de inicio de Pharo:
Playground: jugar y experimentar con pequeños trozos de código
El playground es un lugar dondes escribimos trozos de código interactivo.
Suele ser de caracter provicional y luego si el código sirve, le damos una forma más estructurada dentro de una libreta interactiva (vía Grafoscopio) o lo volvemos parte de un paquete de software en el browser de clases.
Veremos en detalle esos alternativas, pero empezaremos con el Playground.
Para ejecutar el Playground hay varias formas:
- Via un atado de teclado presionando Ctrl/Cmd + o + w.
- Vía el menú superior haciendo click en
Tools > Playground
.
Una vez lo hemos abierto podemos escribir trozos de código y ver el resultado.
Por ejemplo, escribamos 23 * 47
y podemos, en principio, hacer dos cosas:
- Imprimir el resultado, presionando el atajo de teclado
Ctrl/Cmd + p
, lo cual lo mostrará en un tooltip.
- Ejecutar el código, para lo cual:
- presionamos la combinación de teclas
Ctrl/Cmd + g
.
- Haciendo click en el botón Play con el ícono del triangulito verde.
Un par de recomendaciones:
-
Sin copiar ni pegar! El código, como tantos otros saberes artesanales, requiere
de práctica y memoria muscular.
Mucha gente cuando se enfrenta al código lo que hace es que lo copia y lo pega
reiteradamente, sin desarrollar dicha memoria.
Tengo amigos que han usando por lustros y décadas Gnu/Linux en parte desde la consola de
comandos, pero lo que saben es que se abre una ventana negra, copian algo de un foro, lo
pegan y ejecutan y esperan que su problema esté resuelto, para repetir el procedimiento la
siguiente vez que tengan un problema.
Sin embargo no saben qué fue lo que hicieron en esa ventana negra (la terminal o consola),
ni cómo se resolvía su inquietud.
Salvo las direcciones de Internet, intentaremos no copiar ni pegar, sino desarrollar estos
saberes artesanales a través de la escritura manual, que nos permita encarnar el código
y sus formas.
-
Vamos a hablar de nuestros sentipensares al respecto: La analogía es que aterrizamos
en un aeropuerto de un lugar cuyo lenguaje nos es desconocido y nos enfrentamos al mismo
desde sus formas, sonoridades y costumbres entre sus hablantes.
En este caso estamos accediendo an un lenguaje formal (el código) desde cómo se usa
dentro de una cultura (la de lo programadores) a través de una entrada a un blog
(código elegante).
Una vez hemos hecho el ejercicio, indagaremos no sólo por los elementos formales
(qué pensamos del lenguaje, cómo lo experimentamos, qué preguntas nos genera) y los elementos
sensibles (cómo nos sentimos ante esta experiencia, qué es agradable, desagradable,
desafiante).
Seguir hacia…: Acá podemos empezar a usar Pharo directamente o personalizarlo para
instalar Grafoscopio.
Objetos y mensajes
Los objetos y mensajes son la manera en que Pharo organiza su “discurso sobre el mundo”.
Un objeto es una entidad (concreta o asbtracta) que queremos modelar (una factura, un
anila)