L'Arte della Programmazione Scientifica


Domande Frequenti



© 2003-2004 Piet Hut and Jun Makino Back to ACS home page.

Alcune domande frequenti:
Qual è l'obiettivo del progetto?

Il nostro obiettivo a lungo termine è quello di creare una comunità di astronomi e astrofili interessati nel rendere la scienza più accessibile. L'idea trae ispirazione dalle varie comunità open-source, tra le queli il progetto del sistema operativo Linux è probabilmente il più conosciuto.

In un certo senso, la scienza può essere considerata come il più antico e più grande progetto open-source di tutti i tempi. Dai giorni di Galileo più di una dozzina di generazioni di scienziati hanno lavorato insieme per creare un corpo pubblico di conoscenza sul mondo naturale unico per la sua accuratezza.

Il progetto ACS è ispirato alla rinascita dello spirito del movimento illuminista del diciottesimo secolo, in cui persone intellettualmente curiose erano invitate a unirsi a scienziati professionisti nelle loro esplorazioni. Le differenze principali stanno nello spostamento da aule per conferenze e riunioni al web e dagli esperimenti da tavolo all'uso di computer portatili.


Come posso usare un codice N-corpi?

Un modo veloce per iniziare è quello di leggere il nostro vecchio libro on-line Moving Stars Around. Lì troverai un'introduzione completa in 250 pagine, illustrata con programmi scritti in C++. Partendo da integratori semplicissimi, ma arrivando fino alle schema di Hermite, i lettori saranno invitati a fare esperimenti di collasso freddo, a studiare la formazione di binarie e a modificare i programmi per i loro scopi.

Un approccio più dettagliato per lavorare sui codici N-corpi può essere trovato nella nostra serie multivolume, il codice Kali, dove stiamo sviluppando un ambiente software all'avanguardia per la simulazione di sistemi stellari densi. Anche qui partiamo da zero con integratori semplici per il problema a due corpi, prima di presentare un'ampia scelta di integratori più precisi per il problema generale ad N-corpi.

Poichè il nostro linguaggio preferito,Ruby, può non essere familiare ai nostri lettori, la serie Kali introduce il linguaggio insieme con le nozioni di matematica, fisica e informatica necessarie per studiare il problema N-corpi.


Perchè Ruby?

Ruby combina la flessibilità di un linguaggio di script con il potere di della gestione degli oggetti. Per la gestione di progetti software di larga scala, come lo sviluppo del codice Kali, è essenziale usare l'incapsulazione di dati come offerto dal C++. Però, durante la fase di sviluppo è impossibile sapere in anticipo la forma della miglior struttura di dati. Costruire rapidamente prototipi, impossibile in C++, è ugualmente essenziale per sviluppare un sorgente ben pensato e facile da leggere, non limitato da decisioni prese in passato sulla forma dei dati.


Ma Ruby è abbastanza veloce?

No, Ruby di per sè è troppo lento per simulazioni scientifiche. Però è facile rimpiazzare un numero limitato di linee di codice critiche con sorgente C, ottenendo quindi un netto guadagno di velocità che porta quasi ad uguagliare la performance di un codice scritto completamente in C.Ad esempio puoi vedere Vol. 11: Speedup.


Perchè così tanti volumi?

La maggior parte dei testi scientifici presenta lo stato dell'arte di un campo dopo che la polvere si è sedimentata. Gli studenti possono quindi leggere un sentiero logico che presenta poche analogie con il processo storico di tentativi ed errori che portano ad una scoperta scientifica. In confronto non c'è molta informazione disponibile che insegni come imparare dai propri errori. In contrasto, il nostro fine è quello di presentare questa conoscenza tacita che è essenziale per iniziare un progetto di ricerca.

Inizialmente ci aspettavamo di completare la nostra serie in dieci volumi. Però, dopo aver completato il nostro primo volume, Moving Stars Around, pubblicato sul web nell'ottobre 2003, abbiamo imparato due importanti lezioni: 1) finchè non inizi a rendere le conoscenze implicite esplicite non ti rendi conto di quanto conosci realmente; 2) iniziando questo processo impari tantissime nuove cose, aumentando la tua conoscenza circa allo stesso tasso con cui scrivi. Attualmente consideriamo quindi che qualche decina di volumi sia una stima più realistica per la serie Kali.


Qual è l'origine del nome Kali?

Abbiamo preso in prestito il nome dal sanscrito kali, che significa oscuro, come in kali yuga, le età oscure in cui siamo attualmente secondo la mitologia Hindu. Lo stesso nome Kali si riferisce anche alla Dea Hindu che è raffigurata nera. Il termine oscuro ci sembra appropriato per un progetto focalizzato nell'esplicitare quelle conoscenze che non sono ancora state portate alla luce, e che forse non possono ancora essere presentate in un chiaro ordine logico. Al contrario, ci aspettiamo che i nostri dialoghi trasmettano forme di pensiero meno formali, come sono presenti in ogni forma di conoscenza trasmessa con l'esperienza.


Sono uno studente di astronomia. Questo è il sito giusto per me?

Certamente, sei il nostro lettore ideale. Infatti abbiamo scritto questi libri on-line con personaggi che sono versioni più giovani di noi stessi. Speriamo che questi libri e programmi possano essere utili per le tue ricerche. Inoltre speriamo che tu possa contribuire con materiale personale al progetto: saremo felici se ci contatterai e, per quanto il tempo ci permetterà, cercheremo di rispondere a ciascuno. In più potrai trovare annunci di scuole estive e altre iniziative sulla nostra pagina "What's New?".

Ti incoraggiamo inoltre a formare un proprio gruppo di supporto, in cui condividere la tua esperienza con il materiale ACS. Potrai discutere con altri studenti semplici domande e suggerimenti con molto più tempo rispetto a quanto possiamo dedicare noi a ciascuno individualmente. E più la collaborazione diventerà seria, più noi saremo motivati a implementare tutte le grandi idee che ci suggerirete.


Sono un astronomo e ho già preso il Ph.D. Questo è il sito giusto per me?

Certamente, se sei interessato ai sistemi stellari densi, dal punto di vista teorico o osservativo. Dal 2005 in poi il progetto Kali ti fornirà uno strumento di simulazione in un ambiente intuitivo e amichevole. La nostra presentazione sarà autocontenuta senza assumere conoscenze di background eccetto nozioni di astrofisica di base. Se ritieni che ci siano delle lacune in questo senso per favore contattaci.


Sono un astrofilo. Questo è il sito giusto per me?

Assolutamente sì! Noi speriamo che tu possa scaricare il nostro software e esplorare il cielo virtuale sul tuo computer. Abbiamo cercato di rendere la presentazione autocontenuta. In più continueremo ad aggiungere spiegazioni e a fornire link a informazioni di background.

Se trovi punti chiave che non sono spiegati chiaramente ti invitiamo a scriverci. Magari non riusciremo a rispondere a tutti, ma terremo sempre in considerazione ogni suggerimento!


Come posso contribuire?

Poichè siamo ancora nelle fasi iniziali di sviluppo, la nostra attenzione è concentrata nello scrivere abbastanza volumi per costruire un ambiente funzionante per le simulazioni N-corpi. Ci apsettiamo di completare questa fase entro il 2005. Da quel punto in poi ci saranno sempre più opportunità di collaborazione per il nostro tentativo di creare un laboratorio virtuale di astronomia.

Le opportunità per lo sviluppo software spazieranno dalle aree specialistiche in astrofisica computazionale e metodi numerici fino a aree generali come interfaccia utente, grafica e parallelizzazione. In aggiunta avremo bisogno di aiuto per lo sviluppo del nostro ambiente su un range di piattaforme e sistemi operativi.

Quando il nostro progetto sarà diventato più grande e la base di utenti cresciuta, avremo bisogno di volontari per rispondere a richieste standard di supporto tecnico e per aiutare i principianti a iniziare a navigare nell'ambiente. In aggiunta sarebbe fantastico avere aiuto per tradurre il materiale in altre lingue in modo da raggiungere una base più ampia di utenti.

Se sei interessato ad aiutarci seriamente in uno dei punti sopra descritti ti preghiamo di contattarci.


Ritorna alla ACS home page.