Yorumumu genişleteceğim.
Bilimsel hesaplamada Python'un kullanımını etkileyen birkaç faktör olduğunu düşünüyorum, ancak söyleyebileceğiniz kesin bir tarihsel nokta olduğunu düşünmüyorum, "Evet, Python'un Ruby / diğer şeylerde kullanılmasının nedeni budur. "
Erken tarih
Python ve Ruby neredeyse aynı yaşta - Wikipedia'ya göre Python resmen ilk olarak 1991'de, Ruby ise 1995'te piyasaya sürüldü.
Ancak, Python, Google'ın zaten Python kullandığı ve milenyumun başında Python geliştiricilerini aradığı için Ruby'ninkinden daha öne çıktı. Programlama dillerinin kullanımıyla ve onları kullanan insanlar üzerindeki etkilerinin küratörlüğünde bir geçmişi olmadığı için, Python'un Google tarafından bu erken benimsenmesinin, sadece Matlab, C ++ kullanmanın ötesine geçmeyi isteyen insanlar için büyük bir motivasyon kaynağı olduğu teorisini çıkaracağım. Fortran, Stata, Mathematica, vb.
Yani, Google’ın Python’u binlerce makineye sahip oldukları (paralelleştirme ve ölçeklendirme) ve sürekli olarak milyonlarca veri noktasını (yine ölçekleme) işlediği bir sistemde kullandığı anlamına geliyor.
Etkinlik Birleşimi
SGI ve Crays gibi özel makinelerde yapılan bilimsel bilgi işlem (bunları hatırlıyor musunuz?) Ve tabii ki FORTRAN, göreceli sadeliği nedeniyle ve daha kolay bir şekilde optimize edilebildiğinden yaygın olarak kullanılıyordu.
Son on yılda, emtia donanımları (sizin veya benim milyonerler olmadan kazanabileceğim şeyler) bilimsel ve büyük bilişim aleminde görev aldı. Şu anki en iyi 500 sıralamaya bakın - dünyadaki en üst sıradaki 'süper bilgisayarların' çoğu normal Intel / AMD donanımıyla üretildi.
Python, Google’ın Python’u tanıttığından ve Google’ın meta donanımını kullandığından ve binlerce makineye sahip olduklarından beri iyi bir zamanda geldi.
Ayrıca, bazı eski bilimsel bilgi işlem makaleleriyle uğraşırsanız, 2000 çağında ortaya çıkmaya başladılar.
Önceki Destek
İşte 2000'de yazılmış olan ve Astronomik Veri Analizi Yazılımı ve Sistemleri için yazılmış, Python'u bilimsel hesaplama dili olarak öneren bir makale .
Makalede Python hakkında bir alıntı var:
Python, bilimsel uygulamalarda büyük ilgi görmeye başlayan, yorumlanmış bir nesne yönelimli programlama dilidir (Python, 1999). Bunun nedeni, Python'un ve genel olarak kodlama dillerinin, birçok bilimsel proje için bir sonraki mantıklı adımı temsil etmesidir (Dubois 1994). İlk olarak, Python, bilimsel programlar tarafından zaten kullanılan basit komut dillerinin bir uzantısı olarak görülebilen tercüme edilmiş bir programlama dili sağlar.
İkincisi, Python diğer dillerde yazılmış bir yazılıma kolayca entegre edilebilir. Sonuç olarak, hem mevcut programları sürmek için bir kontrol dili hem de farklı sistemleri birleştirmek için bir tutkal dili olarak işlev görebilir. Son olarak, Python, üçüncü taraf modüllerden oluşan geniş bir koleksiyon, yerleşik bir kullanıcı tabanı ve kitap ve çevrimiçi referanslar şeklinde çeşitli belgeler sunar. Bu sebeple, bir bilim insanının kendi komut tercümanlarını yazarken genellikle başarmaya çalıştığı şeylerin çok parlak ve genişletilmiş bir versiyonu olarak görülebilir.
Böylece, Python'un 90'ların sonlarına dayanan bir çekişe sahip olduğunu görüyorsunuz, çünkü o zamanki mevcut sistemlere işlevsel olarak benziyordu ve Python'u C ve mevcut programlarla entegre etmek kolaydı. Makalenin içeriğine dayanarak Python, 1995-1996 dönemine dayanan bilimsel kullanımdaydı.
Popülerlik Büyümesindeki Fark
Ruby'nin popülaritesi, ilk olarak 2004'te çıkan Ruby On Rails'in yükselişiyle birlikte patladı. İlk kez Ruby ile ilgili bir vızıltı duyduğumda kolejdeydim ve 2005-2006 yıllarındaydı. Python için django, aynı zaman diliminde (Wiki'ye göre Temmuz 2005) yayınlandı, ancak Ruby topluluğunun odağı, web uygulamalarında kullanımını teşvik etmeye çok yoğunlaştı.
Python, diğer taraftan, zaten bilimsel hesaplamaya uygun kütüphanelere sahipti:
NumPy - NumPy 2005 yılında resmen başladı, ancak üzerine kurulu iki kitaplık daha önce yayınlandı: Numeric (1995) ve Numarray (2001?)
BioPython - python için biyolojik bilgi işlem kütüphanesi, en azından 2001 yılına kadar uzanıyor
SAGE - 2005'in başlarında ilk halka açık olan matematik paketi
Ve daha pek çoğu, zaman çizelgelerinin çoğunu bilmeme rağmen (sadece indirme sitelerine göz atmanın dışında), ancak Python'da SciPy (2006'da yayımlanan NumPy üzerine kurulmuş), R (istatistik dili) 2000'li yılların başında MatPlotLib ve ipython'da da gerçekten güçlü bir kabuk ortamı elde edildi.
ipython ilk 2000'li yılların başında piyasaya sürüldü ve entegre matplotlib grafikleme ve hesaplama kümelerini yönetme gibi bilimsel hesaplama için çok güzel kılan birçok özelliğe sahipti .
Yukarıdaki makaleden:
Ayrıca Python ile ilgili bilimsel bilgi işlem projelerinde dikkat çekiyor. Sayısal Python uzantısı Python'a hızlı dizi ve matris manipülasyonu ekler (Dubois 1996), MMTK moleküler modelleme için Python tabanlı bir araç setidir (Hinsen 1999), Biopython projesi yaşam bilimleri araştırması için Python tabanlı araçlar geliştirmektedir (Biopython 1999), ve Görselleştirme Araç Takımı (VTK), Python bağlayıcıları olan gelişmiş bir görselleştirme paketidir (VTK, 1999). Ek olarak, Python topluluğunda devam eden projeler, görüntü işleme ve komplo için uzantıları geliştiriyor. Son olarak, (Greenfield, 2000) 'de sunulan çalışma, STScI'deki projelerde Python'un kullanımını açıklar.
Python için iyi bir bilimsel ve sayısal paket listesi .
Bu yüzden büyük olasılıkla erken tarih ve 2000'li yıllara kadar Ruby'nin göreceli belirsizliğinden kaynaklanıyor, Python ise Google’ın evrenciliği sayesinde çekiş kazanmıştı.
Öyleyse, 1995 - 2000 arasındaki dönemde senaryo dillerini değerlendiriyorsanız, gerçekte neye bakıyordunuz? İnsanların kullanmak istemediği, muhtemelen sözdizimsel olarak farklı olan Perl vardı ve daha net bir sözdizimi ve daha iyi okunabilirliği olan Python vardı.
Ve evet, kendini takviye bir sürü muhtemelen orada - Yakut bilim kullanımını savunan bir azınlık sesi var ise Python zaten bilimsel hesaplama için tüm bu harika, kullanışlı kütüphaneleri vardır ve benzeri, yukarı filizlenme bazı kütüphaneler vardır SciRuby ama Python'un araçları son on yılda olgunlaştı.
Ruby'nin genel olarak Ruby'yi bir web dili olarak ilerletmekle çok daha fazla ilgilendiği görülüyor, çünkü Python farklı bir yoldan başladı ve daha sonra bir web dili olarak yaygın bir şekilde kullanıldı.