Je vais développer mon commentaire.
Je pense que quelques facteurs ont influencé l'utilisation de Python dans l'informatique scientifique, bien que je ne pense pas qu'il y ait de points historiques définitifs où l'on pourrait dire: "Oui, c'est la raison pour laquelle Python est utilisé sur Ruby / toute autre chose. "
Histoire ancienne
Python et Ruby ont à peu près le même âge - selon Wikipedia, Python a été officiellement publié pour la première fois en 1991 et Ruby en 1995.
Cependant, Python est apparu plus tôt que Ruby, car Google utilisait déjà Python et recherchait des développeurs Python au tournant du millénaire. Etant donné que nous n’avons pas une longue histoire sur les utilisations des langages de programmation et leurs influences sur ceux qui les utilisent, je vais théoriser que cette première adoption de Python par Google a été une grande motivation pour ceux qui cherchent à se développer au-delà de Matlab, C ++, Fortran, Stata, Mathematica, etc.
À savoir, je veux dire que Google utilisait Python dans un système où ils disposaient de milliers de machines (pensez à la parallélisation et à l’échelle) et traitant en permanence plusieurs millions de points de données (encore une fois, à l’échelle).
Événement Confluence
Le calcul scientifique se faisait jadis sur des machines spéciales telles que SGI et Crays (vous vous en souvenez?), Et bien sûr, FORTRAN était (et est toujours) largement utilisé en raison de sa relative simplicité et de son optimisation plus facile.
Au cours des dix dernières années environ, le matériel de base (c'est-à-dire tout ce que vous et moi pouvons acheter sans être millionnaires) a pris le contrôle du domaine scientifique et de l'informatique de masse. Examinez les 500 meilleurs classements actuels - bon nombre des «super ordinateurs» les mieux classés au monde sont construits avec du matériel Intel / AMD normal.
Python est arrivé à un bon moment puisque, encore une fois, Google faisait la promotion de Python et que Google utilisait du matériel de base, et qu'ils disposaient de milliers de machines.
De plus, si vous fouillez dans de vieux articles sur l'informatique scientifique, ils ont commencé à germer vers l'ère des années 2000.
Support antérieur
Voici un article écrit pour le logiciel et les systèmes d’analyse de données astronomiques , écrit en 2000, suggérant Python comme langage pour le calcul scientifique.
L'article a cette citation sur Python:
Python est un langage de programmation interprété orienté objet qui commence à faire l’objet d’une attention considérable dans les applications scientifiques (Python, 1999). En effet, Python et les langages de script en général représentent une étape logique pour de nombreux projets scientifiques (Dubois 1994). Premièrement, Python fournit un langage de programmation interprété qui peut être considéré comme une extension des langages de commande simples déjà utilisés par les programmes scientifiques.
Deuxièmement, Python s'intègre facilement à des logiciels écrits dans d'autres langues. En conséquence, il peut servir à la fois de langage de contrôle pour piloter des programmes existants et de langage de liaison pour combiner différents systèmes. Enfin, Python fournit une vaste collection de modules tiers, une base d’utilisateurs établie et une variété de documentation sous forme de livres et de références en ligne. Pour cette raison, on pourrait le voir comme une version très élaborée et développée de ce que les scientifiques tentent souvent d'accomplir lorsqu'ils écrivent leurs propres interprètes de commande.
Ainsi, vous pouvez voir que Python avait déjà une traction remontant à la fin des années 90, du fait qu’il fonctionnait de manière similaire aux systèmes existants de l’époque et qu’il était facile d’intégrer Python à des éléments comme C et aux programmes existants. D'après le contenu de l'article, Python avait déjà une utilisation scientifique depuis la période 1995-1996.
Différence de croissance de la popularité
La popularité de Ruby a explosé parallèlement à l'essor de Ruby On Rails, apparu pour la première fois en 2004. J'étais à l'université quand j'ai vraiment entendu parler de Ruby, et c'était autour de 2005-2006. django for Python est sorti à peu près à la même période (juillet 2005 selon Wiki), mais la communauté Ruby semblait centrée essentiellement sur la promotion de son utilisation dans les applications Web.
Python, en revanche, disposait déjà de bibliothèques adaptées au calcul scientifique:
NumPy - NumPy a officiellement démarré en 2005, mais les deux bibliothèques sur lesquelles elle reposait ont été publiées plus tôt: Numeric (1995) et Numarray (2001?)
BioPython - bibliothèque d’informatique biologique pour python, remonte à 2001, au moins
SAGE - Package Math avec la première publication publique début 2005
Et bien d’autres encore, même si je ne connais pas beaucoup de chronologies (en plus de la simple navigation sur leurs sites de téléchargement), Python a également SciPy (construit sur NumPy, sorti en 2006), qui avait des liaisons avec R (le langage de statistiques) dans au début des années 2000, MatPlotLib et un environnement shell extrêmement puissant dans ipython.
ipython a été lancé pour la première fois au début des années 2000 et a été doté de nombreuses fonctionnalités qui le rendent très agréable pour l'informatique scientifique, comme le graphing matplotlib intégré et la capacité de gérer des grappes de calcul .
De l'article ci-dessus:
Il convient également de noter un certain nombre d’autres projets de calcul scientifique liés à Python. L'extension numérique Python ajoute une manipulation rapide des matrices et des tableaux à Python (Dubois 1996), MMTK est une boîte à outils Python pour la modélisation moléculaire (Hinsen 1999), le projet Biopython développe des outils Python pour la recherche en sciences de la vie (Biopython 1999), et Visualization Toolkit (VTK) est un package de visualisation avancé avec des liaisons Python (VTK, 1999). De plus, des projets en cours dans la communauté Python développent des extensions pour le traitement et le traçage d'images. Enfin, les travaux présentés dans (Greenfield, 2000) décrivent l’utilisation de Python dans des projets du STScI.
Bonne liste de paquets scientifiques et numériques pour Python .
Cela est probablement dû en grande partie aux débuts de l'histoire et à la relative obscurité de Ruby jusqu'aux années 2000, alors que Python avait gagné du terrain grâce à l'évangélisation de Google.
Donc, si vous évaluiez les langages de script entre 1995 et 2000, que regardiez-vous vraiment? Il y avait Perl, qui était probablement assez différent du point de vue syntaxique pour que les gens ne voulaient pas l'utiliser, et il y avait aussi Python, qui avait une syntaxe plus claire et une meilleure lisibilité.
Et oui, il y a probablement beaucoup d'auto-renforcement - Python a déjà toutes ces grandes bibliothèques utiles pour l'informatique scientifique, alors que Ruby a une voix minoritaire prônant son utilisation en science, et certaines bibliothèques poussent, comme SciRuby , mais Les outils de Python ont mûri au cours de la dernière décennie.
La communauté de Ruby dans son ensemble semble être beaucoup plus intéressée par le développement de Ruby en tant que langage Web, car c'est ce qui l'a vraiment rendue célèbre, alors que Python a commencé sur un chemin différent et est ensuite devenu largement utilisé en tant que langage Web.