
Comment les astronomes ont failli briser Python, et un développeur a sauvé tout le monde 🔭
Actuellement, vous tapez
import numpy as np automatiquement, sans même penser que derrière cette ligne se cache un drame open source qui aurait pu enterrer Python comme langage pour la Data Science dès le début. Si au début des années 2000 tout avait suivi un autre scénario, aujourd'hui nous manipulerions tristement des tenseurs en R ou souffririons avec du C++.En 1995, Jim Hugunin a écrit
Numeric — la première extension C raisonnable pour travailler avec des tableaux multidimensionnels. Avant cela, Python en mathématiques n'était qu'un langage de script lent.Mais
Numeric gérait mal les gros fichiers. C'est devenu un problème critique pour les développeurs qui devaient traiter des images géantes du télescope Hubble. Ces gars-là n'ont pas contribué à Numeric, mais ont écrit leur propre outil — Numarray. Il fonctionnait très bien avec les énormes volumes de données du télescope, mais perdait lamentablement en performance sur les petits tableaux.⛓️💥 Résultat : une scission classique de l'écosystème open source. Une partie des paquets dépendait fortement de
Numeric, une autre de Numarray. Les combiner dans un même pipeline était un véritable enfer d'ingénierie, car leurs API étaient incompatibles.En 2005, Travis Oliphant a regardé ce marécage et... s'est assis et a quasiment réécrit le noyau tout seul, en croisant la performance de
Numeric avec les fonctionnalités flexibles de Numarray.C'est ainsi qu'est né NumPy.
Pour cette version, Travis a délaissé la rédaction d'articles scientifiques, ce qui lui a finalement coûté sa carrière académique et un poste de professeur titulaire. La bureaucratie universitaire n'a pas apprécié le code open source. Mais sans cela, il n'y aurait pas eu
Pandas, que Wes McKinney écrira plus tard sur NumPy. Il n'y aurait pas eu le boom moderne de l'apprentissage automatique, PyTorch et TensorFlow, qui ont idéologiquement grandi à partir de ces mêmes tableaux N-dimensionnels.Et même, la première photo de l'histoire d'un trou noir a été assemblée avec des scripts reposant sur cette pile.
#ainsi_va_la_vie
Commentaires
0Aucun commentaire pour le moment.
Connectez-vous pour participer à la discussion.