ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

10 problemas abiertos en informática práctica

Chevos26 de Octubre de 2012

735 Palabras (3 Páginas)741 Visitas

Página 1 de 3

10 problemas abiertos en informática práctica

Problema Nº1: Programación colaborativa distribuida.

El nóbel de la informática práctica se lo llevará quien invente una metodología sólida para desarrollar código igual que funcionan las redes P2P, dividiendo el trabajo en tareas de no más de 1 hora que puedan ser ejecutadas redundantemente por varios programadores geográficamente dispersos. Por ahora disponemos de herramienta de recogida de requisitos, diseño UML, control de versiones, testeo, bug trackers, etc. Pero los mejores programas (y casi los únicos que funcionan bien) siguen siendo desarrollados por un grupo muy reducido y cohesionado de programadores. No existe un genuino “divide y vencerás” aplicado a la producción de código. A más programadores implicados, menor productividad por programador y menor predictibilidad del resultado final del proyecto.

Problema Nº2: Productividad en el desarrollo de interfaces web.

El uso de HTML y JavaScript supuso un retroceso de 10 años en el estado del arte de las herramientas de desarrollo. Cuando ya teníamos VisualBASIC 4.0 con el cual te picabas una aplicación operativa en 3 días, volvimos a usar diseño con lenguaje marcas que sólo funcionaba bien si lo editabas a pelo con UltraEdit, por no hablar de que el JavaScript ni siquiera tiene un debugger decente. Ahora los frameworks AJAX prometen el oro y el moro. O tienes la opción de casarte con Microsoft .NET. Mi amigo Javier Gallardo incluso dice que a ellos les va bien con Adobe Flex pero con cualquiera de estas cosas te la juegas a quedarte pillado a medio plazo.

Problema Nº3: La temporalidad en el modelo relacional.

¿Porque nadie ha implementado aún un modelo relacional extendido que incluya manejo de la temporalidad? Para poder expresar con naturalidad cosas como que un empleado perteneció a un departamento dado entre tal y cual fecha, por ejemplo. Los históricos y los solapamientos de fechas hay que manejarlos a mano en la base de datos. Lo cual resulta muy engorroso.

Problema Nº4: La multimoneda.

¿Porqué no existe un tipo moneda que funcione bien en las bases de datos? Me refiero a uno que te permita sumar 3€ con 5$ y te dé el resultado correcto en función de un tipo de cambio dado externamente.

Problema Nº5: Integridad referencial en los borrados.

¿Cómo borrar algo de una base de datos si infringir las reglas de integridad referencial? En realidad, la solución es simple ¡nunca borrar nada! sino en cambio dar bajas lógicas. Pero entonces ¿porqué no tenemos un procedimiento predefinido para las bajas lógicas?

Problema Nº6: Empotrar SQL y XML dentro del lenguaje.

¿Porqué seguimos usando APIs como JDBC? Acaso es tan difícil integrar el acceso a base de datos dentro de la sintaxis de un dialecto de un lenguaje multipropósito como Java. ¿Y porqué hay que seguir usando herramientas como Castor para generar un porrón de clases para leer un simple documento XML? Si XML es un estándar bien definido, incorporar su tratamiento en el lenguaje sería muy útil.

Problema Nº7: Punteros nulos e índices fuera de rango.

La mayoría de los programas escritos en lenguajes modernos siguen estando plagados de punteros nulos e índices de arrays fuera de rango. En Java al menos el recolector de basura te evita las pérdidas de memoria, y existen posibilidades para reemplazar con iteradores todos los accesos por índice. Pero ya sería hora de que existiese un procedimiento formal para garantizar que al menos estos dos errores tan típicos no tumbarán nuestro programa.

Problema Nº8: Scripts sucios para tareas cotidianas.

Cada maestrillo tiene su librillo, en forma de un puñado de subrutinas y programillas en lenguajes de scripting para cosas rápidas. Lo que se suele echar mucho de menos son herramientas

...

Descargar como (para miembros actualizados) txt (5 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com