Otro argumento por Pharo

Esta mañana estaba leyendo la lista de correo de Pharo y encontré un mail de Stef. Duccase sobre la visión de Pharo, transcribo algunos de los párrafos que me parecen importantes.

“Some days ago we were chatting with igor and he made an interesting remark about a kind of hidden philosophy
behind pharo: the idea that we systematically want to make the system better.
In fact I realized that what we are doing is to make a system nice, robust and powerful so that everybody can use
to realize their goals. But we want to have a system where not only smart guys can manage to do something with it but also less talented people…”

“…I want a system that let me learn from itself. I think that lot of things fall naturally in place from this vision (documentation, oo practices – not having car inheriting from wheel, tests comments, adequate abstractions, modularity). I want a system that everybody can nicely build his own software.
So in short I want pharo to be like a nice garden with greenhouses for building new garden with tools versus a jungle where only skilled adventurers can make it through.”

Totalmente de acuerdo. Y esto me lleva a pretuntarte: ¿sabes tu cual es la visión que tienen los createdores de tu lenguaje de desarrollo preferido?

¿Por qué Pharo?

A la hora de trabajar con Smalltalk uno debe elegir algún dialecto al igual que al trabajar con Java uno debe de elegir algún IDE. El tema con Smalltalk es que el dialecto es algo mucho más relevante que el IDE, pues en la mayoría de los casos el dialecto determina no solo el IDE a utilizar sino que además determina entre otras la máquina virtual en la cual se ejecutará nuestra aplicación. En la actualidad existe una interesente variedad de dialectos entre los que se destacan: VisualWorks, Visual Age, GNU-Smalltalk, Dolphin, Squeak y Pharo.

Mi elección personal es Pharo, y en los siguientes párrafos voy exponer mis motivos.

Licencia

Pharo es gratuito y de código abierto, en particular es desarrollado bajo licencia MIT, lo cual otorga una gran libertad.

Comunidad

Sin duda es una de las comunidades más activas y es definitivamente la más activa de las que participo. Por la lista del proyecto pasan más de 60 mails diarios. Para una herramienta de desarrollo (sea IDE, framework, compilador, etc) la comunidad es clave y más aún en el caso de iniciativas código abierto. Adicionalmente es una comunidad muy abierta, todo el mundo puede commitear fixes y todas la preguntas son contestadas en la lista de correo.

Experiencia de usuario

Comenzando por la super cool interface de usuario, el logo RE-copado y siguiendo por las infinitas posibilidades de personalización que ofrece, no conozco otro IDE tan “feliz para el programador” (es cierto, este argumento es muuyyyy subjetivo, pero no deja de ser un argumento).

¿y todo es color de rosa?

Bueno, casi. Hay algunas funcionalidades que por momentos se tornan un poquitin inestable, pero creo que se debe a todas las yerbas particulares que le he agregado a mi imagen.

¡¡¡Aguante Pharo!!!

Presentación en Smalltalks2010

Como había adelantado, el pasado jueves estuve en Smalltalks2010, presentando Seed (el proyecto que hice durante mi estadíia en Francia). Los slides que utilicé durante la presentación estan disponbles para descarga aqui. Más allá de esto la conferencia fue filmada, con lo cual supongo que en el transcurso de las próximas semanas estarán disponibles los videos.

Aquí les dejo el link a algunas fotos que saqué: http://picasaweb.google.com/nicopaez/Smalltalks2010#

Saludos!

Lo que queda del año

Ya casi entrando en noviembre no es demasiado lo que resta, pero hay algunas cosillas que merecen mención.

Entre ellas tal vez la más relevante es la Conferencia Argentina de Smalltalk, Smalltalks 2010. Este el lugar elegido es Concepción del Uruguay y entre los participantes destacados se encuentran: Marcus Denker (Pharo), Lukas Renggli (SeaSide) y Eliot Miranda (Cog).

Más allá de esto, tendremos:

  • al menos 2 encuentros más de la comunidad ágil de Buenos Aires,
  • posiblemente alguna clase especial abierta al público (en realidad todas nuestras clases son abiertas al público) en Algo3,
  • alguna charla abierta de algunas de las personalidades que asistan a SmalltalkTalks 2010,
  • algunos eventos de fin de año de los grandes vendors: Microsoft, Oracle, Adobe, etc

Finalmente, aún no lo tengo confirmado, pero es posible que dé algunas charlas sobre agile en el interior del país.

    Como de costumbre, a medida que vaya teniendo más info iré compartiendo.

    Mantenganse atentos.

    ESUG 2010 (día 5, final)

    Esta fue una jornada reducida, pues el evento finalizó luego del almuerzo.  Entre las sesiones destacadas a mi parecer:

    • OOSCM: en esta sesión Jorge Silva presentó una herramienta desarrollada en Smalltalk para administración de la configuración de software (SCM). Lo interesante de la misma es la posibilidad de manejar versionado a nivel de los conceptos de OO, o sea, entre otras cosas permite versionar métodos de una clase.
    • Mars: Esteban presentó el proyecto que obtuvo el tercer puesto en los premios de invocación de este año.
    • Helvetia: es el resultado del trabajo de doctorado de Lukas Renggli y básicamente es una herramienta que permite extender Smalltalk para trabajar con lenguajes específicos de dominio.

    Finalmente hubo algunos anuncios institucionales de ESUG, como por ejemplo la presentación del nuevo board, la lista de eventos en los que se estará participando y algunos de los proyectos que se llevarán a cabo en el próximo período.

    Si bien no hubo anuncio oficial, hay rumores que indican que ESUG 2011 será en Inglaterra, ya mismo me estoy poniendo a pensar como hacer para ir. 🙂

    ESUG 2010 (día 4)

    Si bien mi cabeza estuvo principalmente en mi presentación hubo algunas sesiones a las que asistí y que resultaron interesantes:

    • Agile Web Development and Seaside: Lukas mostro la forma en que trabaja el equipo de Seaside un muy buen ejemplo concreto de desarrollo ágil.
    • Lesson learned in Agile Development: J. Brichau compartió sus experiencias (buenas y no tanto) en desarrollo ágil, Durante la sesión surgieron algunas discusiones interesantes por ejemplo alrededor de las distintas formas de contratación y la importancia de establecer una relación de confianza con cliente.
    • Power to communities: una vez más el genio de Stef, en esta ocasión hablando sobre algunas claves para crear/potenciar y hacer crecer a la comunidad (en este caso en particular la de Pharo).

    Ya sobre el final del dia hubo un panel sobre licencias open source, en el que participación algunos referentes de la comunidad Smalltalk y una abogada especializada en el tema.

      ESUG 2010 (día 3)

      Las sesiones destacadas a mi parecer fueron:

      • Design Principles of Patagonia: en esta sesión H. Wilkinson compartió los principios de diseño OO utilizados en Patagonia, la aplicación utilizada para realizar la registración del evento.
      • Metacello: Dale y Mariano hicieron un corto pero efectivo tutorial sobre esta herramienta de configuración de paquetes.

      La sesión de Metacello terminó terminó poco antes de las 4 p.m., hora en que nos dirigimos al evento social. Dicho evento consistió en en una visita al Museo de Ciencia de Barcelona, un lugar excelente para niños y geeks. Además de la exposición permanente había dos exposiciones temporales: una sobre reciclado y otra sobre mágica, EXCELENTE!!!!.

      Luego de recorrer el museo por alrededor de 2 horas y medias (personalmente podría haber estado todo el día en ese lugar) nos dirigimos al auditorio donde se llevo a cabo una sesión a cargo de Stef y luego de eso se llevó a cabo la ceremonia de entrega de los Premios ESUG 2010. Los ganadores de los premios fueron.

      • Mejor libro de los últimos 6 años: Dynamic Web Development with Seaside
      • Mejor labor de difusión: Laurent Laffont  y Damien Cassou.
      • Inovación tecnológica (http://www.esug.org/wiki/pier/Conferences/2010/InnovationTechnologyAwards):
        • 1 puesto: Physical Etoys, by Gonzalo Zabala, Ricardo Moran y Sebastián Blanco
        • 2 puesto: Cog, by Eliot Miranda
        • 3 puesto: Mars, by Esteban Lorenzano

      Mis felicitaciones a todos los ganadores. Un punto interesante a destacar es que el 1 y 3 puesto son proyectos argentinos, :-).

      Finalmente cerramos la jornada con un cocktail en la plaza del museo.

      Presentando en ESUG 2010

      En un par de horas (9 hs. ARG ) tengo voy a dar sesión en ESUG 2010. En dicha sesión voy a presentar la forma en que estamos enseñando Programación orientada a objetos en FIUBA. En cierto punto la sesión es un update de la sesión que dimos con Carlos en Smalltalk 2009, pero encarada desde otro punto. Se sesión será transmitida online (al igual que toda la conferencia) en esta dirección: http://eventv.projectescitilab.eu/index.html.

      Dado que desde hace un tiempo he adoptado Linux como plataforma principal (si, una vez más y tengo un post pendiente al respecto) y no tengo Power Point disponible, me pareció una buena oportunidad para usar una nueva herramienta para hacer la presentación. Prezi.

      Otro condimento interesante es que la presentación será en inglés.

      Deseenme suerte y veremos que sale.

      ESUG 2010 (día 2)

      Por la mañana asistí a dos muy buenas sesiones:

      • A JIT implemented in itself, donde los argentinos X e Y contaron sobre la evolución y el estado de proyecto donde básicamente intentan implementar una maquina virtual de Smalltalk usando Smalltalk (muy loco para mi limitada mente)
      • Pharo Achievements and a Vision: creo que el título es auto descriptivo, solo voy a decir que me gustó la forma en que Marcus llevó la presentación.

      Ya por la tarde estuve un rato en el Workshop de Tecnologias Smalltalk donde se presentaron algunos trabajos interesantes (entre ellos el de MarianoP). Luego de esto tuve el honor de que Stef. Duccasse me invitara a participar de una sesión de “brainstoring”  sobre el manejo de interdependencias de paquetes junto a Marcus, MarianoP y Dale Henrichs, MUY groso, sin palabras.

      Ya hacia las 5 de la tarde Verónica presentó Torch, una herramienta para visualización de cambios en código fuente que desarrolló como parte de su doctorado.

      El segundo día de evento finalizó con una sesión en formato lightening talks donde los asistentes mostraban sus proyectos.

      Luego de esto emprendimos una visita guiada por la noche de Barcelona con nuestros colegas catalanes: Bernat y Rai.