La prima de un amigo de mi cuñada
Según una popular leyenda urbana, entre usted y cualquier otra persona, sin importar el país de esta última, existe una cadena de conocidos que es sorprendentemente corta: usted conoce a Fulano, quien a su vez conoce a Mengano, el primo de Zutano, aquel que es amigo de la peluquera de Drew Barrymore. La longitud de la cadena, por supuesto, depende de quién cuente la historia. En todo caso, es una leyenda en la que creo. ¿Qué tal siete eslabones?
¿Y si este fenómeno tuviese en parte la culpa de que las bases de datos orientadas a objetos no hayan prosperado como predecía la teoría? Podrían combinarse negativamente dos factores:
- Por una parte, estaría lo que acabo de explicar: que en la mayoría de los esquemas de datos, hay tanta imbricación que, un sistema de bases de datos orientado a objetos implementado ingenuamente, podría saturar en muy poco tiempo la memoria dinámica, trayendo a ésta casi todos los registros.
- En principio, habría técnicas para evitar esto, utilizando carga por demanda... pero, ¿se da cuenta de que estamos hablando de clases y objetos, y por lo tanto, de encapsulación? Si enredamos demasiado con las relaciones estructurales, entraremos en conflicto con la encapsulación.
No estoy diciendo que ésta, en concreto, sea la única causa, ni la principal. Se me ha ocurrido esta posibilidad mientras pensaba en los pros y contras de un sistema como LINQ: me parece que el principal y casi seguro logro de LINQ va a ser que dispondremos de unos datasets estupendos, aunque no los llamemos así en lo sucesivo. Habrá que esperar a la implementación de los árboles de expresiones para ver qué tal se comporta la recuperación de registros desde un servidor SQL: como, de todas maneras, el servidor SQL optimizará la consulta recibida, es casi seguro que, incluso en el peor de los escenarios, funcione bien. Y todo esto es bueno y deseable. Pero nada de esto no nos acerca a las bases de datos orientadas a objetos. Y puede que esto último también sea bueno y deseable.
Corolario: Entre usted y los extraterrestres hay al menos una cadena de ocho eslabones.
Demostración: Entre usted y Drew Barrymore hay una cadena de no más de siete eslabones. Y Drew Barrymore conoce a E.T.
Etiquetas: bases de datos, OOP
6 Comments:
Según una popular leyenda urbana, entre usted y cualquier otra persona, sin importar el país de esta última, existe una cadena de conocidos que es sorprendentemente corta: usted conoce a Fulano, quien a su vez conoce a Mengano, el primo de Zutano, aquel que es amigo de la peluquera de Drew Barrymore. La longitud de la cadena, por supuesto, depende de quién cuente la historia. En todo caso, es una leyenda en la que creo. ¿Qué tal siete eslabones?
Depende del tamaño de la población. En mi ciudad la cadena suele tener uno o como mucho dos eslabones.
¿Y si este fenómeno tuviese en parte la culpa de que las bases de datos orientadas a objetos no hayan prosperado como predecía la teoría?
La teoría que yo conozco predecía que iban a fracasar miserablemente como así ha pasado.
En realidad era muy fácil de predecir. Si añades características OO a las primitivas bases de datos navegacionales, estas seguirán siendo una castaña. Lo que ha triunfado es lo lógico: añadir características OO a las base de datos de estilo relacional.
Pero nada de esto no nos acerca a las bases de datos orientadas a objetos. Y puede que esto último también sea bueno y deseable.
Sin duda, las bases de datos orientadas a objetos están tan muertas como las tarjetas perforadas, y casi todos los SGBD relacionales y pseudorelacionales incluyen características OO que pudieron haber tenido desde el primer día.
Las ultimas noticias indican que orcas no estara disponible en este año http://www.codeproject.com/News.aspx?id=3048
No obstante tengo entendido que se puede trabajar con linq desde vs2005, que extension o modulo hay que instalar para ello?.
Vale la pena?.
Yo me he bajado la beta de Orcas "completa" (la CTP de marzo del 2007): es un Visual Studio 2005 preparado para .NET 3.5, con el nuevo compilador, nuevas clases, algunas herramientas nuevas, etc, etc. Se supone que hay descargas "intermedias" para actualizar el VS2005 a Windows Vista, por una parte, y también al .NET 3.0 que es el que viene de serie con Vista, con las correspondientes APIs de presentación, remoting, workflow, etc, etc.
Merece la pena si tienes una máquina libre que no estés usando en producción, sobre todo si puedes instalarle el Windows Vista.
A nivel de dejarse las pestañas estudiando lo nuevo... todavía no. Quiero decir: es interesante, pero aún no es práctico. Si es por el reto de mantenerte al día, por supuesto, pero no veo a la gente saltando en masa a estas tecnología, al menos de momento.
Porque de momento, la tecnología de referencia es .NET 2.0 con VS2005, y ADO.NET y ASP.NET 2.0. Esto es lo que yo puedo "vender" a una empresa como tecnología estable, bonita, potente y segura. A medida que pasen los meses, la historia irá cambiando, pero de momento, es lo que creo que hay...
... llevo un tiempo sin actualizar las páginas, pero es que estoy en medio de la batalla con el curso de ADO y la nueva versión de Intuitive C#. Los cambios en el libro son importantes (recordad que el libro se ha desgajado de una de las partes del curso, y hay que restañar las heridas que ha dejado la amputación). Aunque este libro lo estoy "publicando" sobre la marcha, a medida que sufre los cambios y extensiones necesarios, quiero que la próxima entrega, aunque no sea "completa", sí sea mínimamente coherente.
Estoy moviendo todas las explicaciones que tienen que ver con la teoría básica de OOP que casi todo el mundo conoce hasta el aburrimiento al segundo capítulo del libro. Es un capítulo que podrá ser omitido en una primera lectura, pero estoy intentando, de todos modos, decir algo interesante en él... y creo que me está saliendo bien.
La teoría de la cadena de 7 eslabones está indirectamente relacionada con las típicas búsquedas binarias.
En una búsqueda binaria de tamaño n está garantizado que el número o el elemento que se desea buscar se encontrará a lo sumo en 7 intentos. Claro que hace falta una heurística para acotar la búsqueda. En el caso de números enteros la heurística consiste en saber si el número examinado es mayor o menor que el que estamos buscando.
En el caso de una red social no sé cual pudiera ser la heurística, supongo que la proximidad geográfica. Si quiero encontrar una relación entre mi persona y un pastor de yaks de la estepa siberiana, lo lógico sería que en mi primer salto buscase a algún amigo siberiano, mongol o chino. También pudiera tratar de saltar hacia a algún amigo pastor. No es ciencia cierta como en el caso de la búsqueda binaria pero casi...
Aunque no soy usuario de Visual Studio ni .NET me encanta tu blog, lo sigo desde hace un tiempo.
Intentos de demostración sobre la hipótesis de los "Seis grados de separación"
mapmyname
Publicar un comentario
<< Home