Es posible que quien lea estas primeras lineas piense que me mueve hacer algún tipo de comparación técnica entre ambos entornos de trabajo. No, no. Para nada.
Es mas, me parece que podemos comparar nuestra herramienta (Delphi) con cualquier otra con características similares o al menos que se hayan diseñado con los mismos propositos (es fácil escuchar que Delphi es un entorno de proposito general). Se me ocurre que podría ser acertada la comparación con Visual Studio y seguro que se establecerían una base comun de caracteristicas y una relación de diferencias. ¿Precio de la licencia?, ¿rapidez en el desarrollo de nuestras aplicaciones?, ¿existencia de componentes de terceros?, ¿mejor integración con determinados motores de bases de datos? etc… Seguiriamos así una larga lista de preguntas cuya respuesta nos llevaría a inclinar la balanza hacia un lado o hacia otro.
Quizas el verdadero motivo que me ha movido a escribir estas lineas es confrontar el espiritu que subyace en ambos y adivinar las carencias que de otro modo pasarían desapercibidas.
Pero vayamos por partes. Pregunto: ¿Alguien conoce a Velneo?
Para quien no conozca esta herramienta, lo mejor es hojear las primeras lineas del curso virtual de Velneo y leer la definición que ellos mismos se dan:
Velneo es una plataforma completa de desarrollo de soluciones empresariales. Es una plataforma completa porque integra todos los elementos necesarios para desarrollar, comercializar e implantar soluciones empresariales.
Es una herramienta orientada a la creación de aplicaciones que necesiten gestionar, de forma ágil, grandes volúmenes de información.
Velneo no es un lenguaje de programación ni tampoco es una base de datos, como entendemos habitualmente. Combina un completo entorno RAD (Rapid Application Development Desarrollo rápido de aplicaciones) con un potente multiservidor, un catálogo de plantillas (vTemplates), tanto genéricas como empresariales y una serie de Kits de Recursos (vPlugins).
Si quereis visitar la pagina oficial de esta empresa: http://www.velneo.com/
En el area de documentación y de foros, encontrareis una buena colección de películas que recrean el montaje de una aplicación y muestran la potencia de este entorno de trabajo.
Veréis: hace algo mas de un mes que adquirí una licencia de Velneo Profesional por un precio realmente asequible. Dicho preció incluía la documentación técnica (por supuesto en esquisito español) y un curso OnLine de 1 mes de duración que me ha permitido tener una buena idea de qué me ofrece el entorno. Dicha compra se debió principalmente por motivos de trabajo por un lado, y por otro, movido por la curiosidad de la fama que le precedía. A fin de cuentas, Velazquez Visual, que es como originalmente se bautizaba el producto en sus comienzos, llevaba bastantes años sobre sus espaldas y ultimamente andaba en el candelero de muchas publicaciones españolas, en las que se calificaba muy positivamente sus aportacion al desarrollo rápido de aplicaciones.
Simultaneamente, y tras un gran esfuerzo económico, tras largos meses de replantearme las posibilidad de girar hacia los entornos de Microsoft o mantenerme en el mismo entorno de trabajo, actualicé mi licencia profesional de Delphi 5 con la compra de una licencia de Delphi 2007. No fue una decisión sencilla. Todo lo contrario. Para un pequeño programador, como puedo ser yo, es una decisión verdaderamente complicada. De hecho, una gran parte de los compañeros que pude consultar, me orientaban bien hacia Visual Studio, o bien hacia algun entorno vinculado a Java. Sobretodo teniendo en cuanta el mal ambiente y la desconfianza que pareció reinar desde que se supo la situación desesperada de Borland y la aparición de Codegear.
Así que durante el trascurso de ese pequeño curso OnLine de Velneo, he tenido la oportunidad de comparar y reflexionar sobre algunos puntos que me han parecido vitales y que ahora pretendo compartir con vosotros a lo largo no solo de este escrito sino de próximas entradas.
Con vuestro permiso me hago la primera pregunta:
¿Somos los programadores de Delphi lentos en el desarrollo de una aplicación?
Es una pregunta con mala leche… 🙂
Me la hacia a mi mismo durante el curso de Velneo. Porque…, basta tener dos opciones a mano y se produce el milagro de las comparaciones. Veamos como lo haría con Velneo en un hipotetico desarrollo de una típica aplicación de gestion (compras y ventas):
* Abro Velneo, abro un nuevo proyecto a partir de la plantilla de negocio y ¡voila!. Ya tengo hecha la aplicación. Me han bastado 3 minutos para obtener un programa totalmente funcional que espera tan solo ser personalizado (logos, informes, etc…).
Pero es que, ademas, para acabar de desmontarme el chiringuito, si el programa necesita añadir nuevas necesidades resulta que facilmente puedo añadir de un golpe y en bloque un interfaz unificando busquedas, edicion/alta/baja de registros…
¿hay gato encerrado?
Vamos a cortar aquí esta primera reflexión. Os dejo que lo penseis un rato… y me voy a lo mio, a escribir unas cuantas lineas de codigo. Todavía no me he enterado de todas las caracteristicas nuevas que trae el entorno de Delphi 2007, que no son pocas. Eso si, hay que reconocer que a pesar de los cambios se sigue oliendo a Delphi y mi valoración de lo que he visto hasta ahora es bastante alta.
Me alegro de leerte de nuevo Salva…
Hace ya muchos años (casi 10), me ocurrió algo parecido: estuve un par de años programando aplicaciones de gestión en Delphi, y cuando descubrí PowerBuilder, me di cuenta de que me había estado complicando la vida innecesariamente. Las mismas tareas (ventanas de inserción, modificación, borrado de datos, informes, etc.) las hacía con mucha menos complicación. Eso sí: cuando quería salirme de lo típico, PowerBuilder no daba la talla, y echaba de menos a mi Delphi (:
La conclusión que saqué es que Delphi no es bueno para las típicas aplicaciones de gestión. Delphi es muy versatil, puedes hacer de todo, pero yo no lo usaría para hacer aplicaciones de contabilidad, facturación… en definitiva: gestión (de hecho, siempre que tengo que hacer algo de gestión, desempolvo mi PowerBuilder 🙂
Cuando te pones delante de Delphi, sabes que puedes llegar hasta donde te propongas, con esfuerzo, puedes programar cualquier cosa.
Cuando te pones delante de otros entornos más específicos (PowerBuilder o parece ser que también Velneo), sabes que no puedes hacer de todo, pero que al menos, lo que sí que puedes hacer, lo harás cómoda y rápidamente.
Hay una corriente cada vez más «de moda» que habla de los Domain Specific Languages. Es decir: para cada cosa, su lenguaje de programación. Eso se contradice con la idea de «un lenguaje de propósito general».
Yo cada vez estoy más convencido que no tiene sentido un lenguaje para todo.
Saludos!
JM
Me gustaMe gusta
Con todos sus inconvenientes, las empresas grandotas se quedan con la programación web mientras tienen la opción, con tal de no atarse a un vendedor, aunque yo no te aconsejaría Java para escritorio ni como venganza. ¿Es menos arriesgado atarse a Velneo que a CodeGear? No sé yo. Tanto que decían de Borland y mira cómo Microsoft tiró del cable con VB6.
En realidad no creo que exista un gran compromiso por elegir Delphi, pues buena parte de la cadena de montaje ofrece código fuente y tienes la opción de elegir siempre estándares abiertos. ¿Tienes la misma libertad con Velneo?
Otra pregunta es si realmente tienes una facilidad para producir aplicaciones mucho mayor que con Delphi, manteniendo la flexibilidad para cambiar cualquier cosa, como suelen pedir los clientes finales.
Los productos «milagrosos» que lo hacen todo se basan siempre en la recolección de metadatos, que se aplican mediante plantillas antes o después de la compilación. No hay mayor dificultad en aplicar esa misma metodología a Delphi.
Me gustaMe gusta
JM parte de los problemas que comentas se resuelven sencillamente tirando de la herencia de los formularios. Montas un formulario para edición, otro para listado, uno de búsqueda y poco más. Después solo se trata de ir heredando los mismos en el proyecto. Al fin y al cabo viene a ser algo como las plantillas de Velneo, solo que en este caso las plantillas las montas tú.
Me gustaMe gusta
Hola a todos: 🙂
Me alegro de leer vuestros comentarios. La idea es seguir reflexionando en voz alta, cosa que me parece realmente buena y provechosa, pero os adelanto que en mi opinión, y es lo que quiero ir abordando en esta y proximas entradas, existen partes de los razonamientos que esgrimimos como programadores de Delphi que son así porque damos por supuesto que tienen que ser así.
El razonamiento que esgrime Nico, por ejemplo al final de su comentario en donde dice: «No hay mayor dificultad en aplicar esa misma metodologia a Delphi» me parece que es la clave central de nuestro problema. Es que Sí existe esa dificultad y para mi es una realidad. Una minima muestra ya la tienes en los Wizard que se integren en el mismo ide como extensión de nuestro trabajo diario: Desde el momento en que parten tan importantes como la creación de un wizard no esté correctamente documentada desde la misma empresa que ha generado la herramienta.
No… Nasca. No estoy de acuerdo contigo con que todo se resuelve sencillamente tirando de la herencia y menos si se enlaza este tema con el repositorio de objetos. Ojo, no porque no crea que no se puedan resolver muchos problemas utilizando la herencia sino porque no creo que sea como lo planteas: ala… a tirar de la herencia y ya está. La herecia es necesaria en muchas ocasiones porque precisamente el polimorfismo, nos permite hacer cosas que dificilmente podríamos hacer de no tenerlo.
Un detalle a esto es que la herencia entre formularios la vas a tener complicada salvo que tires mano del repositorio de objetos. Y el repositorio de objetos no es la panacea ni resuelve todos los problemas.
Yo creo que el problema de fondo es mas hondo que considerar la herencia en si misma, y nace -el problema- de la misma filosofia de Delphi. Quisiera ahondar en eso en las proximas entradas.
Tengo claro que no voy a pasarme a Velneo. ¡Clarisimo! Pero parece inteligente aprender de las cosas buenas que observas en otras herramientas y que te descubren las carencias en la forma de uso de las tuyas.
Un abrazo a todos.
Salvador
Me gustaMe gusta