Buscar este blog

jueves, septiembre 27, 2012

Una breve historia del desarrollo de software

 

  dishi

Disclaimer: este artículo es un simpático ladrillo que me ha encantado escribir.

El desarrollo de aplicaciones informáticas tiene muchos nombres y variantes hoy en día:

Desarrollo de software, desarrollo informático, hacer webs, escribir apps, programación a secas, tirar líneas, o simplemente “Desarrollo” si estás en el mundillo. Cada uno usa la expresión que mejor le parece por historia, conocimiento o costumbre, pero en general, todos sus nombres pierden por el camino la esencia, historia y detalles de lo que es el desarrollo de aplicaciones.

Conocida oficialmente en su origen como programación, este noble arte (algunos dicen que ingeniería, otros hablan de craftmanship, e incluso hay quien lo concibe como juego o deporte) se inició en su forma actual* con máquinas muy distintas, en forma y tamaño, a las que conocemos hoy día: monstruosas toneladas de vidrio y metal que ocupaban enormes habitaciones y cuyo coste alcanzaba sumas tan solo al alcance de gobiernos y corporaciones.

Estrictamente hablando, el acto de programar estas máquinas en los años 40 tenía poco de soft y mucho de hard, dado que se realizaba primero mediante la manipulación del propio cableado y luego mediante instrucciones en tarjetas de cartón perforado (elementos físicos todos).

Tras ese pasado remoto de tarjetas perforadas y bombillas de colores, vinieron los monitores de fósforo verde y la miniaturización a lo largo de 30 años, posibilitando el alunizaje del difunto Armstrong en su misión Apollo de 1969. Alrededor de 10 años más tarde, en los 80, las masas identificarían a Bill Gates y Steve Jobs como los iconos de esta época, pero no los únicos. Quizá muchos recordemos los Spectrum, Comodore y Amiga que tantos padres metieron en casa para sus hijos, junto con las enciclopedias y vídeos Beta o VHS.

Toda esta generación de los 80 se basaba en cintas y discos magnéticos para almacenar los programas, soportes como como los anacrónicos disquetes que aun vemos en los botones de “Guardar” de la mayoría de aplicaciones. Esto permitió al común de los mortales no solo poder guardar sus datos y programas. Sino también crearlos sin tener que gastar una fortuna en tiempo y dinero usando cartones o hilos de cobre. Habíamos dado un salto de gigante en el desarrollo de software en cuanto a coste y velocidad de creación y distribución. De repente, todo el mundo era un creador de software y contenidos digitales en potencia.

Una vez extendidos a las oficinas de todo tamaño y metidos en las casas de los early adopters, la tecnología mutó la forma y los usos del aparato, desde la torre beige, al portátil negro o plateado y el netbook multicolor, mientras veíamos Cheers, Corrupción en Miami y Los Vigilantes de la Playa, los ordenadores se convirtieron cada vez más en un objeto personal, de esos que llevas contigo a todas partes.

Sin lugar a dudas en los 90 y 00’s llegamos a tener “un PC en cada hogar” aunque no exactamente como deseaba Gates si reparamos en la manzana que adorna ciertas máquinas Intel. Sin embargo, a mi juicio, lo más interesante de los ordenadores en los años 90 fue: 1) la capacidad de conectarse entre sí (localmente y por Internet), y 2) la conversión de esta herramienta de trabajo y juego, en herramienta de creación y comunicación multimedia de facto. Quien más y quien menos, hizo entonces (y hoy) uso de: correo electrónico, redes sociales (primitivas, eso sí), cámaras de foto y video digitales… y foros de desconocidos con intereses comunes. Curiosamente este uso de los foros es quizá lo más espectacular de todo, pero supongo que es cuestión de opiniones.

Si no te da vértigo comprender que el ordenador pasó en solo dos décadas de mera herramienta de trabajo y entretenimiento, a ser a la vez, tanto El Canal como La Herramienta Universal, es que no lo has entendido nada. La mayoría de la gente sin embargo sí lo entendió, y con ello su potencial se volvió ilimitado: comercio, medicina, política, astrofísica, publicidad, crimen organizado… nada le fue ajeno desde finales de los 90. Y por eso mismo terminó hinchando la Burbuja Puntocom, pero eso es otra historia y ahora estamos más preocupados con la burbuja inmobiliaria y de deuda soberana Europea.

En cualquier caso, la programación pega otro vuelco y se comienzan a escribir código libre y abierto por grupos internacionales de desconocidos, se produce el equivalente a la explosión del Cámbrico en los virus informáticos y el navegador y los servidores web se convierten de facto en una plataforma de desarrollo de primer orden.

Finalmente, en la primera década del siglo XXI, ayer mismo, el mundillo se revuelve de nuevo, llevando al formato de Turing a ocupar un lugar en nuestros bolsillos y convertirnos, primero en oficinas con patas gracias a Palm y RIM, y poco después en omnipresencias virtuales. Blackberry, Google, Twitter, Facebook y demás servicios online, eclipsan al todavía gigantesco Microsoft. Amazon se merienda el mercado editorial y Apple deja en ridículo a toda la industria audiovisual. Se abre una nueva era de desarrollo web (la Web 2.0 dicen, pero eso ya está obsoleto), servicios escalables, tratamiento masivo de datos personales, alta disponibilidad, integración... Y por si fuera poco, la informática y sus desarrollos se vuelven móviles con Nokia y Apple añadiendo nuevas tecnologías, nuevas técnicas y nuevos problemas para los desarrolladores.

Y nos plantamos al fin en Agosto de 2012. Los tablets han llegado para quedarse, ofreciendo una plataforma más interesante que los móviles si cabe, y con Microsoft apostando por ellos con un inesperado Windows 8 todoterreno: Móvil, Tablet, Escritorio. Un sistema tan bueno que estoy usándolo hoy mismo para trabajar contra los servicios cloud de Sharepoint y los servidores de mi oficina en ODM Computers, mientras escribo esto con la beta de Office 2013. Curiosamente aún está ahí el disquete para guardar el documento, aunque ahora lo haga directamente en Skydrive, el servicio de almacenamiento online de Microsoft (entre otras cosas).

La palabra mágica a desde hace unos pocos años, creo que es ecosistema. De poco sirve ya tener una aplicación específica corriendo en el servidor de un sótano como en los 40 o 70. Poco nos importa si el ordenador que tenemos es más o menos rápido como en los 80 o 90. La elección del sistema operativo no tiene demasiado impacto desde los 00’s aunque les pese a los fanboys de iOS y Android. Ahora lo que nos interesa es saber si podremos usar nuestro ordenador, Tablet o teléfono en casa, en la oficina y en la calle. Si nos dará problemas de compatibilidad con el Wifi, o si nos aportará algo al conectarlo a la tele, el coche o la red de ese Starbucks tan cómodo. Y saber si con él podremos sacarle todo el jugo a los servicios de la nube: Dropbox, Amazon, Youtube, Azure

Así que para ir acabando… el desarrollo de software ha pasado por muchas etapas en un periodo de tiempo muy comprimido y en cada una ha ido ganando complejidad, añadiendo capas de abstracción y mejorando todo lo existente anteriormente de manera fulminante (a ver quién se acuerda de Word Perfect, Altavista o Myspace). Y durante ese viaje, los desarrolladores hemos ido aprendiendo por las malas que cada problema es muy distinto y requiere distintas aproximaciones: calcular trayectorias balísticas, crear sistemas bancarios para grandes empresas, hojas de cálculo para pymes, editores de imagen para amateurs, sitios web para grupos privados… son cosas muy diferentes en casi todo. Pero no solo son problemas diferentes, sino que las herramientas para resolverlo han ido mutando y creciendo aceleradamente hasta formar una miríada de plataformas, estándares y personas que deben funcionar juntos.

Como desarrollador debo decir que ha sido un viaje alucinante. Pero lo mejor está aún por llegar. Por lo pronto tenemos un hito semejante al desembarco de Normandía en el mundillo tecnológico: Septiembre de 2012, Windows Reimagined. Por cortesía de Steven Sinofsky. Donde lo que presenta Microsoft no es solo un nuevo sistema operativo, sino un cambio de filosofía radical del que todos sus productos y servicios son partícipes. Y salga bien o mal, creo que es algo que voy a disfrutar.

FIN

*Según a quien preguntes y lo pesado que se ponga, puedes hablar de ábacos en el 2400 a.C. o telares programables en 1726, pero prefiero ceñirme a la idea común de ordenador o computadora que todos relacionamos con IBM, la NASA o Alan Turing.