• [^] # Re: Ça attaque sec

    Posté par (site web personnel) . En réponse au journal Microsoft ouvre sa bibliothèque standard C++. Évalué à 10.

    de plus en plus d'essais de compiler une distro Linux entière avec LLVM. ça ressemble pas mal à une attaque groupée pour reléguer la lib de GCC (sous licence copyleft) dans la case "ne va pas suivre technologiquement"...

    En tout cas pour les distributions Linux, la motivation n'est pas tellement de se débarrasser de GCC et des licences associées.

    L'objectif d'avoir une compatibilité LLVM est multiple. Tout d'abord cela offre accès à d'autres outils de profilage, de décompilation, ou d'analyses qui sont utiles et performants.

    Plus un programme peut être compilé par plusieurs compilateurs, plus son comportement est fiable car il repose en théorie sur moins de comportements spécifiques de l'un d'entre eux. Donc plus portable et plus propre.

    Investir dans LLVM c'est se protéger pour l'avenir. Si GCC stagne, l'écosystème pourra toujours se rabattre sur LLVM qui serait à la hauteur. Ne parier que sur GCC est un pari risqué pour l'avenir car tout est possible.

    Cela permet aussi de stimuler la concurrence entre les deux, aujourd'hui et tu l'as mentionné, GCC a beaucoup œuvré pour rattraper son retard et c'est très bien. GCC est aussi assez complet et a quelques atouts dans son sac autour de son écosystème et ses options. Même si LLVM se rapproche aussi de GCC sur ce point.

    C'est selon moi une saine concurrence. Après il est vrai que si Microsoft (et d'autres acteurs) poussent LLVM plus loin, GCC pourrait se retrouver distancé à terme mais pour l'instant ce n'est pas le cas et cela ne semble pas se profiler dans un futur proche encore.

    Après le noyau Linux lui même n'est toujours pas prêt à compiler exclusivement avec LLVM / CLang et je crois que les dernières étapes manquantes doivent être comblées par le compilateur et non le noyau qui ne veut pas se passer spécialement de certains comportements qui sont pour l'instant centrés sur celui de GCC.