el blog de los proyectos de Olga Berrios

Activismo, Tecnología

¿Cuándo hay que programar desde cero?

Ya comenté por encima que últimamente en Chandra estamos realizando consultorías a entidades públicas, empresas y ONG para montar proyectos con causa en internet.

Mucha gente viene con una idea muy clara en la cabeza y solicitar y empeñarse en que hay que programar desde cero cada proyecto. Parece que una programación propia da como prestigio, ¿no?

En internet existen muchas herramientas –como los CMS– que posibilitan la creación de portales web, tiendas virtuales o intranets a muy bajo coste. Se trata de herramientas ya “prefabricadas”: hay que instalarlas, configurarlas y darles una pintada.

El coste no es igual a cero, pero se reduce mucho. ¿Lo malo? Hay que adaptarse a ellas y cuanto más personalices más tiempo y mayor inversión hay que realizar.

Aún así estoy convencida de que -si supiéramos pasar de nuestras propias cabezonerías, que en muchos casos a eso se reducen las peticiones funcionales y estéticas que se realizan en un desarrollo- no haría falta apenas programar desde cero.

Por otro lado, está la alternativa de programar desde lo construido. ¡Sí! Si elegimos software libre y estudiamos una herramienta, podemos utilizarla como base y luego programar desde lo hecho para adaptarla a nuestras necesidades. Incluso -si nos mola la idea- luego podemos redistribuir esa nueva versión para que otras personas puedan beneficiarse del trabajo.

Precisamente en estos ámbitos se utiliza mucho la palabra “plugin“, que viene a ser una aplicación complemento para una herramienta base. Pongamos que tú tienes una herramienta base que te ayuda a publicar un blog, pero además quieres que toda la gente que deje comentarios en él pueda recibir un mensaje si alguien contesta a sus comentarios.

Alguien ha tenido esa idea, ha desarrollado ese complemento y puedes instalarlo en una parte de tu blog para complementarlo. Como éste ejemplo existen muchos más.

Puedes además contribuir no sólo programando, sino traduciendo las versiones y los complementos para acercarlos a más personas.

Cuando pienso en esto me acuerdo de un señor apellidado Barahona -muy ducho él en eso del software libre- que compara la informática con la plastilina: puedes hacer lo que quieras con ella.

En fin… lo de la programación desde cero viene a ser similar a reinventar la rueda… significa duplicar esfuerzos que otras personas ya hicieron. Pregúntate… ¿hay que programar esto desde cero?, ¿me puede servir una herramienta que ya existe?

3 Comments

  1. alcibiades

    Muy bueno. El software libre soporta esa filosofía, coge lo que ya han hecho otros y aprovéchalo. Y si lo mejoras, ponlo a disposición de la comunidad.

    Se pierden muchos esfuerzos en cosas que no aportan apenas valor. Usar aplicaciones ya realizadas acelera la ejecución de los planes y permite a la organización en centrarse en lo fundamental, el fin para el que quieren implantar la herramienta.

    Otra cosa que suele pasar, cuando se desarrolla, es que al principio no se tiene una idea clara de lo que se necesita ni de como va a funcionar en la práctica. Así, no es raro invertir muchas horas, semanas e incluso meses en desarrollar funcionalidad para luego comprobar que apenas se usa.

    También suele ocurrir, que mientras los paquetes estándares se van mejorando con el tiempo, las organizaciones pequeñas carecen de los recursos necesarios para hacer evolucionar su aplicación particular de una manera sostenida en el tiempo, con lo que acaban quedando obsoletas e incapaces de atender nuevas necesidades.

    Finalmente añadir que el desarrollo particular nos hace depender del conocimiento de programadores con nombres y apellidos, y que si en el futuro no tenemos acceso a ellos, difícilmente se va a poder mantener la aplicación.

    Así que creo que programar desde cero no tiene mucho sentido, salvo si es añadir un pequeño “plugin” a un estándar y tras llevar un tiempo usando la herramienta y ver que realmente se necesita.

    Saludos

  2. manuel lois

    Posiblemente para empezar , lo mejor sea utilizar una herramienta existente,pero asumiendo desde el principio sus limitaciones y sus carencias,la gran ventaja de estas soluciones hechas, como los cms, es que tienen gran numero de plugin como dice olga para extender sus posibilidades, pero realmente si hemos escogido un cms porque no sabemos programar nosotros mismos una aplicacion me parece bastante irreal pensar que nosotros mismo podremos realizar un añadido al mismo,(ojo, se puede hacer,pero te lleva mas tiempo seguramente aprender a programar un cms que pedirte a alguien que te haga la extension que necesitas).
    Lo mejor, “siempre”, es tener muy claro lo que se necesita, cuanto te quieres gastar, y como va a crecer, si eso esta bien puedes optar sin problemas tanto por desarrollar desde cero como utilizar algo ya desarrollado, programar desde cero te da la posibilidad de adaptar la aplicacion totalmente a tus necesidades y optimizarla para que su rendimiento sea optimo, evitar problemas de seguridad, y si algo falla tener al creador a un golpe de telefono, ¿que eso nos hace dependientes del programador? si , pero sabemos que si algo falla, el deberia arreglarlo, con un cms de software libre seremos dependientes de unos programadores que solucionaran el problema que surja tan pronto como puedan, (lo que puede ser 1 dia, un mes o un año segun el caso).
    El software libre es fantastico,(por la libertad que ofrece), pero no debemos olvidar que es libre,pero no gratis, el soporte para muchos cms desde luego que no es gratuito, y que los creadores de estos cms realemte viven de dar soporte a todos los usuarios de sus programas.

  3. Tienes más razón que un santo Olga e incluso entre la gente más receptiva se producen este tipo de cabezonerías …

Leave a Reply