• [^] # Re: Dommage alors

    Posté par . En réponse au journal LLVM se fait de vieux os ? La recherche pour rester jeune.. Évalué à 5.

    Je pense que c'est bien de tempérer l'image assez injuste "GCC c'est un truc de vieux maintenant le futur c'est LLVM", mais il ne faut pas non plus verser dans l'excès inverse: LLVM et GCC sont deux bons projets qui se font une concurrence très sérieuse et sans doute bénéfique des deux côtés. Par ailleurs les critiques sur la difficulté à se plonger dans le code source de GCC, qui avaient motivées en grande partie les contributeurs passant à LLVM au départ, sont sans doute toujours valide en grande partie—et le fait que le code de LLVM prenne de l'âge est un peu indépendant.

    Peut-être que l'erreur vient de toi, c'est d'espérer trouver un compilateur miracle qui réponde au rêve du projet parfait à soutenir et défendre contre tous les autres. Ce compilateur miracle n'existe sans doute pas. (Ou ça dépend ce qu'on cherche; CompCert a un côté miraculeux.)

    Pour ce qui est de la recherche, j'espérais le dire dans mon journal mais j'ai un peu oublié : il y a des gens qui font de la recherche en compilation et qui contribuent et à GCC et à LLVM. Ils ne travaillent pas forcément sur les parties du compilateur citées dans le message de Daniel Berlin, qui sont en train d'accumuler des couches, mais par exemple le travail sur Polly est développé et maintenu par des chercheurs et chercheuses, à la fois dans GCC et dans LLVM.

    Pour revenir sur la question de quels sont les "compilateurs intéressants", je pense que ça dépend de ce qu'on veut y trouver. Pour un compilateur qui intègre régulièrement des résultats de recherche en compilation, GCC et LLVM sont plutôt raisonnables; il y a des projets de recherche plus ciblés et peut-être plus innovants (au sens noble du terme), mais ils ne cherchent pas forcément à couvrir les besoins des utilisateurs arbitraires de C ou C++—si ton rêve c'est les optimizations backend tu ne vas pas forcément te farcir un frontend C++.

    Après mon rêve à moi c'est plutôt les langages que les compilateurs, et j'aurais tendance à m'intéresser plutôt aux langages qui font des choses chouettes, même quand leur backend est un peu simple (OCaml, Haskell) ou simplement délégué à LLVM (Rust, Pony, Pure, Julia).