11.10.1.4 : Langages de programmation



Il n'existe pas, et ne peut pas exister, de langage de programmation universel et idéal pour le calcul scientifique, en raison d'objectifs incompatibles. Le choix du ou des langages dépendra des contraintes du projet~:

  • Langages complexes mais hautement expressifs (ex~: C++, Rust, Scala) pour l'exploration de nouvelles techniques d'optimisation/vectorisation/parallélisation.
  • Langages privilégiant la facilité de prise en main (ex~: Julia, Python, Go) pour les personnels donc la programmation n'est pas le cœur de métier.
  • Langages permettant l'apprentissage graduel (ex~: Julia) ou combinaison de langages (ex~: Python + C++) quand on doit allier fortes performances et interface simple et souple.


Par ailleurs, il existe une tension forte entre adoption de la meilleure approche théorique et compatibilité optimale avec l'écosystème de calcul établi.