Gökbilimciler Python'u neredeyse nasıl böldü ve bir geliştirici herkesi nasıl kurtardı 🔭

Şu anda import numpy as np yazıyorsunuz, bu satırın arkasında Python'u Data Science dili olarak daha başlangıçta gömmüş olabilecek bir açık kaynak draması olduğunu düşünmeden. 2000'lerin başında her şey farklı bir senaryoya gitseydi, bugün R'de tensörlerle uğraşıyor veya C++ ile boğuşuyor olurduk.

1995'te Jim Hugunin, çok boyutlu dizilerle çalışmak için ilk makul C eklentisi olan Numeric'i yazdı. Ondan önce Python matematikte sadece yavaş bir betik diliydi.

Ancak Numeric, büyük dosyalarla berbat bir şekilde başa çıkıyordu. Bu, Hubble'dan gelen devasa görüntüleri işlemesi gereken geliştiriciler için kritik bir sorun haline geldi. Adamlar Numeric'e katkıda bulunmak yerine kendi araçlarını yazdılar: Numarray. Teleskobun devasa veri hacimleriyle harika çalışıyordu, ancak küçük dizilerde performans açısından acınasıydı.

⛓️‍💥 Sonuç: klasik bir açık kaynak ekosistem bölünmesi. Paketlerin bir kısmı sıkı sıkıya Numeric'e, bir kısmı Numarray'e bağımlıydı. Bunları aynı pipeline'da birleştirmek gerçek bir mühendislik cehennemiydi çünkü API'leri uyumsuzdu.
2005'te Travis Oliphant bu bataklığa baktı ve... oturup neredeyse tek başına çekirdeği yeniden yazdı, Numeric'in performansını Numarray'in esnek özellikleriyle sıkıca birleştirdi.

İşte NumPy böyle doğdu.

Bu sürüm uğruna Travis bilimsel makale yazmayı bıraktı, bu da sonuçta akademik kariyerine ve profesörlük kadrosuna mal oldu. Üniversite bürokrasisi açık kaynağı takdir etmedi. Ancak bu olmasaydı, Wes McKinney'in daha sonra NumPy üzerine yazacağı Pandas olmazdı. Modern makine öğrenimi patlaması, ideolojik olarak aynı N-boyutlu dizilerden türeyen PyTorch ve TensorFlow olmazdı.
Dahası, tarihteki ilk kara delik fotoğrafı da bu yığına bağlı betiklerle toplandı.

#böyle_oldu