• [^] # Re: Pas si choquant que ça

    Posté par . En réponse au journal Un Python qui rivalise avec du C++. Évalué à 10.

    C'est le cas pour la plupart des langages haut niveau bien pensés, et c'est d'ailleurs exactement ce qu'ils sont censés faire. Tu codes dans un langage de haut niveau pour gérer les entrées-sorties, la gestion des erreurs, la portabilité, l'évolutivité du logiciel, etc. Et les quelques parties gourmandes en temps de calcul, tu enchaines les appels de fonctions optimisées prises dans les bibliothèques du langage, et souvent codées en C (ou en assembleur, ou en n'importe quoi du moment que c'est efficace) par des gens qui savent le faire.

    Au final, sur une application scientifique par exemple, il est très rare d'avoir besoin de coder soi-même une partie au cœur de l'algorithme (d'ailleurs, c'est souvent inenvisageable, parce qu'on ne peut pas vraiment être à la fois une pointure dans un domaine scientifique et en programmation bas niveau). Tu vas mettre en place ton modèle, stocker tes objets, analyser les sorties, etc, et tu vas leur appliquer des opérations de calcul "standard" : appel à des générateurs de nombres aléatoires qui tirent dans des distributions spécifiques, optimisation de fonctions multivariées, inversion de matrices, parcours d'arbres, etc etc. Évidemment, tout dépend du problème et de la compétence téchnique autour de soi, mais dans certains domaines, l'analyse de données scientifiques revient souvent à scripter un «pipeline» qui enchaine des opérations successives ou parallèles de traitement de données. Ça n'est pas le même métier que de mettre au point les algorithmes eux-mêmes...