
Bagaimana para astronom hampir memecah Python, dan satu pengembang menyelamatkan semuanya 🔭
Sekarang Anda mengetik
import numpy as np secara otomatis, bahkan tanpa berpikir bahwa di balik baris ini ada drama open-source yang bisa mengubur Python sebagai bahasa untuk Data Science sejak awal. Jika pada awal tahun 2000-an semuanya berjalan dengan skenario yang berbeda, hari ini kita akan dengan sedih memutar tensor di R atau menderita dengan C++.Pada tahun 1995, Jim Hugunin menulis
Numeric — ekstensi C pertama yang masuk akal untuk bekerja dengan array multidimensi. Sebelumnya, Python dalam matematika hanyalah bahasa skrip yang lambat.Tetapi
Numeric menangani file besar dengan sangat buruk. Ini menjadi masalah kritis bagi pengembang yang perlu memproses gambar raksasa dari Hubble. Mereka tidak berkontribusi ke Numeric, tetapi menulis alat mereka sendiri — Numarray. Alat ini bekerja dengan baik dengan volume data teleskop yang sangat besar, tetapi sangat buruk dalam kinerja pada array kecil.⛓️💥 Hasilnya: perpecahan open-source klasik dari ekosistem. Sebagian paket sangat bergantung pada
Numeric, sebagian lagi pada Numarray. Menggabungkannya dalam satu pipeline adalah neraka teknik yang nyata, karena API mereka tidak kompatibel.Pada tahun 2005, Travis Oliphant melihat rawa ini dan... duduk dan hampir sendirian menulis ulang inti, dengan kuat menggabungkan kinerja
Numeric dengan fitur fleksibel Numarray.Maka lahirlah NumPy.
Demi rilis ini, Travis mengabaikan penulisan makalah ilmiah, yang pada akhirnya merugikan karir akademisnya dan posisi profesor tetap. Birokrasi universitas tidak menghargai kode sumber terbuka. Tapi tanpa ini, tidak akan ada
Pandas, yang kemudian ditulis Wes McKinney di atas NumPy. Tidak akan ada ledakan pembelajaran mesin modern, PyTorch dan TensorFlow, yang secara ideologis tumbuh dari array N-dimensi tersebut.Bahkan, foto pertama lubang hitam dalam sejarah juga dikumpulkan dengan skrip yang bergantung pada tumpukan ini.
#begitulah_jadinya
Komentar
0Belum ada komentar.
Masuk untuk ikut berdiskusi.