viernes, 29 de junio de 2007

Patrones del exito

Muchos programadores han escuchado acerca de ó aplican de manera diaria en su trabajo el concepto de Patrón: una solución refinada y adecuada a un tipo de problema específico y bien identificado. Incluso existen los anti-patrones: supuestas soluciones o comportamientos, tendencias y reacciones comunes a determinados problemas, que terminan siendo un desastre por razones comprobadas a lo largo de la historia de la programación.

Ahora imaginemos la misma filosofía del patrón (ir mas allá de la simple resolución del problema), pero aplicada AL MISMÍSIMO COMPORTAMIENTO DEL PROGRAMADOR: los problemas a los que nos enfrentamos de manera constante, nuestro desarrollo profesional y todo nuestro trabajo diario analizados desde la perspectiva de programadores exitosos, con más de veinte años de experiencia y que se mantienen más que vigentes a la fecha, los patrones de comportamiento de los usuarios, de los jefes, pero sobre todo del programador en sí, con tips, consejos y sobre todo soluciones inteligentes llenas de pragmatismo.

Eso es exactamente lo que Andrew Hunt y David Thomas publicaron en un libro por demás excelente, titulado El programador pragmático (de hecho The pragmatic programmer: from journeyman to master ya que por supuesto, hasta donde yo se no ha sido publicado en español).

A pesar de haber salido en el año de 1999 (hace como 30 años-web ;) no deja ni dejara pronto de ser vigente en lo absoluto, de hecho esta gente se adelanto un poco al tiempo así que al contrario, yo diría que es más vigente que nunca, después de todo, la ciencia avanzara pero los humanos seguimos siendo humanos.

Los mismos autores mantienen un sitio web de su compañía: www.pragmaticprogrammer.com que junto con el libro ha sido un enorme éxito al mantener la mente de muchos programadores fresca y abierta para su uso continuo.

No hay forma de explicar mas el libro y la idea más que leerlo detenidamente y con verdadero "Análisis Critico" (tip no. 9 del mismo libro), pero basta decir que ha inspirado a la generación de programadores que ahora son líderes en la industria e innovadores como Martin Fowler (Refactoring), Kent Beck (Extreme programming), Alistair Cockburn (Crystal Clear) y un montón mas.

Por cierto, de acuerdo a wikipedia:

...la palabra pragmatismo proviene del vocablo griego praxis que significa acción. Para los pragmatistas la verdad debe ser medida de acuerdo con el éxito que tenga en la práctica. En el pragmatismo no existe el conocer por conocer. Si algo no tiene un fin o uso determinado no hay razón para que tal cosa exista.

El programador pragmático, por lo tanto se podría definir, pero solo en parte, como aquel que hace lo que funciona para lograr que las cosas se hagan, que piensa lo que está haciendo y no trabaja en automático, y tiene la experiencia y el uso de la inteligencia a su servicio todo el tiempo, se adapta al cambio y se mantiene actualizado.

martes, 26 de junio de 2007

Guia de Steve Trefethen para ser un guru de Delphi

En su ultima semana como empleado de CodeGear despues de 15 años, donde mejoro la VCL (la libreria de componentes y controles de Delphi para win32), Steve Trefethen nos proporciona unas muy interesantes listas de topicos tipo "mantra para la vida" que casi todo programador de Delphi deberiamos considerar.

Hasta ahora ha publicado la lista para la VCL asi como para RTL y object Pascal. Vale la pena pegar la lista enfrente del escritorio.

Actualizacion al 28 de junio 2007: Dos listas, igual de excelentes, se han añadido, una para el use del IDE de Delphi y otra muy, muy interesante titulada Delphi Community. Esta ultima contiene varios vinculos realmente indispensables.

lunes, 18 de junio de 2007

Nueva version del Gadget de Conexiones RDP

Existe una nueva version del gadget del SideBar de Windows Vista, ConexionesRDP. Agregué el soporte para conexiones en modo consola (permite conectar a la consola en lugar de una sesion comun de terminal server) ademas de algunos ajustes con la caja que muestra las conexiones. Otro ajuste es el soporte para sistemas en ingles en donde el tipo de archivo RDP no es "Conexion a escritorio remoto" sino "Remote desktop connection".

Muchas gracias a los comentarios y sugerencias de Hector Barranco.