Creo que ya he comentado en alguna ocasión que a pesar de haber estudiado una larguísima (al menos, para mí) Ingeniería Informática en la UPM, la programación no es mi fuerte. Recuerdo que me gustaba programar antes de empezarla, pero la avalancha de lenguajes «educativos» y poco prácticos (aunque con la distancia reconozco su importancia como base de programación) con los que nos ametrallaron durante los primeros cursos me quitó el gusto por programar. Para cuando llegaron las prácticas de C y Java, ya era demasiado tarde: había decidido firmemente que picar código no era lo mío.
Imagen cortesía de DeviantArt, creada por !just-xtc
Sin embargo, sí es lo que hacen muchos informáticos (y no informáticos), y la inmensa mayoría de ellos están infravalorados, mal pagados, y considerados un cero a la izquierda en las jerarquías profesionales de las empresas donde trabajan. Lo curioso del caso es que si no fuera por esos programadores nuestro mundo sería muy distinto, y muchas veces me pregunto lo extraño que es que no haya huelgas de programadores del mismo modo que las hay en el resto de sectores profesionales. Eso sí que sería un caos, y puede que sirviese para que a todos ellos (y ellas) se les considerase como se debe.
Obviamente hay programadores mejores y peores, como en todo, y aunque reconozco que en la facultad trataban de imponer buenas prácticas a la hora de programar, hay mucha gente que por falta de ese aprendizaje o por «vicios» de sus comienzos como programadores no siguen esas pautas. Esas malas tendencias se han acabado extendiendo de forma casi virulenta, y hoy en día se ha perdido (esa sensación tengo yo) buena parte de la idea de aprovechar el hardware al máximo. Resulta increíble pensar lo que podía hacerse en las viejas máquinas de 8 y 16 bits, y lo que hoy en día pide cualquier aplicación modesta. Los recursos que consumen sistemas operativos, juegos y aplicaciones son a menudo altísimos, y en muchos casos esto no es debido a que esos desarrollos sean especialmente complejos, sino a que probablemente no estén diseñados o programados de forma óptima.
Precisamente a cuento de esa idea viene este post. Como buen «amiguero» que fui, disfruté mucho de la demoscene de este ordenador mítico, donde las demos confirmaron que para muchos la programación era (y es) una forma moderna de arte. Lo que se lograba en las famosas demos 4k y 64k era increíble, y afortunadamente hoy en día existe aún un colectivo de programadores que nos sigue demostrando que se puede hacer mucho más… con mucho menos.
State of The Art, una de las demos míticas del Amiga, creada por SpaceBalls
Hace algo más de un año y medio ya comenté en mi otro blog, el profesional, la aparición de una demo llamada «fr-041: debris», desarrollada por el grupo alemán Farbrausch para la plataforma x86. La demo ocupa 177 Kbytes en su formato ejecutable: si queréis podéis descargarla y ejecutarla en vuestros PCs para comprobar la magia de las demos. También podéis ver el siguiente vídeo de Vimeo en alta definición, pero creedme: mola mucho más ejecutarla directamente.
Es uno de los mejores ejemplos de este tipo de desarrollos asombrosos, pero hoy me he enterado de otro igualmente impresionante: el llamado irónicamente «Left 4k Dead«, un pequeño juego Java programado para el concurso 2009 Java 4k Competition que de nuevo demuestra que se pueden hacer maravillas con ingenio y un poco de talento. Echadle también un vistazo, porque la idea, como en el caso anterior, es la de honrar a esos grandes programadores (sin despreciar al resto, cuidado) que han convertido esa tarea en todo un arte.
Lo que ha sucedido, pienso yo es que la inegualdad de la ecuación ha cambiado.
Antes:
Coste Hardware > Coste hora programador especializado
Ahora
Coste Hardware < Coste hora programador especializado
La sensación que tengo yo es que ahora ya nadie se preocupa en auditar código con tal que el programa trabaje de forma óptima, a la mínima de cambio, cuando el rendimiento baja, hoy día existe la creencia de «Cuando empieza a ir lento, es que hay que cambiar la Máquina».
Salus.
Yo he de reconocer que me he vuelto un programador vago. Siempre que puedo voy a internet para buscar el código que necesito. Internet nos ha vuelto a los programadores algo descuidado con nuestros programas (sinceramente espero ser uno de los pocos en hacer esta mala práctica, y que no esté muy extendida).
Antes programaba por afición, me divertía, esas tardes, esa satisfacción. Ahora por trabajo, todo es diferente: los tiempos, las exigencias, la competitidad. Ya no es algo que me apasione, y cuando tengo tiempo, lo pierdo en internet.
Mi Google Reader tiene más de 400 enlaces que visito diariamente, imagina la ‘pérdida de tiempo’.
Espero que el año nuevo lo aproveche mejor, y me embarque en alguno de los proyectos que tengo pensados.
¡Feliz Navidad y próspero 2009!
Buenísimo el enlace a Java4K
ya sabia lo del fr-041 pero en aquel tiempo lo intenté correr y nomas mi maquina no pudo… ahora que lo vuelvo a checar en mi nueva maquina… me dejó alucinado que con unos cuantos bits se pueda hacer tanto y con tantos detalles… no entiendo debe haber algun truco…