Reusabilidad: Codigo fuente o Ejecutable

Una intriga importante cuando nos metemos con reusabilidad es la forma en que se nos presenta o la forma en que entregaremos un modulo reutilizable para aplicar en distintos proyectos. Las dos soluciones existentes son  los ejecutables (binary) o las fuentes de código (source).

Binary

Es la opción que toda área comercial quisiera que sus departamentos de sistemas usaran cuando se trata de desarrollar algo interno para vender. un ejecutable protege los secretos de como se construyo la solución; por ejemplo una aplicación que convierte una web html a pdf, o un bus que puede tomar datos en un formato y sacarlos en otro formato.

Source

Por el contrario es la opción que todo amante del software libre quisiera  por poder ver el código, saber que no se están ejecutando tonterías. poder extender la funcionalidad o sobre escribirla ya sea modificando el código o implementando herencia.

 

La diferencia entre ambos

Entre estas dos y sin entrar en un debate filosófico entre software privativo y software libre hay algunos argumentos que inclinan la balanza  en dirección al uso herramientas que tienen su código fuente abierto. las soluciones ejecutables pueden resolver un problema  muy concreto, por ejemplo unir dos pdf  mediante el uso de un envoltorio en nuestro lenguaje de programación habitual.

Por el contrario para usar al máximo la reusabilidad, las librerías open source (sobre todo las librerías bien escritas) permiten hacer cosas mas complejas como tomar una estructura regular para generar un API json por ejemplo y mediante un par de lineas de código definir comportamientos específicos sin rompernos la cabeza para escribir código que convierta nuestros objetos a json, o responda una petición html con cabecera “application”

 

En conclusión si somos desarrolladores siempre optaremos por tomar la solución que tenga el código fuente para poder tener mayor manipulación en la implementacion, difícilmente adquiriríamos software de terceros para hacer solo una pequeña parte de nuestro sistema.

Por el lado contrario yo personalmente preferiría brindar este tipo de librerías de forma libre (no necesariamente gratis). Si voy a vender algo en forma donde no voy a compartir el código. seria un producto terminado, un sistema como tal con su propia API de desarrollo para que nuevos programadores puedan hacer cosas nuevas sobre el sistema  y que la empresa donde esta implementado el desarrollo sea mas feliz.

Martin Quinta

Crecí con una computadora desde el kinder. Empece a programar a los 14 y hoy, mas de una década después… realmente odio estar frente a una computadora. Pero programar es en lo que soy bueno, por lo tanto me desahogo en este blog mientras bebo cerveza artesanal y pienso en un mundo bonito donde Java no existe.

Facebook Twitter LinkedIn  

Entradas relacionadas:

Leave a Reply

Your email address will not be published. Required fields are marked *