Prejuicios, actualización y software

El otro día, hablando con mi jefe, salió a colación el tema de las bases de datos útiles para “cosas serias”. El opinaba, desde su pasado de administrador de Oracle, que Oracle era lo más, y que MySql entre otros no te permitían construir un sistema “de hombres”. Yo no estaba de acuerdo, y gracias a la web de los chicos de HighScalaility, pude demostrar con hechos que MySql es un producto a la altura de Oracle para cosas gordas, quizá mucho mejor desde un punto de vista técnico si no se dispone de dinero infinito.

La arquitectura de Youtube fue el ejemplo más evidente, aunque hay otras.

Todo esto, me llevó a reflexionar sobre lo poco de fiar que puede llegar a ser la opinión de alguien, aunque haya tenido experiencia, cuando pasan uno, dos o N años desde esta, y también me hizo pensar en la necesidad de pensar en sistemas claros y abstracción en capas, antes que en sistemas optimizados (otro tema candente en la oficina) o herramientas milagrosas. Ya lo decía (entre otras cosas) el admirado y venerable Donald Knuth en 1974:

“We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.”

Como lectura complementaria a todo esto, me gustó mucho el artículo de Joel Spolsky: Leaky Abstractions, donde Joel reflexiona sobre el curioso efecto que tiene la cada vez mayor cantidad de capas de abstracción existentes en el desarrollo de software y la utilidad de conocer las entrañas de los sistemas. Cito una de las frases finales de tan recomendable artículo porque me llegó adentro:

“the abstractions we’ve created over the years do allow us to deal with new orders of complexity in software development that we didn’t have to deal with ten or fifteen years ago, like GUI programming and network programming. And while these great tools, like modern OO forms-based languages, let us get a lot of work done incredibly quickly, suddenly one day we need to figure out a problem where the abstraction leaked, and it takes 2 weeks.”

Anuncios

3 pensamientos en “Prejuicios, actualización y software

  1. Difiero en lo de “me llevó a reflexionar sobre lo poco de fiar que puede llegar a ser la opinión de alguien, aunque haya tenido experiencia”. La experiencia es un grado, otra cosa es que el que la tiene no la use correctamente, la experiencia me dice que por mucha que se tenga, mejor no abrir la bocaza a no ser que estés completamente seguro. Para cuando no estoy seguro suelo usar “creo, y puede que me equivoque”, y quedas de pitilin.

  2. Lo que propones me parece la actitud más razonable y procuro seguirla en mi día a día, pero este artículo está “dedicado” a todas aquellas personas que creen que su experiencia, que pudo ser muy util hace N años, sigue teniendo la misma validez N años después. Un planteamiento que suele ser erróneo cuando hablamos de informática.Y lo que es más importante, es un aviso y recordatorio para evitar los argumentos de autoridad.

  3. Pingback: Decisiones y desarrollo de software | jbolano

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s