
How Astronomers Almost Split Python, and One Developer Saved Everyone 🔭
Now you type
import numpy as np on autopilot, not even thinking that behind this line lies an open-source drama that could have buried Python as a language for Data Science in its infancy. If things had gone differently in the early 2000s, today we would be sadly manipulating tensors in R or struggling with C++.In 1995, Jim Hugunin wrote
Numeric — the first sane C extension for working with multidimensional arrays. Before that, Python in mathematics was just a slow scripting language.But
Numeric handled large files terribly. This became a critical problem for developers who needed to process giant images from the Hubble Space Telescope. Instead of contributing to Numeric, they wrote their own tool — Numarray. It worked great with huge telescope data volumes but was dreadfully slow on small arrays.⛓️💥 Result: a classic open-source ecosystem split. Some packages were tightly dependent on
Numeric, others on Numarray. Combining them in one pipeline was a real engineering nightmare because their APIs were incompatible.In 2005, Travis Oliphant looked at this mess and... sat down and practically single-handedly rewrote the core, merging the performance of
Numeric with the flexible features of Numarray.Thus NumPy was born.
For this release, Travis abandoned writing scientific papers, which ultimately cost him his academic career and a tenured professorship. University bureaucracy did not appreciate open source. But without this, there would be no
Pandas, which Wes McKinney would later write on top of NumPy. There would be no modern machine learning boom, no PyTorch or TensorFlow, which ideologically grew out of those same N-dimensional arrays.What's more, the first ever photo of a black hole was also assembled using scripts tied to this stack.
#так_сложилось
Comments
0No comments yet.
Sign in to join the discussion.