• [^] # Re: Les mauvaises décisions

    Posté par . En réponse à la dépêche LLVM 2.2 : Un concurrent pour GCC ?. Évalué à 9.

    > Pourtant gcc est le compilateur qui supporte le plus de language...
    Oui, d'ailleurs c'est un vrai tour de force.
    Il supporte aussi un max de plateformes et architectures. La liste dans les sources est assez impressionnante.

    Il est juste dommage que le code de GCC ne soit pas plus facilement réutilisable pour écrire des outils d'analyse du code source, des outils pour la documentation, le refactoring, etc. Cela n'encourage pas à l'utiliser pour créer d'autres outils. Est ce un manque de documentation, de tutoriaux, ou bien un mal plus important tel que le manque de modularité?

    C'est la que clang + llvm offre une plus grande réutilisation en offrant des librairies que l'on n'a qu'à empiler comme des briques.
    Ensuite, il est vrai que la licence de llvm facilite la propriétisation du code, malheureusement, chose que la GPL n'autorise pas. Bref, c'est du Apple tout craché.

    C'est pourquoi GCC devrait avoir une architecture plus ouverte pour permettre de "plugger" différentes analyse ou même réutiliser le front end indépendamment du middle end ou du back end ce qui apparemment n'est pas facile actuellement.
    Ensuite rien ne leur empêche de dire que les interfaces ne sont pas figées et que ceux qui les utilise le font à leurs risques et périls. C'est ce qui se passe dans le libre, pour tous les patches au noyau, pour ses interfaces internes, ainsi que pour beaucoup d'autres projets libres. Là où le libre est très fort, c'est pour s'adapter à ces changements, alors que le logiciel propriétaire n'aime pas du tout ça:
    cf Vista qui casse tous les logiciels propriétaires uniquement distribués en binaire et qui sont bons à jeter à la poubelle lors d'un changement d'OS, sauf à prier pour des patches de Microsoft ou de l'éditeur du soft qui résoudraient le problème, mais là, on peut toujours espérer.


    En tout cas, longue vie à GCC et un grand merci à ses développeurs!!