Apasionado por llevar a Mexico a la cima mundial de desarrollo de software: comentarios desde mi trinchera
miércoles, 14 de noviembre de 2007
Delphi 1!? ok....
La encuesta esta en el sitio de Club Delphi en el siguiente URL:
http://www.clubdelphi.com/foros/showthread.php?t=46171
Si no tienes usuario en Club Delphi puedes ver los resultados de la encuesta hasta ahora y algunos comentarios, para contestarla registrate en el Club (GRATIS Y Definitivamente RECOMENDADO).
Por cierto, yo utilizo felizmente BDS 2006 (y no se que estoy e$$perando para cambiar a RAD Studio 2007) :P
miércoles, 31 de octubre de 2007
El Preclaro pensamiento de Borland
No quiero decir Preclaro como que estaba claro antes que los demás, más bien como que hicieron algo antes de tener claras las cosas: Y me refiero a Kylix una vez mas.
¡Y es que Kylix (la idea de Delphi tras Linux) es algo fantástico ahora! En su momento sonó muy bien, con todo y las dudas: ¿Quien usa Linux? Ninguno de mis clientes o conocidos lo hacia realmente. De hecho solo tres o cuatro camaradas lo teníamos instalado y nos metíamos de vez en cuando o incluso sabíamos administrarlo (usuarios, NFS, Samba, SMTP, Bind, etc.).
Ahora la escena pinta muy diferente, es decir, Ubuntu u OpenSuse (no se diga Suse Enterprise) lo podría usar mi mamá con una mano atada a la espalda y no extrañaría mucho su Office ni su Messenger (bueno, la verdad mi mamá no es buen ejemplo porque es bastante inteligente y puedo tener un buen reto tratando de ganarle en Age of Empires cualquier día de estos) pero saben a lo que me refiero.
Linux no es el futuro escritorio necesariamente, pero si tiene un ENORME futuro como escritorio, mucho más grande del que nos imaginamos. Solo descarguen el ultimo Ubuntu desktop y cálenlo.
Y lo más importante, si hay un gran futuro en Linux, ¿Puede CodeGear explotarlo ahora sí, con gran capacidad y buen enfoque?
Solo hay que ver la creciente popularidad del proyecto Lazarus (freepascal).
jueves, 18 de octubre de 2007
Dia de la Revolucion Delphi 2007
Tuve el placer de asistir (por que realmente lo fue) a la presentación de CodeGear 2007 en Guadalajara, donde el nuevo representante en México de CodeGear, Gopac Soluciones Integrales, en conjunto con Andreano Lanusse (Product Line Manager para América Latina) y Lisa Flores (Comercialización para Latinoamérica de CodeGear) introdujeron los productos, soluciones y demostraron la voluntad que tiene CodeGear para crecer a nuestro Pais (y nuestra comunidad latina).
Realmente salimos motivados de esa reunión: primero de la presentación de Andreano Lanusse -que resulto ser un gran tipo, muy talentoso y verdaderamente apasionado por Interbase, Delphi y 3rd Rail (el nuevo IDE de CG enfocado en desarrollo con Ruby on Rails)- en la que nos mostro BlackFish y su manejo de triggers y Stored Procedures hechos en Delphi (hechos casi en segundos), Delphi 2007 con una gran, GRAN cantidad de mejoras en dbXpress 4, ECO VI, y en el IDE en sí.
En seguida gopacSI, que realmente tienen ganas de crear y apoyar a nuestra comunidad Mexicana de desarrollo. Muchos de los asistentes conocimos personalmente a su Director General (un Maestro en Sistemas especializado en Base de Datos que es una excelente persona) y a su Ejecutivo Técnico de CodeGear, el Lic. Norberto Martínez Rizo (norberto.martinez@gopac.com.mx) que rápidamente nos organizo a quienes fuéramos ya parte de la comunidad de Foros (como de Programadores Delphi México) para hacer mas sinergia y ponerse a nuestro alcance.
Desde aquí Felicito a todos ellos por su voluntad y profesionalismo, pero sobre todo por la pasión por lo que hacen, asi como a CodeGear por que esos pasos que estan dando son firmes hacia el mismo sentido que los desarrolladores vamos, y que sigan asi. Ahora sí, tenemos que poner todo de nuestra parte para ser una comunidad más dinámica y creativa, por nuestra sociedad Latinoamericana.
sábado, 13 de octubre de 2007
Luchando contra 500 años de Cultura del comerciante
Generalmente en México (me parece que en gran parte de América Latina) los dueños, jefes o "patrones" de empresas (incluso de empresas de tecnología) de la anterior generación tienen una cultura de negocios MUY ARRAIGADA en la que muestran una grave falta de interés por la inversión: les gustan los negocios fáciles, el dinero rápido, la fuerza del impulso antes de la inteligencia de la organización. Sus ideas nacen de la prioridad de ahorrar todos los centavos que puedan, para terminar gastando muchos pesos en la consecuencia de ese ahorro. ¿A quién le suena familiar?
En lo personal, he estado encontrando una infinidad de trabas en investigacion e innovacion en una empresa para la que trabajo como consultor y desarrollador, dicha empresa tiene un potencial enorme, pero simplemente parece no interesar a su dirección, tal vez por pensar que mientras mas grande menos podrá controlar. Y es que al parecer, eso es otro rasgo de la mencionada cultura: el control obsesivo e invasivo.
Y es que, si buscas gente inteligente para que trabaje contigo y para ti, esperas que usen esa inteligencia en resolver sus tareas de la mejor manera (en su justa medida y en su justo ámbito de responsabilidad) conscientes de los objetivos en común, o no? La dirección sirve de eso mismo: dirección de los esfuerzos. No contratas a gente con cerebro (la mayoría de los que trabajan para dicha empresa) para que sea solo una extremidad del cerebro de la dirección, o eso supongo yo.
Es probablemente un reflejo de algún complejo de superioridad/inferioridad del jefe, pensando que él y solo él debe saberlo todo, y que todos deben hacer todo exactamente como él lo haría, sino de seguro no está bien hecho. Pero al mismo tiempo, la misma dirección no les proporciona la información necesaria para que tomen las decisiones correctas, porque la desconfianza no se los permite, ni siquiera cuando están seguros que es GENTE PROFESIONAL y comprometida con los objetivos de la empresa.
En fin, hay tanto que hacer en nuestro país, tanto potencial de crecimiento, y tanta gente que entendemos ese potencial, que tenemos más conciencia de lo que es ser profesional y buscamos serlo día tras día y cada vez mejor, que lo tenemos tatuado en los huesos, junto con la pasión que sentimos por aquello que hacemos. Es una lástima que a pesar de que tratemos de cambiar las cosas visiblemente para crecer, hay quien busca administrar una empresa de desarrollo de software igual que administraria un abarrote pequeño, en el que puede ver, oír y controlar hasta su ultima decisión, y al mismo tiempo explotarlo como si fuera la gallina de los huevos de oro.
Pero eso no debe detener el crecimiento de nuestros países y la explosión de nuevas y mejores oportunidades de desempeño profesional.
Solo como muestra de lo que van a ser las cosas: Hay muchas empresas de tecnología que están cambiando, innovando, aprovechando (si bien de manera aun escueta) su potencial. Por ejemplo Sistemas GH, una empresa de desarrollo basada en Morelia, Michoacán, que con inteligencia privilegia la inteligencia y autonomía de la gente sobre la ambición desmedida, su mentor (y fundador del grupo Programadores Delphi México) Al Gonzalez, sabe que un desarrollador profesional es alguien que sabe lo que hace y que vale la confianza que se deposite en el (o ella). Digo, al fin y al cabo es un negocio: el principal objetivo son las ganancias, pero es una forma más inteligente, más consciente, responsable, duradera y sostenible de lograrlas, te encuentras con la lealtad y la motivación intrínseca de las personas que trabajan a tu alrededor, es decir, los demás hacen bien y cada vez mejor las cosas, por el simple hecho que querer ser buenos en lo que hacen y cada vez mejores, y de lograr los objetivos en común.
viernes, 21 de septiembre de 2007
Nuevo libro de Delphi de Marco Cantu
Por lo pronto ya lo pedí. Por cierto que ahora el libro se vende a través de un novedoso servicio de impresión bajo demanda: El libro se imprime a medida que se compra, por lo tanto cuando no se hace una inversión exorbitante de entrada. Cualquiera que escriba algo o tenga algo escrito, que pueda ser vendido, se puede subir a este servicio llamada Lulu, se le pone precio y si se vende, pues que bien (claro que ayuda si es algo útil para alguien mas :P )
Cuando me llegue espero tener la oportunidad de escribir una reseña. Mucha suerte a Marco, aunque la verdad creo que no la necesita (El libro rompió toda expectativa de venta en sus primeros días)
miércoles, 25 de julio de 2007
Dinamic binding for properties in the VCL
There is something that I *REALLY* wish to have in RAD Studio that I think is a really nice idea from VS and could be taken even beyond: Dynamic binding of component's properties to any data source (XML, DB, INI files, Registry, Porperties from other components/controls, etc.)
This could be a major step for VCL, plus I guess that RTTI and maybe initialization code might be the core of this technology, so it's not far from there. Just think about it!
That is just the kind of ideas that I think should be part of RAD, don't you think?
sábado, 7 de julio de 2007
Empresa RADical con Delphi
El concepto RAD de Delphi es sorprendente. Ningún concepto me he hecho sentir mas cómodo programando pequeñas y medianas aplicaciones poderosas que el Rapid Application Develompent. Es tan fácil como jugar con Lego pero aquí puedes aprender a crear tus propias piezas y extenderlas hasta donde quieras, tus propios componentes y controles, así de sencillo, toma lo mejor de la programación orientada a objetos y lo aplica de manera pragmática. Sorprendentemente increíble y poderoso.
Lo que me pregunto es porque no he escuchado más de arquitectura y diseño de las aplicaciones creadas con Delphi más allá del RAD. No escucho o leo que alguien este aplicando o encontrando patrones de diseño aplicados al RAD. Parece que todos tendemos a confiar en el concepto atrás de la VCL y seguirlo pensando que es suficiente. En lo particular a mi me ha hecho sentir desorientado cuando trato de ir aun mas allá, hacer aplicaciones genéricas por ejemplo.
Digamos que quiero ser aun más productivo y crear un administrador de estilos gráficos (temas) para las aplicaciones, o un marco de persistencia (un Mapeador Objeto-Relacional por ejemplo) que pueda reutilizar de manera genérica.
Yo sé, estamos hablando de Delphi, no de Java. En Java hay muy interesantes conceptos que hacen a veces palidecer a Delphi en otros rubros: hablo de esfuerzos comunitarios bien apoyados como Spring, Hibernate, SWT; hablo de arquitectura ( Write-once-Run-everywhere del que la CLX fue un esbozo) y de sus aplicaciones empresariales, con transacciones distribuidas u orientadas a servicios (SOA).
¿Que nos impide usarlos con Delphi? Nada. ¿Que nos impide aplicarlos y mejorar aun mas el concepto RAD? De hecho nada, solo la finta de que Delphi es solo para aplicaciones GUI cliente/servidor. ¿Quien dijo eso? No sé, y no importa.
Quiero ver más de eso, quiero usar Delphi en un sistema ENORME, crear componentes reutilizables del tamaño de una aplicación mediana, que me permitan con unas líneas de código o de manera declarativa (mediante XML por ejemplo), unir mis clases con la base de datos y no preocuparme más por saber si la BDE esta descontinuada, la dbExpress mejoro, necesito comprar MyDAC o Borland le cambio el nombre de los componentes ADO a dbGo. Quiero poder hacer de manera sencilla transacciones que abarquen varios procedimientos y una forma fácil y eficiente de mantener la aplicación, aplicar temas, cambiar por completo la vista de mi aplicación sin impactar el estilo grafico sin que esto implique real esfuerzo, MAYOR DESACOPLAMIENTO.
De hecho voy a hacer algunos experimentos con esto: Teoria de patrones de diseño con RAD, algún ORM 100% desacoplado de la tecnología de almacenamiento de datos tal vez, controles con vista 99% personalizable. Ya no estamos lejos (JediVCL, InstantObjects, repositorio de patrones del IDE, ECO, CLX) pero mi propuesta es esa: generar más conocimiento y practica, subirnos a la ola en lugar de intentar subirla y dejarla pasar, digamos Practica de Arquitectura y Diseño avanzado con Delphi.
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
Muchas gracias a los comentarios y sugerencias de Hector Barranco.