Ipsissima verba Armando Paz:

> Y AQUI ENTRONCO CON OTRA DUDA: en linux yo le pasar�a mi script a
> cualquier compa�ero y todo el mundo podr�a ejecutarlo porque
> habitualmente tanto PERL como PYTHON ya est�n instalados... pero en
> Windows, para los colegas que usen eso, tendr�an que instalarse
> previamente el int�rprete, y supongo que tambi�n las librer�as
> gr�ficas etc. EN RESUMEN: si utilizara un lenguaje compilado podr�a
> obtener un "ejecutable autocontenido" que podr�a grabar en un
> disquete y pas�rselo a cuantas personas quisiera, creo que esto no
> es posible con un lenguaje interpretado, �verdad?

Bueno, puedes incluir el int�rprete junto con tu paquete...  es una
soluci�n poco elegante...  oh, bueno, es una soluci�n *espantosa*, pero
los muchachos de Visual Basic lo hacen a cada rato �no?

Ya en serio, por ah� te indican que hay un compilador de Perl.  GCC
tiene tambi�n un compilador de Java, creo.  No s� qu� tan maduras y
estables sean esas herramientas (a juzgar por lo poco que he oido de
ellas no deben ser muy s�lidas a�n).

> CONCLUSI�N: si me decido por un lenguaje interpretado, al existir
> int�rprete para LINUX y para WINDOWS mi "programa" ser�a plenamente
> multisistema operativo pero exigir�a una dificultad de "instalaci�n"
> porque el programa no es suficiente por si solo sino que necesita un
> int�rprete instalado y, SUPONGO que si quiero obtener salida gr�fica,
> tambi�n librer�as gr�ficas instaladas. Y TODO ESTO FUNCIONANDO
> CONJUNTAMENTE--->ESFUERZO DE CONFIGURACI�N ADICIONAL DE CADA UNA DE
> LAS PARTES.

Eso es correcto.  Y s�, es un problema real en ese sistema operativo que
mencionas.  E incluso en Linux; considera, por ejemplo, lo dif�cil que
es poner BitTorrent en Debian Woody: no hay una versi�n empacada, y no
es f�cil que simplemente bajes el "tarball" y lo instales en /usr/local
porque depende de versiones de Python, wxWindows y el binding entre
ambos, que tampoco est�n empacadas...

(O no estaban, al menos, la �ltima vez que intent� usar BT en woody.
Y este es un caso excepcional, y la inconveniencia es temporal... pero
creo que ilustra el problema.)

Adicionalmente, el hecho de que Perl o Python sean portables no implica
que, por ejemplo, la combinaci�n Perl+GTK+Glade tambi�n lo sea.

> Si alg�n d�a fuera capaz de "desarrollar" algo medianamente interesante
> para que fuera un paquete Debian lo de la instalaci�n de "mi
> programa=paquete" estar�a resuelto por las dependencias: mi paquete
> depender�a de PERL o PYTHON, de la librer�a gr�fica y otras cuantas
> cosas m�s... y un f�cil apt-get acabar�a instalando todo lo necesario.
> Pero, que har�a para pas�rselo a los amigos de Windows �hay forma de
> crear un paquete con todo lo necesario? �y en ese paquete que tendr�a
> que meter: todo el ACTIVEPERL - por ejemplo -, toda la librer�a
> gr�fica...?

�Hey!  �Era broma solamente, no lo dec�a en serio!

 :-)

Seguramente se puede.  Probablemente tu peque�o manejador de contactos
acabe siendo un download de veinte megas (y requiriendo cuarenta megas
de RAM, si usas Java).  Posiblemente tengas que crear un instalador
sofisticado, o comprar uno.

Yo tambi�n considero muy deseable hacer ejecutables "autocontenidos", o
al menos s�lo con dependencias razonables.  Mi criterio: en Linux, GTK+
o Qt son dependencias razonables; en Windows, msvcrt.dll et al son
dependencias razonables.  Casi cualquier otra cosa s�lo es razonable,
como bien dices, en un sistema como Debian, capaz de resolver
dependencias autom�ticamente.

Pero estoy divagando.  Mira, te har� una recomendaci�n concreta:

En tu caso yo rehar�a el programa en C++, sobre wxWindows.  Para Win32
generar�a binarios con wxWindows enlazada est�ticamente---eso agrega
como 2MB al tama�o de los ejecutables, pero evita tener que cargar con
DLLs.  Para Linux generar�a versiones din�micas instalables como
paquetes deb (y le encargar�a a alguien hacer RPMs).

Un "plus" que quiz� te haga m�s atractiva la recomendaci�n:  si
instalas un cross-compiler (mingw-msvc), puedes generar *en tu Debian*
una versi�n de wxWindows para Win32.   Y con ella puedes generar
binarios ".exe", y solo copiarlos a la m�quina en donde van a correr.

Y eso no es un "creo que se puede" de mi parte.  Estoy *seguro* de que
se puede.  Lo hago todo el tiempo.

 -CR

Responder a