Visual Foxpro vs C#

sábado, agosto 1st, 2020

Hace tiempo que he empezado la migración a un nuevo lenguaje de programación, desde que Microsoft anunció en marzo de 2007  que no habría Versión diez para Microsoft Visual FoxPro  cientos de miles de desarrolladores quedaron huérfanos en cuanto al futuro que tendría esta fabulosa herramienta.

Nueve años después de aquel fatídico anuncio la comunidad de Foxeros sigue vibrante y entusiasta, muchos´reniegan de abandonar al tan preciado zorro que durante años les ha brindado la herramienta perfecta para desarrollar sus soluciones de software.

No voy a negar la efectividad del Zorro durante años he trabajado con esta herramienta y los resultados han sido mas que satisfactorios, la rapidez para tener listo un proyecto con esta herramienta es asombrosa, comparables quizá la rapidez con que se obtendría desarrollos bajo los lenguajes mas modernos de hoy en día como Python o   Ruby.

He probado muchos otros lenguajes en busca de dar con la tierra prometida a la cual migrar en busca de ese nuevo lenguaje que permita igualar o superar las capacidades del siempre bien ponderado Visual FoxPro.

C#

Tratare de explicar la ventajas de forma breve por la que un desarrollador foxpro debería migrar a .Net  bajo el lenguaje de programa C#. a continuación tres  de ellas.

Orientación a Objetos

Los que somos foxeros hemos disfrutado de la orientación a objetos desde la versión 3, lanzada en junio de 1995 (fuente: wikipedia ) por lo que hablar de ella quizá no parezca emocionante a primera vista, sin embargo explicare algunas que quizá llamen tu atención a continuación:

  1. Interfaces: si algunas vez has querido heredar características de dos o mas clases padre en Foxpro y no has podido amarás esta capacidad que puede realizarse en C# y la mayoría de lenguajes orientados a objetos pero que en foxpro no existe.
  2. Clases abstractas: básicamente de lo que hablamos con abstracción es poder usar una clase sin instanciarla, es decir podemos llamar a sus métodos sin necesidad de crear un objeto nuevo
  3. Serializar objetos: con C# puedes serializar objetos para luego realizar operación con ellos en forma clara y transparente, ¿para que sirve esto ? por ejemplo en c# puedes crear una consulta SQL que devuelva un conjunto de registros los cuales se vacían en un array de objetos, este array se usa luego para actualizar los cambios en la base de datos (explicare un poco mas de esto cuando hable sobre MVC)

IDE de Desarrollo

Hay que decir que el IDE de desarrollo de  Foxpro pertenece a la década pasada; se han hecho importante mejoras en él a partir de la comunidad https://vfpx.codeplex.com/ con muchos add-ons que se integran al IDE y que además son gratuitas, si embargo no son suficientes.

Visual Studio es una fantástica herramienta de programación, puede que muchos estén en desacuerdo conmigo, pero yo me atrevería a decir que junto a Eclipse,  Visual Studio es el mejor IDE del mercado.

Podría hablar de muchas características pero entre todas me enfocare en dos que a mi juicio son maravillosas:

  1. Manage Nuget Package: traducido seria algo así como manejador de paquetes de piezas, y sirve para poder instalar directamente en tus proyectos clases y características automáticamente, es como si con un comando pudiéramos descargar e instalar las Foxcharts dentro de  nuestro proyecto, sin acudir al website para bajarlas y luego copiarlas al directorio local de nuestro proyecto.
  2. Command Window: La ventana de comandos de Foxpro es una vieja conocida para todos los que venimos del mundo Fox; Visual Studio la integra ahora y le agrega mas funciones, no es todavia como en Fox, donde se puede digitar cualquier código en la ventana de comandos y el este se ejecuta,  pero hay que decir que funciona bastante bien, sobre todo si trabajas con Entity Framework (explicaré un poco mas de Entity Framework en otra entrada )

Desarrollo para la WEB

Desarrollar directamente para la web no es posible en Foxpro, si bien existen algunas soluciones  como ActiveVFP siguen siendo una solución  forzada, aunque debo decir en su favor que no conozco ActiveVFP; por lo que hablaré de lo que si conozco: MVC y Razor de .NET.

¿Que Es Razor? seria difícil de explicarlo si nunca has desarrollado bajo el paradigma MVC (Modelo Vista Controlador) por lo que simplificando diré que es una manera fácil  de generar código HTML sin conocer HTML, con Razor tu tomas una Tabla y automáticamente te crea el código HTML necesario para mostrar, actualizar, insertar y borrar registros de la base de datos, todo esto sin saber nada de HTML.

Finalmente el Modelo Vista Controlador de .NET es avanzado en todas sus características, yo he trabajado mucho tiempo con codeigniter sin embargo MVC 5 lo supera en cuanto a la simplicidad y transparencia del código que se escribe, solo alcanzado recientemente con las ultimas versiones de Laravel.

Conclusión

En conclusión no pretendo ser un fanático de C# pero si destacar aquellas características que son demandadas hoy en día en los proyectos de desarrollo modernos, puede que todavía no hayas experimentado la necesidad de cambiar de lenguaje, pero tarde o temprano lo quieras o no llegará; iré compartiendo mis experiencias en este Blog acerca de cada uno de los lenguajes que voy conociendo y en los cuales voy desarrollando,  en este abanico de posibilidades C# simplemente es uno más, pero que con el tiempo he ido descubriendo que se ajusta mejor a las necesidades que los desarrolladores de fox necesitan.

Compartir esto en:
Twitter |Facebook |Whatsapp |Google+ |Linekdin |Pinterest


Deja una respuesta