* GCC implementa mejor los lenguajes y los estándares (El soporte de C++ de Clang es muy primitivo todavía).
* GCC tiene más extensiones que Clang/LLVM no tiene.
* GCC funciona en más architecturas que Clang/LLVM.
Ventajas de Clang/LLVM:
* Diseño modular, código fuente limpio y moderno, implementado en C++.
* Más rápido, en ocasiones increíblemente más rápido. [1][3]
* Aunque GCC genera muchas más micro-optimizaciones, LLVM tiene optimizaciones con mucho impacto, como Link-Time Optimization. [1][2]
* Los diagnósticos de Clang son muchísimo mejores que los de GCC.[3]
Mi conclusión es que GCC le lleva una ventaja relativa a Clang/LLVM en algunas cosas que están todavía siendo desarrolladas. Pero Clang/LLVM le lleva una ventaja *enorme* a GCC en cosas en las que los desarrolladores de GCC ni siquiera están trabajando.
Como contribuidor esporádico a GCC, la situación actual da un poco de pena, pero o cambia mucho el desarrollo de GCC (el nuevo soporte de plugins en GCC es un pequeño paso), o más y más recursos se van a redirigir a Clang/LLVM en detrimento de GCC.
Por cierto, Chris Lattner, el creador de Clang/LLVM, es un genio, tanto en el aspecto técnico como en el aspecto social, lo que a mi parecer es una parte importante del éxito que está teniendo LLVM.
Re:¿Que tiene LLVM que no tenga GCC?
(Puntos:5, Informativo)( http://barrapunto.com/ )
* GCC incluye más lenguajes: Fortran, Java.
* GCC implementa mejor los lenguajes y los estándares (El soporte de C++ de Clang es muy primitivo todavía).
* GCC tiene más extensiones que Clang/LLVM no tiene.
* GCC funciona en más architecturas que Clang/LLVM.
Ventajas de Clang/LLVM:
* Diseño modular, código fuente limpio y moderno, implementado en C++.
* Más rápido, en ocasiones increíblemente más rápido. [1][3]
* Aunque GCC genera muchas más micro-optimizaciones, LLVM tiene optimizaciones con mucho impacto, como Link-Time Optimization. [1][2]
* Los diagnósticos de Clang son muchísimo mejores que los de GCC.[3]
Mi conclusión es que GCC le lleva una ventaja relativa a Clang/LLVM en algunas cosas que están todavía siendo desarrolladas. Pero Clang/LLVM le lleva una ventaja *enorme* a GCC en cosas en las que los desarrolladores de GCC ni siquiera están trabajando.
Como contribuidor esporádico a GCC, la situación actual da un poco de pena, pero o cambia mucho el desarrollo de GCC (el nuevo soporte de plugins en GCC es un pequeño paso), o más y más recursos se van a redirigir a Clang/LLVM en detrimento de GCC.
Por cierto, Chris Lattner, el creador de Clang/LLVM, es un genio, tanto en el aspecto técnico como en el aspecto social, lo que a mi parecer es una parte importante del éxito que está teniendo LLVM.
Y pensar que llegó a proponer contribuir LLVM a GCC (y al proyecto GNU): http://gcc.gnu.org/ml/gcc/2005-11/msg00888.html [gnu.org]
[1] http://gcc.gnu.org/ml/gcc/2009-05/msg00302.html [gnu.org]
[2] http://llvm.org/ [llvm.org]
[3] http://clang.llvm.org/comparison.html#gcc [llvm.org]