Espanderò il mio commento.
Penso che ci siano alcuni fattori che hanno influenzato l'uso di Python nell'informatica scientifica, anche se non credo ci siano punti storici definitivi in cui potresti dire: "Sì, questo è il motivo per cui Python è usato su Ruby / qualsiasi altra cosa "
Storia antica
Python e Ruby hanno all'incirca la stessa età - secondo Wikipedia, Python è stato ufficialmente rilasciato per la prima volta nel 1991 e Ruby nel 1995.
Tuttavia, Python è diventato famoso prima di Ruby, dato che Google stava già utilizzando Python e stava cercando sviluppatori Python all'inizio del millennio. Poiché non è che abbiamo una storia curata degli usi dei linguaggi di programmazione e delle loro influenze sulle persone che li usano, teorizzerò che questa prima adozione di Python da parte di Google è stata una grande motivazione per le persone che desiderano espandersi oltre il semplice utilizzo di Matlab, C ++, Fortran, Stata, Mathematica, ecc.
Vale a dire, intendo dire che Google stava usando Python in un sistema in cui avevano migliaia di macchine (pensa parallelamente e ridimensiona) ed elaborava costantemente molti milioni di punti dati (di nuovo, scala).
Confluenza dell'evento
Il calcolo scientifico era solito essere eseguito su macchine speciali come SGI e Crays (ricordi?), E naturalmente FORTRAN era (ed è tuttora) ampiamente utilizzato grazie alla sua relativa semplicità e perché poteva essere ottimizzato più facilmente.
Nell'ultimo decennio circa, l'hardware delle materie prime (che significa cose che tu o io puoi permetterti senza essere milionari) ha preso il controllo nel regno scientifico e massiccio dell'informatica. Guarda le prime 500 classifiche attuali : molti dei "supercomputer" al vertice del mondo sono costruiti con il normale hardware Intel / AMD.
Python è arrivato in un buon momento poiché, ancora una volta, Google stava promuovendo Python e Google stava usando l'hardware delle materie prime e avevano migliaia di macchine.
Inoltre, se scavi in alcuni vecchi articoli di informatica scientifica, hanno iniziato a spuntare intorno al 2000.
Supporto precedente
Ecco un articolo scritto per il software e i sistemi di analisi dei dati astronomici , scritto nel 2000, che suggerisce Python come linguaggio per il calcolo scientifico.
L'articolo contiene questa citazione su Python:
Python è un linguaggio di programmazione interpretato orientato agli oggetti che sta iniziando a ricevere una notevole attenzione nelle applicazioni scientifiche (Python, 1999). Questo perché Python, e i linguaggi di scripting in generale, rappresentano un passo logico successivo per molti progetti scientifici (Dubois 1994). Innanzitutto, Python fornisce un linguaggio di programmazione interpretato che può essere visualizzato come un'estensione dei semplici linguaggi di comando già utilizzati dai programmi scientifici
In secondo luogo, Python è facilmente integrabile con software scritto in altre lingue. Di conseguenza, può fungere sia da linguaggio di controllo per la guida di programmi esistenti sia da linguaggio di colla per combinare sistemi diversi. Infine, Python offre una vasta collezione di moduli di terze parti, una base di utenti consolidata e una varietà di documentazione sotto forma di libri e riferimenti online. Per questo motivo, si potrebbe vederlo come una versione altamente raffinata ed estesa di ciò che gli scienziati spesso cercano di realizzare quando scrivono i propri interpreti di comando.
Quindi puoi vedere che Python aveva già avuto una trazione risalente alla fine degli anni '90, a causa del fatto che era funzionalmente simile ai sistemi esistenti al momento e perché era facile integrare Python con cose come C e i programmi esistenti. Sulla base del contenuto dell'articolo, Python era già in uso scientifico e risale al periodo 1995-1996.
Differenza nella crescita della popolarità
La popolarità di Ruby è esplosa parallelamente all'ascesa di Ruby On Rails, che è uscito per la prima volta nel 2004. Ero al college quando ho sentito per la prima volta il brusio di Ruby, e fu intorno al 2005-2006. Django per Python è stato rilasciato nello stesso lasso di tempo (luglio 2005 secondo Wiki), ma l'attenzione della community di Ruby sembrava fortemente centrata sulla promozione del suo utilizzo nelle applicazioni web.
Python, d'altra parte, aveva già librerie adatte al calcolo scientifico:
NumPy - NumPy è iniziato ufficialmente nel 2005, ma le due librerie su cui è stato costruito sono state rilasciate in precedenza: Numeric (1995) e Numarray (2001?)
BioPython - libreria di calcolo biologico per Python, almeno risale al 2001
SAGE - Pacchetto matematico con prima pubblicazione pubblica all'inizio del 2005
E molti altri, anche se non conosco molte delle loro linee temporali (oltre a navigare nei loro siti di download), ma Python ha anche SciPy (basato su NumPy, rilasciato nel 2006), aveva legami con R (il linguaggio delle statistiche) in all'inizio degli anni 2000, ottenne MatPlotLib e anche un ambiente shell davvero potente in ipython.
ipython è stato rilasciato per la prima volta all'inizio degli anni 2000 e ha avuto molte funzionalità aggiunte che lo rendono molto utile per il calcolo scientifico, come la grafica integrata matplotlib e la capacità di gestire i cluster computazionali .
Dall'articolo sopra:
Vale anche la pena notare un numero di altri progetti di calcolo scientifico relativi a Python. L'estensione numerica di Python aggiunge una rapida manipolazione di array e matrici a Python (Dubois 1996), MMTK è un toolkit basato su Python per la modellistica molecolare (Hinsen 1999), il progetto Biopython sta sviluppando strumenti basati su Python per la ricerca nelle scienze della vita (Biopython 1999), e Visualization Toolkit (VTK) è un pacchetto di visualizzazione avanzato con collegamenti Python (VTK, 1999). Inoltre, i progetti in corso nella comunità Python stanno sviluppando estensioni per l'elaborazione e la stampa di immagini. Infine, il lavoro presentato in (Greenfield, 2000) descrive l'uso di Python nei progetti della STScI.
Buona lista di pacchetti scientifici e numerici per Python .
Molto probabilmente è dovuto alla storia antica e alla relativa oscurità di Ruby fino agli anni 2000, mentre Python aveva guadagnato trazione grazie all'evangelismo di Google.
Quindi, se stavi valutando i linguaggi di scripting nel periodo 1995-2000, che cosa stavi davvero guardando? C'era Perl, che probabilmente era abbastanza diverso sintatticamente che la gente non voleva usarlo, e poi c'era Python, che aveva una sintassi più chiara e una migliore leggibilità.
E sì, probabilmente c'è un sacco di auto-rinforzo - Python ha già tutte queste grandiose e utili librerie per il calcolo scientifico, mentre Ruby ha una voce di minoranza che ne sostiene il suo uso nella scienza e ci sono alcune biblioteche che spuntano, come SciRuby , ma Gli strumenti di Python sono maturati nell'ultimo decennio.
La comunità di Ruby in generale sembra essere molto più fortemente interessata a promuovere Ruby come linguaggio web, poiché questo è ciò che l'ha reso molto noto, mentre Python ha iniziato su un percorso diverso, e in seguito è diventato ampiamente usato come linguaggio web.