Categorías
Velneo

¿Cuáles son los problemas de la programación?

Llevo varios días con este fabuloso post en mi escritorio. Quería escribir sobre él, porque me parece que nos viene como anillo al dedo. Se tratan los que considera Sergio Montero los 10 problemas de la informática práctica, sobre todo referente al desarrollo de software. Voy a copiar literalmente lo que expone nuestro amigo y comentaré debajo mis opiniones….

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.

CLARO, absolutamente de acuerdo, hace falta una plataforma con BBDD, que integre todo, que además te permita montar una “red de servidores”, de donde se puedan heredar y modificar un conjunto de “cajas” de datos y de “cajas” de objetos. Algo rápido, transparente y que integre todo en una sola plataforma. Un plataforma que te permita conectarte a un “servidor” y heredar de ahí toda la programación. Que también te permita que varios programadores puedan modificar diferentes partes a la vez en remoto desde sus casas, para poder tener un desarrollo realmente en “comunidad”.

Me harto de decir que hasta que una de estas herramientas aparezca en el mercado el Software Libre no triunfará de verdad. El modelo de software libre está bien como concepto pero falta sistemas para que realmente se puedan desarrollar con eficacia software en “comunidad”.
Pues la verdad no caigo en quién puede estar tratando de hacer una historia parecida porque desde mi punto de vista revolucionará..la industria. ¿Se os ocurre a vosotros?.

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.

Vuelve a dar en el clavo,http://es.wikipedia.org/wiki/HTML , el HTML, XML, no se diseñaron como lenguajes rápidos para interactuar con el usuario, sus fines no eran eso.

Estos lenguajes se han implantado de una manera bestial en la industria. Al igual que piensa Sergio en su post, creo que en esto la industria de desarrollo de software va para atrás. Pienso que es una locura hacer un software de contabilidad con HTML, XHTML, AJAX, PHP,…. debemos usar lenguajes más rápidos para el desarrollador y más funcionales para el usuario.
De nuevo los que consigan realizar una plataforma para realizar aplicaciones en tres días pero que la plataforma pueda correr por Internet con la misma versatilidad y velocidad que los actuales lenguajes Web. Pero que la plataforma no necesite de Terminal Server ni emuladores, que sea igual que desarrollar en local, y que supere en velocidad a la carga de una WEB. De nuevo el que cumpla este requisito Romperá el mercado.

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.

Parece que nuestro amigo Sergio Montoro Ten, me lee el pensamiento, llevo tiempo preparando un artículo basado en algo que leí en Slashdot, http://developers.slashdot.org/article.pl?sid=07/09/06/1527258&from=rss
que habla de la muerte del modelo relacional, llevamos más de 25 años basando todo el desarrollo de software en el Modelo Relacional, nadie inventa un nuevo modelo, con nuevos punteros que solucione los problemas que tiene el desarrollador.

Bueno lo único innovador que he visto es lo de un tal Velneo, pero aún se puede dar una vuelta más, que realmente revolucionaría si a ese modelo se le suma, herencia, instancias y distribución del código…….UUHHH suena bien.

No obstante escribiré otro post solo sobre estos aspectos.

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.

Ok. Pero y los campos formula en memoria a nivel de tabla, ¿serán una solución? . Pues Velneo también los tiene.

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?

….Sin palabras……los históricos????

El resto del artículo está muy chulo y sigue exponiendo problemas que están solucionados en la “actual” versión de Velneo….

Espero que podamos ir uniendo puntos……..de ¿Cual es el futuro de la programación?

Perdón por la ironía pero no me he podido contener…… Gracias Sergio Montero por tu exposición sobre los problemas de la programación actual, espero que en poco tiempo alguien pueda dar solución a todos ellos de una manera, ágil, rápida, y pensando en el desarrollador y el usuario.

Life is Soft.

cielo

14 respuestas a «¿Cuáles son los problemas de la programación?»

Me acabo de quedar de piedra.

He tenido rápidamente que ir a leer las otras 5 razones y todavía he alucinado más.

Da la sensación de que Sergio Montero hubiese estado diseñando la futura página de Velneo V7 «10 razones por la que empezar a programar con Velneo V7».

Alfonso, enhorabuena por este gran post.

Una de las razones que ha comentado Sergio Montero me parece importante tenerla en cuenta para la V7, y es el tema de la documentación.

La semana pasada un distribuidor me pidió que le enviara una documentación mas detallada sobre nuestro ERP (actualmente enviamos un folleto informativo de un par de folios). Me puse manos a la obra, decidido a informarle de todas las opciones de menú, opciones en formulario, procesos y listados presentados en rejilla.

Me quedó un bonito dossier de 38 páginas, pero tardé día y medio en redactarlo.

Comentando esto con un consultor nuestro (que trabajó muchos años con Navision) me dice que este tipo de documentación se podía hacer en dicha herramienta simplemente marcando los objetos deseados (menús, formularios, etc.) Parece ser (aunque esto no lo tengo tan claro) que se emitía algún diagrama tipo UML.

Actualmente hay algo similar en V6 pero pienso que a nivel programador. Lo interesante sería poder emitir una documentación automática de características de la aplicación cara al cliente.

Se que actualmente hay cosas mas importantes que hacer en V7, pero solo lo comento por aportar una idea mas.

Saludos.

Gracías chicos, pero hay que agradecérselo al autor del post original Sergio Montero, que lo ha puesto en bandeja, la verdad.

Al señor Sergio Montero le mandaré la primera versión de V7, estoy seguro… ese día verá las soluciones a sus problemas.

Sobre lo que comenta Jose Luís tenemos muy en cuenta el asunto de la documentación, de hecho hemos puesto expecial énfasis en los sistemas de documentación que usamos en V7 (algo que nos ha preocupado mucho desde el primer momento). Esperamos que la experiencia adquirida con estos sistemas de documentación interna los podamos usar para que V7 gestione una sistemas de documentación autómaticos, fiables y que solucionen la vida al programador.

Sobre V7, poco a poco, se irán desvelando ideas, y espero que al final todas las decisiones que hemos tomado, Floss, niveles, comunidad, precios,…encajen a la perfección y todo el mundo entienda que preténdiamos.
Velneo V7 es un proyecto maduro que lleva mucho trabajo detrás, ahora todo tiene que cuajar….Gracias y un saludo a todos.

Refexiones muy interesantes. La programación, y en definitiva, el «servicio de producir software» necesita muchas mejoras.
Es curioso. pero hoy las empresas software estamos dando al mercado aquel mítico Ford T hecho artesanalmente en los años 50 sin niguna metodología ni planificación de producción, y sin embargo el mercado nos demanda coches de producción en serie con total garantía y a la carta.
¿Cómo cambiar la actual situación? Buena pregunta…
Estos últimos años, las principales compañías software se dedicaron a ir de compras para poder ganar estatus y mercado. Una buena forma de crecer si tienes dinero y pocas ideas revolucionarias para mejorar la industria. ¿Algo ha cambiado realmente? pues poca cosa, no… Entonces, ¿Cómo podemos mejorar la producción de software?¿Cómo podemos corregir los problemas de la programación? Sergio, Alfonsogu, Jarboleya, Jvilán, Jchapela… habéis aportado muy buenas reflexiones. Yo prefiero quedarme con otra pregunta, ¿Quién corregirá los problemas de la programación? Microsoft, Oracle y demás, creo que están bastantes ocupadas para eso (por culpa de los actuales problemas de la programación), por lo que nuevos visionarios aparecerán en escena…

Gracias por el artículo.

Me imagino a Sergio como el vendedor de máquinas limpiatodo a domicilio. Mira que broeamos con esto cientos de veces en las noches de pajas mentales en Vigo. Al final de enumerar los problemas diría «¿Me dejas conectarme a Internet?» Se descargaría Velneo y empezaría la demo. La caña.

Lo que resulta sorprendente también es ver como problemas que plantea nosotros ya con el anterior Velazquez los teníamos resueltos. Fórmulas dinámicas para el trabajo con divisas, relaciones entre maestro e historico prestablecidas, etc.
Lo que está claro que marcará una revolución con V7 de cara al sw libre es la herencia.

Carlos, tienes toda la razón, sabes cual es uno de los grandes problemas de Windows, que no se pueden poner de 0 a hacer un gran sistema operativo y siguen arrastando problemas de las primeras versiones por la compatibilidad. Nadie hace cosas nuevas, simplemente hace mejoras a lo que tiene.

Mario: Ya seguiré tu Blog sobre la vuelta al mundo,esa idea promete, …me encanta. Seguro que lo disfrutas de una manera increible. Felicidades por el proyecto.

Pableras: toda la razón Pablo, V6 ya aporta unas cosas que no hay e el mercado, y V7 con la herencia y las cajas puede aportar mucho a SW libre, sin olvidarte de poder conectarte a servidores remotos claro.

Al hilo de este artículo y otros anteriores, me tropecé con esta página de Barrapunto. (http://barrapunto.com/articles/07/09/21/1250248.shtml).

Está claro que algo se mueve en el ambiente académico. Y también resulta claro que los prototipos se centran en dar soluciones a empresas como Google, Flickr, Amazon y otras con volúmenes de datos semejantes.

Aunque resulta muy interesante la lectura de los nuevos conceptos y de las propuestas técnicas enlazadas en el artículo de Barrapunto, no puedes evitar pensar en dos cosas mientras relees los documentos: Que todavía no han superado su dependencia conceptual del archi-encorsetado modelo relacional y, otra, «¿que hay de bueno en todo esto para las pymes?».

Es obvio que la «Gran Tarta» va a ser nuestra.

Mucho ánimo a todo el equipo.

El ambiente académico se mueve hacía un cambio en el módelo relacional, más que un cambio quieren avances, y además apuesta por FLOSS.

A la pyme le da igual todo esto, al que le tiene que valer es a la empresa de Software, para aportar mejores soluciones a la PYME, al final la PYME se benefica indirectamente de estos avances.

Francisco, no lo dudes, SERÁ NUESTRA.

Gracias por tu apoyo.

Mientras la programacion sea un arte y no una industria, a cada cosa nueva que inventen, traera consigo otros problemas. Por nuestra naturaleza humana unica.

Es cosa que mandes a pintar un cuadro a dos pintores, con los mismos requisitos y veras de lo que hablo, por el resultado.

Afectuosamente desde Chile

Los comentarios están cerrados.