23 de junio de 2008

Será bueno seguir programando en VFP ?

Recientemente en "Mundo Visual Foxpro" acabo de ver nuevamente la pregunta de si vale la pena seguir desarrollando en VFP. En lo personal pienso que sí y me tomé la libertad de responderle afirmativa al postulante de la cuestión. Se me ha ocurrido publicar aquí, en Portal Fox, también mi opinión, con mucho respeto a los colegas que podrían opinar totalmente lo contrario.

A quien pregunta entonces si aún vale la pena desarrollar en VFP, yo le respondo rotundamente que si porque:

1- Tu piensas permanecer vivo aún mas allá del 2,017 ¿no? Entonces tus aplicaciones en VFP 9 seguirán vivas mientras tu sigas vivo. Por ejemplo, yo aún tengo aplicaciones hechas en Foxpro para DOS 2.6 funcionando "de maravilla" en Windows Vista. Son aplicaciones sólidas, bien hechas, robustas, rápidas y mis clientes no tienen intención de migrarlas. Son aplicaciones que están operando desde 1,992 (16 años...!). Otro punto importante: yo dejo que mi cliente decida cuando migrar, NO LO PRESIONO NI CHANTAJEO para que lo haga; veo en el cliente un amigo y no "una minita de oro" a quien poderle estar exprimiendo a cada rato con cada cambio de sistema operativo que hace Microsoft.

2- Varios clientes "me han cortado" porque han querido moverse a otras plataformas que "supuestamente" son mucho mejores que VFP (Entiéndase Visual Studio con SQL Server). De entre los que me "habían cortado", tres han vuelto de regreso conmigo. La razón de que hayan regresado conmigo no fue porque .NET, Visual Studio o SQL Server sean malos. Sino porque tenían que moverse a SQL Server (un chorro de plata mas en licencias), depender de los cambios de versiones de Windows Server, y lo más importante, los programadores que les hablaron maravillas de .NET eran muy buenos en eso: "hablar de las bondades de .NET", pero como programadores en sí mismos, eran sumamente inexpertos, impacientes, imprecisos, inconstantes e incumplidos. No alcanzaron a llevar a término sus nuevas aplicaciones con sus flamantes nuevos lenguajes de programación.

Mis clientes primero se frustraron y aburrieron de tanta excusa en los retrasos de entrega del proyecto, los gastos cada vez mayores en herramientas de terceros (que para reportar ahora hay que comprar Crystal Reports...), etc. etc.

Luego de tanta frustración, incumplimiento, incomodidad, gastos extras no mencionados al principio y pobres avances con lo que consideraban "la octava maravilla", resolvieron mejor volver con su viejo pero confiable programador.

Mis clientes no volvieron conmigo porque yo les programara en VFP (a estas alturas no les importa en que les programe). Ellos volvieron conmigo porque en mis aplicaciones tenían, experiencia, constancia, presición, velocidad, resolución de problemas a toda prueba y ante todo cumplimiento con los ofrecimientos cotizados.

3- No es tu herramienta la que te trae éxito, es tu actitud frente a los problemas informáticos que se dan en el camino. Cuando hay un problema "x" en la implementación de una aplicación, eres de los que esperan que otros les digan como salir adelante o eres tu de los que encuentran la solución. Eres de los que "se limpian" en Windows y dicen: "Windows es así, no hay nada que podamos hacer al respecto". Eres de los que resuelven problemas o de los que buscan quien los resuelve por ti. Eres de los que descubren el verdadero mecanismo de un problema o de los que bajan de Internet "parches" o cualquier cosa que mediocremente disimule un problema. No digo con esto que no sea bueno "documentarse" e "investigar" en la Internet o Portal Fox en busca de soluciones (es también absurdo "re-inventar" innecesariamente la rueda), pero lo haces como última instancia o es lo primero que haces frente a un problema.

4- No importa que "tan poderoso" sea el lenguaje de programación que elijas, éste jamás podrá "Pensar por Ti", "Solucionar problemas por ti", "Encontrar mejores alternativas de diseño por tí", "Buscar clientes por ti", "Administrar mejor tu tiempo por tí", "Auto-Diseñarse por tí". Cualquier lenguaje de programación, por poderoso que sea, solo es una herramienta en manos de un hábil o un torpe ingeniero, será solo como un pincel en manos de un prodigioso o un mediocre artista.

Te recuerdo la célebre anécdota del pordiosero que tocaba desafinadamente su maltrecho violín en la salida de un teatro donde justamente en ese momento el famoso Paganini daba un concierto. A la salida, luego de haber escuchado al maestro, la multitud se alejaba del desafinado pordiosero como quien le huye a la peste, hasta que el mismo Paganini, le pidió al pordiosero "su mismo violín", lo afinó y tocó allí afuera con ese mugroso violín, un fragmento de la obra que acababa de tocar dentro del teatro. La multitud lo rodeó y escuchó con admiración y asombro al genial maestro Paganini mientras el pordiosero gritaba: "Ese es mi violín..."

A lo largo de tu profesión como programador verás verdaderas "obras maestras" hechas en VFP, Delphi, XBase++, Xailer, Clippper, Visual Flagship, MySQL con PHP, .NET, Visual Studio, SQL Server, Visual C, etc. etc. Y también verás "grandísimas porquerías" hechas con los mismos lenguajes de programación ya citados. Es cosa de la actitud mental del programador, no de la herramienta que este utiliza. Recuerda: "El hábito no hace al monje..." o dicho en nuestro lenguaje: "La herramienta de programación no hace al buen programador..."

Para cuando ya no sea posible usar mas VFP 9 porque ya no pueda funcionar en ningún sistema operativo, yo ya seré un anciano que de todos modos tendré que estar jubilado de la programación y dedicarme a alguna otra cosa. Si te pones a pensar que tengo corriendo programas luego de 16 años como el caso de Foxpro para DOS, haciendo una analogía, se podría decir que 16 años luego del fin del soporte para VFP 9 (2,016), lo cual sería allá por el 2,032 yo ya tendré 64 años, por lo que esperaría estarme dedicando a alguna otra cosa menos desgastante y estresante que la programación de aplicaciones informáticas (algo así como desactivar bombas terroristas, re-hacer como doble de riesgo los documentales del "cazador de cocodrilos", servir como sujeto de prueba para desarrollo de armas bacteriológicas...)

Si eres del tipo de programador que resuelve, que se responsabiliza (en vez de culpar al hardware, a Windows, a los otros, al usuario), que investiga, que escudriña, que encuentra soluciones; tu futuro con VFP está garantizado, independientemente de cuando acaba el soporte de Microsoft para VFP. Los lenguajes de programación tipo XBASE vinieron para quedarse y quien no siga con VFP lo hará con Xailer, Visual Xbase++, Visual Flagship, Visual DBase o algún otro que surja en el camino. Y finalmente ¿Piensas vivir por siempre?, ¿Cuantos años mas piensas seguir viviendo de la programación? ¿50 años más talvez...?

Tip "existencial": Cuando un programador "habla maravillas" de su lenguaje de programación para obtener un contrato, puedes estar seguro de que no es un buen programador y que el producto terminado no será muy bueno, sencillamente porque se apoya en el trabajo de otros para valorar su trabajo propio y endosa la responsabilidad del éxito de su proyecto a su herramienta de trabajo.

Cuando un programador se apoya en las características de su programa terminado para obtener un contrato, es muy probable que sea un buen programador porque se se basa en el mérito de su propio trabajo y no el de otros. Asume la responsabilidad del éxito de su proyecto y no basa el éxito de su trabajo en lo "poderoso" de su herramienta. Como decimos en mi tierra: "El perico donde sea es verde."

Por ejemplo, tu no ves que Microsoft ande alardeando de que Windows Server 2003 esta hecho en "C", para que la gente lo compre. Mas bien, habla de las cualidades propias del software, haciendo totalmente de lado en que lenguaje de programación esta hecho. Es decir, se apoya en los méritos propios del software de Server 2003 y no en las ventajas de haberlo "programado" en lenguaje "C" en vez de JAVA, por ejemplo.

Edgar Acevedo

3 comentarios :

  1. excelente hermano, cosas así es que necesitamos todos los desarrolladores, gracias mil....

    ResponderEliminar
  2. EXCELENTE!!! REFLEXIÓN

    ResponderEliminar
  3. El mejor lenguaje de programación es aquel que mas conoces.
    Felicitaciones por la reflexión.
    Mi evolucion DBASE -> CLIPPER -> FOX 2.5 (DOS) -> FOX 2.6 -> VFOX 3.0 -> VFOX 6 -> VFP 9 ( ahora utilizo MSSQL como DB ) pero FOX es siempre FOX

    Abrazos a la comunidad

    ResponderEliminar