viernes, agosto 12, 2011

Introducción a Scala - JUGAR

La semana pasada tuve la oportunidad de participar de una muy buena charla de Scala que se dió en el Java User Group de Argentina, un nuevo grupo que se creó hace bastante poco y está realizando charlas mensuales muy interesantes. Les recomiendo que se registren en el Meetup del grupo y comiencen a participar de las actividades, me estoy postulando para dar una charla para fin de año.
El disertante fue Gustavo Arjones, quien realmente poseía un buen conocimiento teorico-práctico y lo que más me gustó es que explicaba las cosas como un muy buen nerd, con pasión y ganas de contar lo divertido que era utilizar scala. Y algo que también me gustó es que tenia buen background en .NET, lo cual hizo buenas comparaciones.
Obviamente fue una charla de una hora y no se pudo entrar demasiado en detalle, pero fue lo suficiente como para entender los principios del lenguaje y como arrancar. Scala es un lenguaje que corre sobre la JVM, que ofrece una sintaxis y semántica muy concisa y elegante para construir una aplicación integrando ideas de la programación orientada a objetos y la programación funcional.
Acá les dejo la referencia a los materiales expuestos en la charla y las slides.
Cuales fueron mis conclusiones:
  1. Realmente me pareció un lenguaje de avanzada y que incorpora conceptos de la programación funcional que permiten aplicar el concepto "tell don't ask" de manera más sencilla
  2. Tiene una sintaxis muy elegante, minimalista y poderosa, realmente me hizo acordar a ruby
  3. La manera de crear mixins con traits es genial, ver el ejemplo en la presentación
  4. Como viene pasando, los IDEs ya están integrados y Netbeans parece ser el mejor preparado
  5. Posee una IRB para tirar lineas en una consola interactiva, lo cual permite aplanar la curva de aprendizaje y ser muy productivo
  6. El lenguaje se jacta de ser type-safe, lo cual es verdad, pero realmente hubiese esperado algo más dinámico, entiendo el trade-off pero es ahí donde mi corazón se vuelve a volcar un poco más a Ruby/JavaScript.
  7. Como corre en una JVM, es prácticamente natural invocar POJOs desde scala y viceversa
  8. Framework muy potente de Unit Test, incluso se podría usar para testear clases java, es más es una manera excelente para empezar
  9. Frameworks Web como Play! tienen soporte para scala
En fin, esas fueron mis conclusiones, espero que le hayan gustado y si alguien lo prueba me comenta como le fue, yo tendré que planificar un poco de tiempo para hacerlo, no lo veo en los próximos 2 meses al menos.

lunes, agosto 01, 2011

Conferencia RubyConf - Argentina

Hoy me enteré que para Noviembre se va a estar haciendo en el Konex, la RubyConf Argentina, es una conferencia destinada a profesionales interesados en Ruby, Ruby on Rails y Metodologías Agiles. Acá tienen un poco más de información.
Por diferentes razones me interesa esta conferencia:
1) El lenguaje ruby me parece el más expresivo, simple y productivo para programar (ojo, lo dice un programador mediocre)
2) Considero que R/ack/oR podrían ser la base para una plataforma PaaS productiva y escalable. No solo por el lenguaje sino por la filosofía, Ruby cuenta con plataformas muy interesantes que permiten escalar sin problema como Redis, y hay sitios con mucha concurrencia montados sobre Ruby (parte de Twitter, GitHub, los primeros que se me vienen a la cabeza). Por el lado de la productividad, nuevamente, los frameworks en ruby son los más simples del mercado, mucha convención y muy buena curva de aprendizaje.
3) Vienen speakers muy copados.
4) La gente de ruby es muy copada, en general, son todos bastante freak y abiertos al dialogo, son menos organizacionales y trabajan más en start-ups.

Yo estoy viendo si puedo ir a hablar de algo que interese, en principio se me ocurren los siguientes temas:
  • Introducción a Torquebox, el App Server de Red Hat para aplicaciones ruby
  • La plataforma de Red Hat PaaS llamada Open Shift para construir aplicaciones Ruby (que todavía está en pañales).
  • El cliente de Ruby que que comencé para Infinispan, la DB NoSQL (data grid)
Y si, todo relacionado con Red Hat, que le voy a hacer, el open source me fluye por la sangre, se me hace más facil trabajar con cosas del día a día.