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:
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 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.
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:
yay -S libcurl-gnutls
Ahora instalamos el lanzador:
yay -S pharo-launcher
Revisa que cuentas con los repositorios de Pharo agregados a tu distibución particular y luego hacer:
apt-get install pharo-launcher
Una vez hayamos instalado las dependencias de libgit para nuestra variante de Gnu/Linux, podemos usar dos métodos para hacerlo.
Comando de instalación de Pharo generico que funciona en cualquier sistema operativo linux
curl -L https://get.pharo.org/64/ | bash # Para sistemas de 64 bits
curl https://get.pharo.org/70+vm| bash # Para sistemas de 32 bits
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:
./pharo-ui Pharo.image
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:
unzip linux64
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
¿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:
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á:
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.
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:
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:
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:
Ctrl/Cmd + p
, lo cual lo mostrará en un tooltip.Ctrl/Cmd + g
.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.
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)