GCC ha sido insustituible en todos estos años en todos los entornos de software libre porque ha sido el único compilador (de C) portable, usable y libre. Con la aparición de LLVM/Clang la cosa cambia un poco. Hasta ahora LLVM era bastante dependiente de GCC y que Clang sea autónomo y se compilie a si mismo y a toda la infraestructura asociada es un hito muy importante en independencia. Recordemos que en los entornos BSD se ve con muy buenos ojos reemplazar a GCC [barrapunto.com].
Por otro lado la aparición de LLVM y su modularidad "de serie" ha servido de acicate para que los desarrolladores de GCC decidieran montar y facilitar un sistema de plugins para usar la información intermedia del compilador para, por ejemplo, hacer análisis estático de código.
El resumen rápido, tal y como yo lo veo es que la competencia es buena, al más puro estilo bazar [wikipedia.org]
LLVM es difícil de explicar:). Es un backend de compilador (toma un código intermedio de tipo RISC y lo compila a nativo). La gracia es que tiene capacidad de compilar y optimizar dinámicamente (aparte de compilar en estático). Para ello dispone de un sistema muy simple de tipos (nada de objetos). No es una MV de alto nivel, pero podría construirse una máquina virtual sobre LLVM, usándolo como una especie de framework de desarrollo.
Re:y eso para que sirve?
(Puntos:5, Informativo)( https://twitter.com/yapw | Última bitácora: Viernes, 13 Mayo de 2011, 21:21h )
Por otro lado la aparición de LLVM y su modularidad "de serie" ha servido de acicate para que los desarrolladores de GCC decidieran montar y facilitar un sistema de plugins para usar la información intermedia del compilador para, por ejemplo, hacer análisis estático de código.
El resumen rápido, tal y como yo lo veo es que la competencia es buena, al más puro estilo bazar [wikipedia.org]
Aquí había una firma
Re:y eso para que sirve?
(Puntos:4, Interesante)( http://ignaciocalvo.com/ )
LLVM es difícil de explicar :). Es un backend de compilador (toma un código intermedio de tipo RISC y lo compila a nativo). La gracia es que tiene capacidad de compilar y optimizar dinámicamente (aparte de compilar en estático). Para ello dispone de un sistema muy simple de tipos (nada de objetos). No es una MV de alto nivel, pero podría construirse una máquina virtual sobre LLVM, usándolo como una especie de framework de desarrollo.
El artículo básico sobre LLVM [llvm.org] es bastante fácil de leer y muy recomendable.
Saludos! Mandel