Los foros…

mayo 31, 2006 en Enlace interesante

…son un buen sitio para encontrar algún que otro enlace interesante. De hecho, creo que sería un buen consejo recomendar la participación en cualquiera de ellos, aunque uno participase tan solo de lector y dejara a los compañeros mas avezados, el tema de las respuestas. Todo vendrá a su tiempo. Leer, leer y más leer. Conocer los problemas de la gente real, la de carne y hueso, en este mundo de la programación. Porque los problemas tienen nombres y apellidos y la gente en general, descubre que la vida real tiene poco que ver con las doctrinas de muchos libros, llenos de ejemplos donde todo es perfecto.

Un compañero de trabajo me comentaba con cierta razón:
-Salva…, no se lleva el gato al agua el que más conoce de su entorno de trabajo, sino el que sabe que problemas debe evitar y que trampas debe esquivar.
Yo llevaba algunas horas intentando hacer las cosas correctamente y aquel endiablado trozo de codigo no funcionaba, y generaba una excepción inexplicable. A el le bastó tan solo unos segundos observarlo y sonreirme: … es que aunque lo haces bien… no funciona. Es un bug del componente que estas utilizando y lleva años sin arreglarse y no está documentado correctamente.

Y de alguna forma, conocí o tomé conciencia de uno de los problemas que mas miedo me da encontrarme en cualquier desarrollo, y que yo le llamo algo así como principio de confianza ciega: yo confio en ti porque tu confiaste en otro….

Así que resulta higienico y saludable la participación y de alguna forma, creo que es bueno animar a que se participe. Casí todas las web que aparecen en la sección de enlaces cuentan con buenos foros. Veamos algunos de los que conozco relacionados con Delphi:

http://rinconcitodelphi.com/Foro/
http://www.grupoalbor.com/foros/?opc=delphi
http://www.latiumsoftware.com/es/forums.php
http://www.clubdelphi.com/foros/

Iré colgando en sucesivas entradas más enlaces destacados a foros. Particularmente, prefiero los foros tradicionales, donde uno recibe el correo, a la tendencia actual de reemplazarlos por foros web, mantenidos en algun servidor al que accedes a través de Internet. El correo tiene la ventaja de que te permite clasificar algunos mensajes, y hacer busquedas intensivas que no estan disponibles desde la web. Cada cual que saque su opinión.

Por cierto, casi lo olvidaba… Hoy he recuperado de uno de los correos de los foros, un par de enlaces que me parecieron interesantes cierta ocasión que andaba investigando sobre RTTI:

http://brouardf.club.fr/DelphiRTTI.html
(la página principal es: http://brouardf.club.fr/index.html. Está ciertamente desactualizada puesto que la ultima actualizalización es del 2000 pero se le puede pegar un vistazo)

La otra, hacía referencia a uno de los artículos de las páginas que mantiene Brian Long en Internet,
http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm. En la página principal encontrareis muchas referencias a los articulos del conocido Delphi Magazine
http://www.blong.com/

El traje del emperador…

mayo 25, 2006 en Enlace interesante, Entrada Diario

Es una de las últimas “discusiones” que he disfrutado desde la web, se corresponde a la que Ian Marteens, que ya muchos conoceis a través de la serie de libros “La cara Oculta de…” que extendió desde Delphi hasta C#, mantenía hace unos día acerca de UML y de los Gestores de Proyectos.
Marteens, además de escribir en las páginas de Insight, donde se comercializan algunos de sus proyectos profesionales, deja su opinión -por ejemplo- en el blog que mantiene en:
http://www.commanet.net/. Os adelanto que no tiene desperdicio y os animo en general a leerlo, como una buena parte de las cosas que escribe. Para muchos compañeros es un maestro. De hecho, cualquiera de los programadores que se inician en bases de datos pueden encontrar en sus libros un magnifico referente para dar esos primeros pasos, lejos de los discursos teóricos tan propios de la Universidad.
La discusión se iniciaba en la entrada [Gestores de Proyectos] del día 17 de Mayo. La seguí de cerca porque tengo amistad y relaciones de trabajo con el programador que inicia la discusión, y andaba Juan, que así se llama mi compañero de trabajo, valorando la necesidad de hacer uso de un gestor que le permitiera el trabajo en equipo y versionar los proyectos, de forma similar a como pueden hacerlo otros desarrollos. Borland ofreció a sus desarrolladores un producto como TeamSource que permitía el trabajo en equipo pero por diversas razones, como sucede con bastantes productos, no llegó a cuajar.
Posterior a esta entrada, y relacionada con ella, se aborda el tema de UML y aunque no tenga una relación directa con el versionado, afecta de lleno a la metodologia de trabajo. Y Nicolas Aragón (conocido programador entre los delphinomanos que rondaron algunos foros de trabajo) da una replica a Marteens desde su blog en este último tema y queda en el aire un cierto no se que de desconcierto… :-( A partir de ahí, los lectores del blog de Marteens se posicionan en una ristra de comentarios inacabable, donde el mismo Marteens tiene que mediar para que no acabe aquello como el Rosario de la Aurora.

En mi opinión la pregunta es compleja. Todos conocen UML y han pasado algunos minutos insertando dibujitos cabezones y pinchando globitos que llamamos casos de uso. Hemos, incluso en algun momento, diseñado las clases y estampado las firmas de los métodos pero no sabemos hasta donde llegar y queda al criterio del programador valorar si tiene suficiente con un diagrama o se queda corto, porque nadie le obliga en definitiva a hacerlo de una forma o de otra. Para haceros una idea, pienso que UML podría simbolizar los planos de la misma forma que entendemos este concepto en la arquitectura. No me imagino a mi cuñado, que curiosamente es Arquitecto, planteandose en cada nuevo proyecto la forma en la que diseña sus planos y preguntandose si en ese proyecto concreto se puede ahorrar tal o cual plano o capa. La legislación establece que planos debe presentar y en que condiciones, para que un proyecto pueda validarse y recibir las certificaciones. ¿Es este el caso del software…?

Yo creo sinceramente que no. Para estar nuestros desarrollos a la altura de los proyectos que pueda ejecutar un arquitecto, nuestro cliente debería tener una especificación y un detalle completo de lo que hace nuestro software, con la misma presición que puedan tener los planos del arquitecto respecto a la ejecución de su proyecto. Si una habitación tiene una area de 20 mtros. cuadrados y en la realidad los tiene, es porque aquellos que han ejecutado la obra han leido los mismos planos que en su día diseño y dibujo el arquitecto. Por supuesto que se encarecerían los desarrollos, pero existiría una garantia legal de que nuestros programas hacen lo que tienen que hacer. Y ahora me dirán que eso ya existe… y que en los “grandes” desarrollos ya existen contratos donde se determina de antemano esta “memoria de calidades” de nuestro software. Esa es la diferencia. Al arquitecto, la ley le obliga tanto si edifica un mostruoso rascacielos como si se tratara de un chalet en la sierra (y se supone que los requisitos en el primer caso serán mayores)… Si mi primo, el del kiosko me pide un programa para llevar el recuento de sobres del pokemon, que vende a crios como a mi hijo, no creo que le haga el diseño en UML, no creo que utilice tampoco herencia para diseñar la clase TSobre, ni que exista el metodo Vender… sobretodo porque mi primo es de los que tardan en pagar… tarde mal y nunca.

Que hago si…

mayo 20, 2006 en Enlace interesante, Entrada Diario

Buena pregunta. Porque no siempre los componentes se comportan como esperamos. Es más, existen errores documentados y otros no conocidos a la fecha de hoy, escondidos en la maraña de lineas de código y nadie se percató de ello… hasta que tu llegaste y se te ocurrio hacer…

Pues nada. Lo mejor es que visites las paginas de Borland, si el problema hace referencia al compilador o a la VCL para comprobar que el problema ha sido detectado por otros programadores. Borland habilitó QualityCentral para la remisión e información de los inevitables bugs.
Como hablamos concretamente de Delphi, visita
http://qc.borland.com/wc/qcmain.aspx?p=10 .

Si el problema esta relacionado con un componente de terceros, lógicamente deberias visitar los foros existentes que mantienen dichas compañias y comprobar que existe faqs en las paginas donde se pueda recibir informacion de los errores y problemas encontrados.