El primer desarrollo que hace un programador al aprender un nuevo lenguaje es uno que diga: Hola mundo! ¿creen que es casualidad?

Una mujer preñada es como un equipo de desarrollo trabajando a contrareloj para que al llegar la fecha prevista, y tal y como prometieron, el producto esté en la calle. Los atrasos no están bien vistos y los adelantos no hacen sino dejar un regusto a producto sin terminar, experimental, como si no tuvieras plena confianza en su aceptación social y tuvieras prisas en averiguarlo.
Y por fin, llega el dia D. Tras meses de desarrollo en la sombra y secretismo la presidenta hace los honores y descubre públicamente la criatura. El misterio se desvela. Las primeras sorpresas, los murmullos y los cuchicheos:

– “Bah tramposos! no arriesgan nada!! han copiado los ojos de la versión anterior!”
– “Pos a mi me parece bien… no eran muy bonicos, pero funcionaban perfectamente y sin necesidad de Service Packs Miopec ni puñetas!!”

El cualquier caso predominan los piropos y el producto, todavía en fase beta (o incluso en alfa), aún a trompicones, se pone en circulación. Empiezan los primeros testeos, caidas imprevistas, los assertion failed, malfucionamiento general, fallos de diseño y, por supuesto, los dichosos virus.
Los Developer team, compuestos normalmente por una Sra Presidenta, un Sr Presidente va&viene y algunos Vicepresidentes vitalicios (de 1 a 4, en ocasiones puramente testimoniales) se devanaran los sesos en mantener su producto en activo y agil en un entorno en permanente cambio. Trasnocharán dias enteros tratando que obtener el máximo rendimiento al hardware disponible (casi siempre a costa de comer más y más verduras) pero sin olvidar ese aspecto particular y único por el que apostaron desde un principio y que lo distanga del resto: la personalización ó como la llaman algunos, su indiosingracia (sic).

El resto seguro que ya lo conocen: después de 17 años de versiones beta, beta-testers y más betas, etc… llega la ansiada versión RC (Release Candidate), previa a la inmediata versión final del producto, para entonces ya perfectamente consolidado en el mercado, casi diriamos que viciado por el mercado.

Lo que nuestro producto dure en el mercado ya es dificil de predecir y escapa a nuestro control y por supuesto de sus desarrolladores. Hay accidentes, virus, cuelgues… en ocasiones hasta incluso han hecho falta reinicios completos del sistema ó alguien a descubierto una backdoor oculto hasta ese momento, pero esto son casos aislados, en general simplemente los desarrollos van quedando poco a poco obsoletos a cada dia que pasa. Cada vez es más dificil encontrar piezas para el reemplazo del hardware que falla ó directamente es imposible ejecutar el software en esa arquitectura. Llegado el momento solo queda apagar la máquina.

Nota I: En algunos casos, el periodo de versiones en beta se puede extender hasta los 30-35 años. Hay quien relaciona este auge con la llegada de Google al mercado.

Nota II: Sí, como han podido adivinar, en los próximos dias libero mi más reciente versión, llevo 43 años preparandola (que se dicen pronto) y reemplaza a la v.42 que ya me estaba causando problemas con algunos protocolos de comunicación.
Esta nueva versión viene cargada de extras, pero esto en realidad es solo fachada que acaba afectando al rendimiento, lo verdaderamente importante, como casi siempre, está dentro en las funciones internas.