Ipsissima verba Armando Paz:
> Antes de nada me gustar�a pedir perd�n si el tema que trato es
> off-topic (nunca me ha quedado muy claro eso del off-topic, al final
> muchas de las cuestiones buscan el utilizar de forma m�s completa
> nuestro Debian, �no?).

Hace tiempo que busco una lista de correo en espa�ol sobre
programaci�n en C para Linux (quiero decir lista de correo como �sta,
no foros web, que de esos vi varios).  Lo m�s cercano que he
encontrado es:

  http://www.sld.cu/pipermail/linux-prog

Estoy suscrito, pero a�n no escribo nada.  Estoy en proceso de
familiarizarme con la lista y los parroquianos regulares.  Es una
lista de muy poco tr�fico, por lo que he visto.

Como sea, creo que estos temas no est�n tan "off-topic" aqu�.  Si de
una discusi�n como �sta sale un nuevo programa (o programador) para
Debian, ya habr� valido la pena.

> Creo que lo que busco es una "herramienta de desarrollo gr�fico de
> aplicaciones multiplataforma", y creo que esto se llama IDE=entorno
> de desarrollo integrado + librer�as gr�ficas + compilador +
> depurador + miles de cosas m�s que no alcanzo a adivinar.

Ya.  Pues mira, posiblemente no soy la persona m�s indicada para
hacerte recomendaciones, porque no soporto los IDEs :-) (yo programo
en Emacs y construyo con make, y de cualquier forma rara vez programo
GUIs).  Sin embargo, tengo algo de experiencia desarrollando software
portable, de manera que intentar� redactar algo �til.

Primero, considera aprender Java.  No hay nada m�s portable que Java,
al menos en lo que toca a aplicaciones GUI.  Estoy seguro de que hay
docenas de IDEs, comerciales y libres, que podr�s usar.  Y en mi
opini�n es un lenguaje muy bueno para principiantes---un poco como
Pascal, que hace dif�cil al novato cometer errores garrafales o
acostumbrarse a pr�cticas sucias.  Adem�s Java est� de moda.  Tu valor
como programador en el mercado aumentar� si sabes Java.

El problema con Java es que requiere much�simos recursos, lo cual lo
hace lento a menos que tus m�quinas sean grandes.  Y quiero decir
*grandes*: en mi vieja laptop (K6 @ 450MHz con 192M RAM) javac es
exasperante y Swing es simplemente insufrible.  Peor, la interfaz
gr�fica es inconsistente con el resto del sistema operativo---cosa que
en Linux no significa mucho, pero vaya, yo pienso que los
programadores de GUI en Linux deber�an empujar hacia corregir �sto, no
perpetuar el status quo.

Quitando Java, puedes intentar un "lenguaje de alto nivel" con alg�n
tipo de "binding" hacia bibliotecas de GUI.  Digamos Perl, Python o
Ruby.  No te recomiendo Tcl/Tk, porque las aplicaciones se ven
espantosas (de nuevo estoy siendo subjetivo).  Python+wxWindows parece
ser una buena combinaci�n: el cliente de BitTorrent est� programado
as�, y a mi me gusta.  Perl � Ruby + GTK + Glade me parecen
combinaciones muy interesantes, particularmente para gente a la que le
gusta hacer sus GUIs en un editor "visual", aunque no s� cu�ntos
problemas tengas para hacerlas funcionar en el S.O. cuyo nombre no ha
de ser mencionado.

Una alternativa interesante: considera explorar el desarrollo de
aplicaciones usando XUL, sobre Mozilla.

En este punto debo confesar que yo probablemente no considerar�a
siquiera la posibilidad de usar algo de lo que he recomendado arriba
para desarrollos "serios".  Quiz� es que ya soy un perro muy viejo
para estar aprendendiendo nuevos trucos :-) , pero mis programas
"serios" los hago en C.  � C++, si es *absolutamente* necesario.

Para desarrollar GUIs portables en un lenguaje de bajo nivel necesitas
compilador, debugger (�"depurador" se entiende?) y una biblioteca de
portabilidad.  En Linux, el compilador es GCC y el debugger es GDB,
as� que no busques mucho.  Lo que quiz� querr�s elegir es un
"front-end" gr�fico, pero eso seguro lo tendr� tu IDE.

De la biblioteca, bueno, si vas a programar en C tu �nica opci�n,
hasta donde s�, es GTK.  Si vas por C++, yo explorar�a gtkmm, Qt y
wxWindows.  Esta �ltima en particular es formidable: la he usado para
desarrollar software "serio" (aplicaciones bancarias, principalmente)
y definitivamente la recomiendo.  De hecho, a mis programadores los
obligo a usarla cuando hay que hacer GUIs.  Es elegante, madura y
razonablemente f�cil de entender; y las aplicaciones funcionan
correctamente y se ven "bonitas" en todas las plataformas a las que
quieras portar.  Las nuestras las probamos cotidianamente en Linux,
Solaris y el S.O. cuyo nombre no ha de ser mencionado, y siempre se
ven "profesionales".  Quiz� es ese "look nativo" lo que da ese efecto,
no s�.

En fin.  Sobre IDEs...  Pues te recomiendo buscar IDEs con
aptitude/dselect, o a trav�s de http://packages.debian.org/ .  Te paso
el primero que vi:

 http://packages.debian.org/testing/devel/widestudio.html

Parece acercarse mucho a lo que quieres.  Creo que el proyecto
wxWindows tambi�n tiene un IDE, echa un ojo en su sitio web.

Nota que, si vas a programar software libre para GNU/Linux y *BSD,
quiz� no deber�as encari�arte mucho con el IDE.  Piensa que tarde o
temprano querr�s (o tus usuarios te pedir�n) un sistema de "build" con
base en las "autotools" (autoconf, automake, et al).  De forma que
considera apartar un poco de tiempo para aprender algo de sh, m4 y
make.

Finalmente, considera que una alternativa a programar GUIs es
programar aplicaciones "web".  En muchos casos es m�s f�cil y m�s
conveniente, y la gama de herramientas que puedes usar es m�s amplia.

Saluditos.

 -CR

Responder a