Mira que hay cosas a criticar a GCC (que es así como se llama el conjunto de compiladores de GNU, y que de hecho significa GNU Compiler Collection) y dices chorradas y mentiras.
¿Instalar programas en Linux es difícil? pues eso sería en los años 90, porque en este milenio tenemos gestores de paquetes cada vez más desarrollados: desde los originales TGZ de los primitivos Slackware Linux (que ahora emplea TXZ), pasando por los RPM diseñado por Redhat (y empleado también por Suse, Mandriva y otros más) y acabando en los DEB de Debian (y sus derivados). Ahora (con ahora me refiero al último lustro como mínimo) para instalar un programa basta con ejecutar un único comando: yum install programa, urpmi programa, apt-get install programa, etc. Si no esta en tu gestor de paquetes, tienes otras opciones, como autopackage, etc.
Compilar es difícil, sobre todo en sistemas heterogéneos. La mayoría de aplicaciones que se compilan mediante GCC son para muchos sistemas operativos diferentes, ya que como mínimo tienen diferentes sabores de UNIX y además Linux. Muchos incluso incluyen Windows y MacOS X. Por eso no se puede presuponer que tiene instaladas todas las librerías necesarias, y por eso es obligación del que compila comprobar que esta todo lo necesario, y obligación del desarrollador documentar qué es lo que necesita para compilar.
Sobre el nombre de las librerías... en UNIX es habitual tener las versiones de la librería en el nombre, lo que te permite tener diferentes versiones de la misma, lo cual nos evita muchos problemas que se producen en Windows cuando se actualiza una DLL "inesperadamente" provocando problemas en el resto de programas. De hecho en Windows lo normal es que tengas DLL duplicadas o triplicadas porque cada programa ha instalado su versión en su carpeta de aplicación, no compartiéndola con el resto de aplicaciones:P
Por otra parte parece que desconozcas los enlaces simbólicos. Si instalas la librería MyLib versión X.Y.Z, normalmente se creará un fichero libMyLib.so.X.Y.Z que contendrá la librería en cuestión, y por regla general, se crearán un par de enlaces apuntando a ella con los nombres libMyLib.so.X.Y y libMyLib.so.X. Lo correcto es que las aplicaciones llamen o a libMyLib.so.X o como mucho a libMyLib.so.X.Y. En algunos casos raros (por ejemplo en los Quake con OpenGL) se emplea libMyLib.so sin ningún numero de versión, y en estos casos se resuelve creando el correspondiente enlace simbólico. Cuando se realiza un cambio de nombre de la librería, se suele añadir el enlace simbólico con el viejo nombre, por ejemplo, en Linux, cuando se hace referencia a libc6 en realidad estas usando glibc2.x. Lo mismo debe suceder con libtinfo.5, que debería haberse creado como enlace simbólico apuntando a/lib/libtermcap.so.2. Pero en cualquier caso, esto no es un problema específico de GCC.
En cuanto a que el programa que compilas es o no bueno, pues dependerá del programa en cuestión, en cualquier caso no es achacable a GCC.
En serio, hay muchas cosas a criticar a GCC, pero para escribir la mierda que escribes, mejor no lo hagas.
por
pobrecito hablador
el Viernes, 19 Febrero de 2010, 12:03h
(#1204178)
y dices chorradas y mentiras.
¿Te suena eso de la paja en el ojo ajeno?
porque en este milenio tenemos gestores de paquetes cada vez más desarrollados (...)
Que, salvo los tarball (y aún así), muchas veces sólo funcionan en una distro o familia de distros por la falta de estandarización. En otras no es tan sencillo que funcione como hacer doble click y ya.
problemas que se producen en Windows cuando se actualiza una DLL "inesperadamente" provocando problemas en el resto de programas
Llevo sin ver esos problemas desde que abandoné Windows 98. En serio, ¿puedes citar ejemplos reales para que lo compruebe por mi mismo?
Por cierto, te contradices más abajo cuando afirmas que cada programa instala las mismas DLLs en su propio directorio, pero haré como que no he visto nada.
De hecho en Windows lo normal es que tengas DLL duplicadas o triplicadas
Valiente consuelo, sobretodo teniendo en cuenta que en Windows existen directorios como System32 donde suelen ir las DLLs (si el programador quiere duplicar archivos, es cosa suya, no de MS)... En Linux lo normal es tener librerías triplicadas o cuadruplicadas, eso sí, en distintas versiones.
Y a todo esto, ¿por qué atacas específicamente a Windows si Luis ni lo ha mencionado? Ese problema de tener la misma librería repetida es mucho más común en Mac OS, por su forma de instalar aplicaciones... ah, ¿es que como es UNIX no interesa criticarlo, o qué?
Pero en cualquier caso, esto no es un problema específico de GCC.
Pero es un problema de GNU, que es lo que está criticando. Y ¿no habíamos quedado en que Linux es GNU? Pues eso.
En serio, hay muchas cosas a criticar a GCC, pero para escribir la mierda que escribes, mejor no lo hagas.
No sé si te has fijado que el título de lo que respondes es "El fracaso del Ñu (GNU)", no "El fracaso de jezezé (GCC)".
Compilar es difícil, sobre todo en sistemas heterogéneos. La mayoría de aplicaciones que se compilan mediante GCC son para muchos sistemas operativos diferentes, ya que como mínimo tienen diferentes sabores de UNIX y además Linux.
Y aún así, en el 90% de los casos basta un:./configure && make && make install
Menuda mierda de... lo que sea esto
(Puntos:4, Informativo)Mira que hay cosas a criticar a GCC (que es así como se llama el conjunto de compiladores de GNU, y que de hecho significa GNU Compiler Collection) y dices chorradas y mentiras.
¿Instalar programas en Linux es difícil? pues eso sería en los años 90, porque en este milenio tenemos gestores de paquetes cada vez más desarrollados: desde los originales TGZ de los primitivos Slackware Linux (que ahora emplea TXZ), pasando por los RPM diseñado por Redhat (y empleado también por Suse, Mandriva y otros más) y acabando en los DEB de Debian (y sus derivados). Ahora (con ahora me refiero al último lustro como mínimo) para instalar un programa basta con ejecutar un único comando: yum install programa, urpmi programa, apt-get install programa, etc. Si no esta en tu gestor de paquetes, tienes otras opciones, como autopackage, etc.
Compilar es difícil, sobre todo en sistemas heterogéneos. La mayoría de aplicaciones que se compilan mediante GCC son para muchos sistemas operativos diferentes, ya que como mínimo tienen diferentes sabores de UNIX y además Linux. Muchos incluso incluyen Windows y MacOS X. Por eso no se puede presuponer que tiene instaladas todas las librerías necesarias, y por eso es obligación del que compila comprobar que esta todo lo necesario, y obligación del desarrollador documentar qué es lo que necesita para compilar.
Sobre el nombre de las librerías... en UNIX es habitual tener las versiones de la librería en el nombre, lo que te permite tener diferentes versiones de la misma, lo cual nos evita muchos problemas que se producen en Windows cuando se actualiza una DLL "inesperadamente" provocando problemas en el resto de programas. De hecho en Windows lo normal es que tengas DLL duplicadas o triplicadas porque cada programa ha instalado su versión en su carpeta de aplicación, no compartiéndola con el resto de aplicaciones :P
Por otra parte parece que desconozcas los enlaces simbólicos. Si instalas la librería MyLib versión X.Y.Z, normalmente se creará un fichero libMyLib.so.X.Y.Z que contendrá la librería en cuestión, y por regla general, se crearán un par de enlaces apuntando a ella con los nombres libMyLib.so.X.Y y libMyLib.so.X. Lo correcto es que las aplicaciones llamen o a libMyLib.so.X o como mucho a libMyLib.so.X.Y. En algunos casos raros (por ejemplo en los Quake con OpenGL) se emplea libMyLib.so sin ningún numero de versión, y en estos casos se resuelve creando el correspondiente enlace simbólico. Cuando se realiza un cambio de nombre de la librería, se suele añadir el enlace simbólico con el viejo nombre, por ejemplo, en Linux, cuando se hace referencia a libc6 en realidad estas usando glibc2.x. Lo mismo debe suceder con libtinfo.5, que debería haberse creado como enlace simbólico apuntando a /lib/libtermcap.so.2. Pero en cualquier caso, esto no es un problema específico de GCC.
En cuanto a que el programa que compilas es o no bueno, pues dependerá del programa en cuestión, en cualquier caso no es achacable a GCC.
En serio, hay muchas cosas a criticar a GCC, pero para escribir la mierda que escribes, mejor no lo hagas.
Re:Menuda mierda de... lo que sea esto
(Puntos:0)¿Te suena eso de la paja en el ojo ajeno?
porque en este milenio tenemos gestores de paquetes cada vez más desarrollados (...)
Que, salvo los tarball (y aún así), muchas veces sólo funcionan en una distro o familia de distros por la falta de estandarización. En otras no es tan sencillo que funcione como hacer doble click y ya.
problemas que se producen en Windows cuando se actualiza una DLL "inesperadamente" provocando problemas en el resto de programas
Llevo sin ver esos problemas desde que abandoné Windows 98. En serio, ¿puedes citar ejemplos reales para que lo compruebe por mi mismo?
Por cierto, te contradices más abajo cuando afirmas que cada programa instala las mismas DLLs en su propio directorio, pero haré como que no he visto nada.
De hecho en Windows lo normal es que tengas DLL duplicadas o triplicadas
Valiente consuelo, sobretodo teniendo en cuenta que en Windows existen directorios como System32 donde suelen ir las DLLs (si el programador quiere duplicar archivos, es cosa suya, no de MS)... En Linux lo normal es tener librerías triplicadas o cuadruplicadas, eso sí, en distintas versiones.
Y a todo esto, ¿por qué atacas específicamente a Windows si Luis ni lo ha mencionado? Ese problema de tener la misma librería repetida es mucho más común en Mac OS, por su forma de instalar aplicaciones... ah, ¿es que como es UNIX no interesa criticarlo, o qué?
Pero en cualquier caso, esto no es un problema específico de GCC.
Pero es un problema de GNU, que es lo que está criticando. Y ¿no habíamos quedado en que Linux es GNU? Pues eso.
En serio, hay muchas cosas a criticar a GCC, pero para escribir la mierda que escribes, mejor no lo hagas.
No sé si te has fijado que el título de lo que respondes es "El fracaso del Ñu (GNU)", no "El fracaso de jezezé (GCC)".
Re:Menuda mierda de... lo que sea esto
(Puntos:2)( http://web.iesrodeira.com | Última bitácora: Sábado, 25 Abril de 2009, 19:50h )
Y aún así, en el 90% de los casos basta un:
Xavi.