miércoles, junio 24, 2009

E pur si muove - Galileo programa en eclipse

Justo acabo de terminar un ejemplo de Servlets (en Netbeans, ja!) cuando aparece la gran noticia: Eclipse Galileo ya está aquí!!

Si, todos los años Eclipse lanza una nueva versión, no sólo del IDE, sino que en esta ocasión se actualizan 30 proyectos adicionales. Pueden ver un listado de todos los proyecto aquí. Entre los más importantes encontramos a BIRT (para business intelligence), Dali (para JPA), GEF (el framework para desarrollo de plugins con interfaces visuales) y MTJ (para desarrollo móbil).

El gran ausente desde hace mucho tiempo: Visual Editor. Es una verdadera lástima. De hecho, cuando tenga un tiempo, me gustaría desarrollar uno propio (pero que no tenga tantos bugs como VE, ja!)

Algo anda mal o por lo menos es muy raro

En el RC 4, la lista de versiones de eclipse bajadas es encabezada por ¿Java?, NOOO, PHP:


Naturalmente, mi pensamiento no puede ser otro más que WTF!!

Saludos

sábado, junio 20, 2009

Nueva generación de programadores con Alice


Recuerdo que Diego Sarmentero me había comentado hace tiempo sobre este software para enseñar programación. Hoy lo bajé y me puse a jugar un rato. La verdad es que está genial para aprender a programar. La idea de Carniege Mellon y la combinación de Java + The Sims 2 ha sido fantástica.

Alice es un entorno de programación 3-D. La idea es programar orientado a objetos, pero sin usar dierctamente un lenguaje de programación. Lo que hacemos aquí es directamente identificar un objeto sobre la pantalla y "arrastrar" acciones a lo que sería el editor de código:

También tenemos una pestaña donde el estudiante se familiariza con métodos y propiedades de los objetos, además de poder responder ante distintos eventos, como por ejemplo las teclas de dirección. Esto, sumado al hecho de tener todo un mundo en 3-D para poder realizar acciones, motiva al estudiante a crear cosas realmente muy buenas.

Les dejo un video adicional para que vean:

Saludos
Pablo

domingo, junio 14, 2009

No seré tan OSUM, no seré tan líder

El famosísimo Mariano Guerra (ver emesene.org), me contactó con el Sun ambassador de la UNC (Universidad Nacional de Córdoba) Elías Andrawos, quien solemnemente me ha nombrado OSUM Leader de la UTN (Universidad Tecnológica Nacional).
La idea es organizar grupos de investigación, charlas, cursos y grupos de estudio en la UTN. Con Elías tenemos muchísimas ideas que esperamos concretar en los próximos meses. Por ejemplo, ya estamos pensando en organizar un grupo de estudio para certificarnos en Java (SCJP).

Y para comenzar, he creado un grupo en la página de OSUM. A todo aquél que quiera unirse será bienvenido. Dentro de poco iré agregando contenido al grupo y a comenzar a generar charlas y eventos.

Por último, debido a mis extremadas limitaciones de diseño, por el momento tengo un logotipo FEÍSIMO, y un par de opciones adicionales. Voten la menos fea.



Saludos
Pablo

sábado, junio 13, 2009

Crítica destructiva

Me enojé, hoy no quiero ver lo positivo dentro de lo negativo, ya no entiendo que significa "look at the bright side". No querido lector, hoy voy a ser mala onda.
Lo que sucede es que sigo viendo como los programadores java nos complicamos la existencia creado cosas cada vez más complicadas y ridículas, y reinventando todo lo que ya existía en otros lenguajes.
Veía el otro día en The Server Side, la presentación de, mmmm...., como decirlo, (herramienta, compilador, lenguaje) algo así llamado Hybrid Server Pages. Bien, todos los que hemos hecho aunque sea páginas de ejemplo sencillas en JSP sabemos que no es lo más fácil ni lo más adecuado el intercalar código java en medio de HTML. También sabemos que ningún framework ni lenguaje (si, hablo de .NET), ha logrado algo interesante. Si bien me encanta la manera en que lo maneja .NET, el beneficio viene por el lado del IDE más que del framework en sí. Esto mismo se aplica a JSF.

Bueno, resulta que estos muchachos no tuvieron mejor idea que plantear como una gran revelación el hecho de intercalar código Java en HTML, pero sin usar tags especiales!!!! (<% %>, básicamente)
Quizá lo más interesante que plantean es que el resultado de la página "se compila" y que no es una herramienta de templates. Sigo teniendo mis reservas con estos últimos puntos, ya que el resultado final va a ser: HTML!!! (¿No es esto lo que hacen las herramientas de templates?)

Bueno, como comentario final, una imagen vale más que mil palabras:



Es mi imágen de MSN y Gtalk por estos días...

Saludos

sábado, junio 06, 2009

Revolución Multicore - ¿Qué revolución?

Ya ni recuerdo cómo llegué a un artículo titulado "Is Java 7 ready for the multicore revolution?", pero lo importante es que me abrió la cabeza un poco hacia otras ideas. Lo cierto es que el multicore ya está aquí desde hace rato y la única forma de aumentar la performance de nuestras aplicaciones será el desarrollo de aplicaciones concurrentes. Esto (en mi caso) está muy bueno, ya que me interesan muchísimo los problemas derivados de threading.
Por supuesto, el aumento de la performance va a depender de muchísimas cosas, la primera de ellas es el tipo de aplicación que se desarrolle, por ejemplo:
  • Si tenemos una aplicación de escritorio para diseño de escenarios 3D, sin duda va a requerir muchísimo procesamiento.
  • Si estamos desarrollando (o corriendo) un video juego de los buenos, necesitamos mucha capacidad de proceso.
  • Pero si tenemos una aplicación de escritorio (o web), que envía requests de información a un servidor, quizá ya no necesitemos tanto procesamiento, sino capacidad de manejar una gran cantidad de datos.
En este último punto me voy a detener. Porque no he estado analizando el problema de la performance de las aplicaciones como un sistema. Me gusta un artículo (un poco viejo) pero que me ayudó a darme cuenta de que la ejecución de un software depende de muchísimas cosas, no sólo de la capacidad de procesamiento, sino por ejemplo, de la capa de datos, como lo afirma casi como un Talibán de los datos, Daniel Lemire, en su artículo "Multicore Programming? YAWN!".

Entonces, ¿Qué demonios hago? ¿Aprendo multithreading? ¿Me uno al grupo de cluster de Tuza? ¿Me hago DBA? ¿Sigo haciendo experiencia en .NET?

Sólo el tiempo lo dirá, por el momento voy a hacer todo, menos unirme al grupo de cluster (perdón Tuza).

Y ya que estoy, les dejo un librito (sencillo y rápido de leer): How to survive the Multicore Software Revolution (or at least survive the hype)

Saludos
Pablo