Skip to content

Instantly share code, notes, and snippets.

@luque
Last active October 25, 2017 13:16
Show Gist options
  • Save luque/2dd83f8c815619df1ef1 to your computer and use it in GitHub Desktop.
Save luque/2dd83f8c815619df1ef1 to your computer and use it in GitHub Desktop.
Pharo: Programando en un entorno de objetos vivos.
* ¿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 completamente 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).
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.
* ¿Qué enfoque tendrá esta charla?
La charla tendrá un carácter práctico. Trataremos de transmitir a través de algunos ejemplos la experiencia de programar inmerso en un entorno de objetos vivos.
Resumen Referencias:
* "Normal" Considered Harmful -- We aren't like frogs... are we? by Alan Kay. 2009.
* A software trajectory from ivan sutherland via livecoding back to the future: http://blog.soundsorange.net/2007/07/20/an-ivan-sutherland-trajectory-via-livecoding-back-to-the-future/
* Alan Kay's Etech 2003 presentation: http://www.lisarein.com/alankay/tour.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment