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:

    yay -S libcurl-gnutls
  • Ahora instalamos el lanzador:

    yay -S pharo-launcher

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 # 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
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.

  1. Creamos una carpeta donde esté contenido el programa:

    mkdir -p ~/Programas/ cd ~/Programas/
  2. Descargamos el instalador para Gnu/Linux de 64 bits:

    wget https://files.pharo.org/pharo-launcher/linux64
  3. Descomprimimos el archivo antes descargado:

    unzip linux64
  4. Ejecutamos el lanzador de Pharo:

    ./pharolauncher/pharo-launcher

    Veremos algo como esto:

  5. Hacemos click en el botón “New”, veremos una imagen como esta.

  6. Elegimos una plantilla en la columna de la mitad (Choose a template) y
    la nombramos de manera personalizada (en este caso como “Grafoscopio”)

  7. Hacemos click en “Create image” y veremos cómo la imagen se descarga
    de Internet a nuestro disco duro.

  8. Una vez haya terminado la descarga veremos algo así:

  9. 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:

    Pharo launcher

  • 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.
  • Abrir un playground, escribir una operación aritmética y ejecutarla.
  • Vamos a leer y ejecutar (o imprimir) los trozos de código que aparecen en Elegant Code.
  • Puntos extra, en caso de tener instalado Grafoscopio, si se crea una libreta cuyos
    nodos son los playgrounds propuestos en Elegant Code.

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)

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). [name=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: Pharo Open Documentation. Video curso massivo en línea. Awesome Pharo: Una colleción curada comunitariamente de asombrosas bibliotecas, herramientas, frameworks y software. Pharo Books. Learning Object Oriented Programming with Pharo. Dawn Theme - A Warm Dark theme for coding in Pharo. 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: yay -S libcurl-gnutls Ahora instalamos el lanzador: yay -S pharo-launcher 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 # 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 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: 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 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. [ ] Abrir un playground, escribir una operación aritmética y ejecutarla. [ ] Vamos a leer y ejecutar (o imprimir) los trozos de código que aparecen en Elegant Code. [ ] Puntos extra, en caso de tener instalado Grafoscopio, si se crea una libreta cuyos nodos son los playgrounds propuestos en Elegant Code. 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)
{"breaks":false,"language":"es","level":"beginner"}