martes, 5 de octubre de 2010

Importante mejora de uno de los algoritmos básicos de la informática

Un equipo de investigación estadounidense ha incorporado una mejora sustanciosa en la resolución del algoritmo de flujo máximo, una de las operaciones más comunes de la informática que se usa, por ejemplo, para diseñar redes de comunicaciones, analizar circuitos o procesar imágenes digitales. La aplicación de esta mejora a una red como Internet podría resolver un problema cientos de veces más deprisa que todos los algoritmos utilizados hasta el momento. Por Elena Higueras.


miércoles, 29 de septiembre de 2010

La raíz de la precariedad en la informática (Fragmento)

Creo que conocéis cual es la concepción taylorista y creacionista del proceso de desarrollo de software. Aquella basada en la división de las actividades de análisis, diseño , construcción y pruebas, entre distintos grupos de personas, con distintos niveles jerárquicos de responsabilidad, mediante un proceso secuencial, dentro de sistemas formales documentalmente pesados. Éste es el enfoque ortodoxo y académico que promueven las prestigiosas consultoras. Nada que ver, por supuesto, con el verdadero desarrollo profesional de software.

He visto 
alguna vez por Barrapunto chistes sobre el tema. Efectivamente, si a un consultor le encargasen auditar el desarrollo del kernel de Linux, se llevaría las manos a la cabeza: ¿dónde están los diagramas UML?, ¿dónde está el diagrama de Gantt?, ¿y los documentos de diseño?, ¿qué hacen todos estos ingenieros picando código?. Si un consultor soltara estas preguntas en las listas de correo del kernel, todos los hackers se reirían de él, aunque no creo que perdieran mucho tiempo con la guasa, tienen cosas más importantes que hacer. Pero cuando este mismo discurso se mantiene dentro de una empresa, ante un foro de gerentes, directivos, y otros consultores, todos acaban congratulándose de que alguien por fin les entienda, y de que se proponga empezar a hacer las cosas bien, de forma "industrializada", como una "ingeniería".

El taylorismo es obsoleto en todas las demás ingenierías desde los años 70, cuando se desarrolló el toyotismo. No se si os sonarán términos como "Lean", "Kanban", "Jidoka", o "Kaizen", propias del ámbito industrial, pero seguro que sí os suenan las metodologías 
ágiles de desarrollo como Scrum o Programación Extrema, donde no hay ni jefes, ni analistas, ni testers, sino simplemente equipos de desarrolladores auto-organizados, donde todos prueban, codifican, analizan y documentan. La ingeniería de software es, curiosamente, una de las disciplinas más reaccionarias ante estos enfoques. Habría que tirar a la basura, o mejor, quemar en la hoguera, toda la bibliografía taylorista sobre ingeniería de software, que parte de la visión de la programación como una actividad de construcción, y del programador como un peón albañil.

Las grandes consultoras han apoyado el taylorismo, o el desarrollo de software mediante mano de obra barata y poco cualificada, porque durante muchos años ha sido un modelo muy rentable. Cuanto más improductivo es el modelo, más personal requieren sus clientes, y durante más tiempo, lo que implica mayores ingresos y beneficios. Si además se establecen procesos formales lentos y pesados, basados en la elaboración de montañas de documentación, los proyectos requerirán cada vez más recursos y más tiempo.

Esta dinámica no es realmente intencionada, ni es exclusiva de la ingeniería de software. La tendencia de toda organización a multiplicar la burocracia para maximizar el esfuerzo fue descrita por primera vez por Cyril Northcote Parkinson en 1955, y es conocida como la 
Ley de Parkinson.

Es difícil hablar de calidad, talento, experiencia o cualificación dentro de un mundo como el del sector de las IT y los servicios de software, que es exactamente como el que describió Parkinson, aunque él se refiriese a la administración colonial británica. La productividad no importa, y las personas no son más que material fungible.

El resultado inicial de este modelo ha sido el prestamismo laboral o el bodyshopping, que tan rentable fue para las cárnicas y las presuntas consultoras, transformadas en ETTs encubiertas. En poco tiempo lograron colocar a tanta gente que la demanda de informáticos se disparó, y muchos treparon de forma vertiginosa. El primer varapalo llegó en el 2000 con la crisis de la puntocom, y la puntilla llegó con el inicio de los procesos de externalización y deslocalización a otros países durante la década siguiente, en busca de mano de obra barata.

El efecto del offshoring o la deslocalización para las consultoras españolas ha sido devastador. Se han ido quedando progresivamente sin proyectos, a medida que sus clientes trasladaban sus desarrollos a países como la India.

Podéis leer el artículo completo aquí

lunes, 27 de septiembre de 2010

ideone.com – Ejecuta trozos de código en decenas de lenguajes de programación

Ideone.com ofrece algo que puede ayudar mucho a los estudiantes y profesores de programación. Se trata de una aplicación que ejecuta los códigos incluidos por los usuarios, entendiendo decenas de lenguajes de programación diferentes entre los que se encuentran Ada, C++, Java, php, Python, etc.
Aunque no pueda compararse con un compilador dedicado y no sea adecuado para ejecutar miles de lineas de código, sí nos sirven para dar los primeros pasos en los diferentes lenguajes, obteniendo el resultado de la compilación correspondiente directamente en la web.

Fuente: http://wwwhatsnew.com/2009/12/21/ideone-com-ejecuta-trozos-de-codigo-en-decenas-de-lenguajes-de-programacion/

Vapor.js, la librería de JavaScript más rápida y pequeña del mundo

Hay que ver las comparativas de rendimiento para creérselas. Vapor.js es la librería de JavaScript más rápida y pequeña del mundo (ver su código en GitHub). Además es compatible con las demás librerías de JavaScript (se puede usar junto con jQuery, Scriptaculous, Prototype, Dojo, lo que sea), y parece hecha a medida para compatibilizarla con Super Simple Storage Service (S4).

Fuente: http://softlibre.barrapunto.com/article.pl?sid=10/09/26/1326204