jueves, febrero 02, 2006

Paradigma del instalador

Hace unos años, unos cuantos años, para instalar un programa en la computadora había que simplemente copiar el contenido de un diskette o algún otro dispositivo que comprábamos o nos prestaban, a un directorio (para los muy novatos, antes las carpetas no existían: se llamaban directorios) y listo.
Luego con la llegada de Windows 95, aparecieron las DLLs, que se colocaban generalmente en carpetas comunes destinadas a tal efecto, y cada programa las llamaba de acuerdo a sus necesidades, esto prometía ser fantástico, porque ibamos a poder usar funciones creadas por otros, ahorrar espacio en disco, reutilizar el código y bla bla bla. La cuestión es que lo único que trajo fueron problemas de compatibilidad entre las distintas versiones, diferencia de idiomas, etc.
Dichas incompatibilidades dieron lugar a lo que se llamó el "DLL Hell" (infierno de las dll), por eso hoy en día y con la llegada de .Net para instalar un programa se vuelve a la utilizacion de un comando tan interesante como viejo llamado XCopy, que copia el contenido de una carpeta con sus subcarpetas dentro de otra, y cada programa tiene sus propias dlls independientes de los demás.
A tener en cuenta entonces, en el futuro (seguramente no muy lejano), que va a aparecer algo nuevo y maravilloso que prometerá resolver la mayoria de los problemas actuales y solo conseguirá cambiar los que están por los que vendrán.

Waldo.-

2 comentarios:

Unknown dijo...

¡Claro! ¿Qué creíamos? ¿Hasta dónde queremos llegar hoy?
Hubo cosas buenas desde el fatídico 24 de Agosto de 1995 -Win95 born-, pero hoy es una caja de galletitas, hermosas por fuera, y nada más que eso. Mucosoft hace rato que no innova nada. DotNet es una idea vieja, mejorada de ...java.
Francamente, estoy harto de Ventanas, quiero aire fresco, pensar...viva GNU/Linux

German dijo...

Bueno... es verdaderemente un tema el de los instaladores, y en verdad que no solo de Windows, linux también tiene los suyos, es cierto que algunas Distros, basadas en debian lo han solucionado bastante bien con comandos como emerge, o ubunto con otro similar, el update de mandrake.. y otras tantas yerbas prometedoras, claro esta que una buena actualizacion muchas veces requiere un buen número de megabytes, que con banda ancha no es serio problema... lo que si es un serio problema es la banda ancha, al menos por estas latitudes.
Pero linux tampoco fue la panacea, tampoco resolvio demasiado el tema de instalar programas, al menos habiendo empezado, como yo con un SuSE 5.0, donde el Failed dependencies, era mensaje común. También eran frecuentes las incompatibilidades (recuerdo una que me causomuchos dolores de cabeza, que fue la libc.so.6 :P) entre versiones de bibliotecas (OJO sí bibliotecas, hablemos bien de una vez por todas lib viene de Library, que es BIBLIOTECA, y no librería, libreria sería Bookstore, ok?). Tambien hay que reconocer que Winchot con su Setup.exe, que aunque parezca una tontería, resultó bastante efectivo, para copiar archivos a una locación al menos, bueno..que despues lo instalado anduviera, es otra historia. Una de las vueltas a copiar archivos a un directorio, tal vez sea la forma de instalacion de syllable, un suucesor de BeOS, con una característica heredada, de este último. Supongo, que aunque no se nos ocurran demasiadas ideas inovadoras, vendrán nuevas tecnologías en cuanto a instalacion de programas, que daran por tierra toda cosa considerada novedad, hoy en día. En realidad todas las ideas de como aprovechar espacio y reutilizar código, proveyendo ademas compatibilidad de versiones; en su momento y con el purismo de las ideas (que no han sido implementadas) eran buenas ideas, la idea de una biblioteca de funcienes era muy buena, el problema de que no se liberara el modo de acceder a las funciones contenidas, es otro problema. La idea de tener un geston de instalaciones, dando vueltas por algún lugar (local o remoto) también es buena idea, pero trae la complicacion de como proveer la funte de actualización. El problema general suele ser que hay demasiada gente fabricando software, software no homologado con las normas internacionales,y cada cual cual llama a las cosas como mejor le parece, sin que haya un gran repositorio, o una biblioteca de que hace que archivo, para que todo el mundo pueda saber que es lo que tiene en su máquina y como poder utilizarlo; pensarán que la culpa es windows únicamente... que no libera código, no señores, linux/gnu, también tiene su cuota de incertidumbre, aunque sea menor eso si, tambien la tiene... huy me re volé... pero dejo de tarea a quien quiera proponer alguna idea tecnologica de como debiera actuar un instalador,... yo hasta ahora no he descubierto ninguna... y me sigo mareando inclusive en las ya inventadas, cuando estas no funcionan.