Desde que existe la orientaci贸n a objetos, la programaci贸n estructurada ha pasado a un nivel m谩s b谩sico. La algor铆tmica b谩sica ya no forma parte del d铆a a d铆a de los programadores, y las herramientas que permiten una mejora en el tiempo de desarrollo est谩n triunfando, a煤n cuando eso suponga un cambio en la filosof铆a del programador.
Si Rails es un buen ejemplo de framework que apuesta por la generaci贸n autom谩tica de c贸digo, OpenXava no se queda atr谩s, de manera que las largas horas de desarrollo utilizando Eclipse y programando el c贸digo instrucci贸n a intrucci贸n pueden estar llegando a su fin. Adem谩s, variantes de Java como Groovy con su framework Grails (incluso su GSQL), est谩n empezando a triunfar entre los programadores.
Tal vez la filosof铆a evolutiva de Java vaya por delante de .Net en este sentido, aunque con el nuevo framework 3.5 y MVC, Microsoft est谩 llevando a sus m谩ximos la optimizaci贸n de tiempo en el desarrollo.
A partir de la versi贸n 9i de Oracle, las consultas SQL ya se pueden realizar siguiendo el est谩ndar ANSI/ISO. Evidentemente, esto no es ninguna novedad, pero s铆 que ofrece una dificultad extra a los programadores que estamos acostumbrado a la notaci贸n 鈥渃l谩sica鈥 de Oracle.
Llama la atenci贸n la uni贸n NATURAL entre tablas. El sistema gestor entiende como natural la uni贸n entre campos de igual nombre de ambas tablas. Por ejemplo, si hacemos una join natural entre dos tablas que contengan un campo llamado “cli_codcli”, el sistema igualar谩 por ese campo. El problema ocurre cuando a帽adimos un campo llamado “comentario” a ambas tablas. Tambi茅n incluir谩 ambos campos en la condici贸n de uni贸n.
Lo que m谩s me gusta de la notaci贸n ANSI es la “imposibilidad” de ejecutar expl铆citamente un producto cartesiano por error. Del resto, pues s铆, es m谩s intuitivo utilizar las expresiones del tipo LEFT OUTER JOIN que el famoso (+) de Oracle, … pero las inercias son dif铆ciles de cambiar.
Para nosotros una herramienta que est谩 resultando bastante 煤til es DotProject. Es un ejemplo de software libre parametrizable y adaptable (le hemos cambiado el CSS y hasta hemos arreglado algunos bugs relacionados con el idioma) que se puede utilizar para llevar la gesti贸n de los proyectos para todos los perfiles involucrados. La conocemos desde hace aproximadamente un a帽o, pero no la hemos utilizado aprovechando gran porcentaje de sus funcionalidades hasta hace un par de meses.
Las herramientas de gesti贸n para la colaboraci贸n entre las personas que tienen objetivos comunes pero diferentes tareas, suelen ser complicadas de fabricar聽y el fracaso en su uso puede deberse a muchos aspectos: problemas de implantaci贸n, usabilidad, falta de adaptabilidad a la forma de trabajo del equipo, etc. A煤n as铆, algunas herramientas de colaboraci贸n se pueden probar como servicios online y pueden resultar un 茅xito. Teamwork, Tobu, Gubb聽o Hey! Wall, son ejemplos de aplicaciones online at铆picas que vale la pena echar un vistazo, ya que no tienen un objetivo puramente de gesti贸n, sino de colaboraci贸n, y su implantaci贸n no est谩 centrada en un sector concreto, sino que son herramientas generalistas.
Javier Jofre (12-May-2010)
Gracias a O'Reilly, podemos asistir v铆a online y de forma gratuita a algunos cursos sobre desarrollo en Java para Android. Pr贸ximamente (en unos d铆as) empieza el curso de creaci贸n de un cliente twitter. Espero que lo disfrut茅is.