Go-HEP est un ensemble de bibliotheques et applications permettant d'écrire des codes d'analyse efficaces, concurrents et facilement déployables, en Go.
Dans une première partie, j'introduirai très rapidement les forces et faiblesses de Go, et donc les motivations pour l'écriture de Go-HEP et sa mise à disposition de la physique des particules.
Je présenterai ensuite quelques uns des paquets qui constituent Go-HEP:
rootio: un paquet pour la lecture/écriture de fichiers ROOT
xrootd: un paquet implémentant le protocole XRootD
et quelques paquets pour les analyses de physique ("plotting", "minimization").
Enfin, j'aborderai l'épineux problème de la reproductibilité des résultats scientifiques.
La chaîne de compilation de Go possède de nombreux atouts pour pallier ce problème:
compilation statique,
déploiement aisé,
compilation reproductible.
De plus, avec les nouveaux développements issus de vgo ("versioned Go"), un binaire est maintenant complètement reproductible, dans le temps et l'espace (machine de developpement, production, grille, ...)
vgo est la dernière brique fondamentale permettant de relever de front la problèmatique de l'ingénierie logicielle:
Software engineering is what happens to programming
when you add time and other programmers.
(Russ Cox)
Sebastien Binet (LPC/IN2P3)