L'Art de la programmation scientifique


Foire Aux Questions



© 2003-2005 Piet Hut et Jun Makino Retour à la page d'accueil

Quelques questions fréquemment posées :
Quel est le but du projet ACS ?

Notre but à long terme est d'établir une communauté de professionnels et amateurs, intéressés par la diffusion de la science selon des moyens pratiques, selon une méthodologie librement inspirée par les différents projets Open-Source tels que le célèbre projet Linux. 

La science est d'ailleurs peut-être bien le plus ancien et le plus grand projet open-source de l'histoire. Depuis l'époque de Galilée, plus d'une douzaine de générations de scientifiques ont travaillé ensemble pour produire un corps de connaissances publiques sur le monde naturel qui est unique à la fois dans sa précision et dans le fait qu'il transcende les barrières traditionnelles des cultures et religions. 

Le projet ACS ambitionne de rallumer l'esprit des Lumières, où toute personne éduquée était invitée à rejoindre les scientifiques professionnels dans leurs investigations. Nous avons simplement échangé les salons traditionnels pour le web, et les expériences sur table pour des ordinateurs portables.


Comment peut-on jouer avec un code N-corps ?

Un moyen rapide de commencer est de lire notre ouvrage plus ancien Moving Stars Around. Vous y trouverez une introduction complète, en 250 pages, illustrée avec des exemples de code en C++. Depuis les intégrateurs très simples jusqu'au schéma de Hermite, les lecteurs seront invités à effectuer des expériences d'effondrement froid, à étudier la formation d'étoiles doubles et à adapter les exemples de code à leurs propres besoins.

Une approche plus détaillée du travail avec des codes N-corps peut être trouvée dans notre série de tomes sur Kali, puisque nous y développons un environnement logiciel de tout premier plan pour la simulation des systèmes stellaires denses. Ici aussi, nous commençons de zéro, depuis les intégrateurs simples pour le problème à deux corps, jusqu'à un large éventail d'intégrateurs d'ordre supérieur pour les problèmes N-corps généraux.

Étant donné que notre langage de prédilection, le Ruby, n'est probablement pas familier à nos lecteurs, les volumes sur Kali introduisent ce langage en même temps que les notions de mathématiques, physique et informatique nécessaires à l'étude du problème à N corps. 


Pourquoi utiliser le langage Ruby ?

Ruby combine la flexibilité d'un langage de script avec la puissance d'un langage entièrement orienté objet. Pour un projet logiciel de grande envergure, tel que le développement de Kali, il est essentiel d'utiliser l'encapsulation de données telle que permise par le C++. Toutefois, en développant du nouveau code il est impossible de savoir à l'avance quelle structure de données sera la plus adaptée. Le prototypage rapide, qui est presqu'impossible en C++, est tout aussi nécessaire pour développer du code qui soit à la fois bien pensé et facile à lire, et non englué dans un lourd héritage de décisions passées. 


Le langage Ruby est-il assez rapide ?

Non, le langage Ruby en lui-même est trop lent pour des simulations scientifiques sérieuses. Toutefois, il est acceptable de remplacer quelques lignes critiques en temps de cacul par du code C, accélérant ainsi le code Ruby originel à une vitesse approchant celle d'un code C sans trop de problème. Voir Vol. 12: Speedup pour des exemples détaillés.


Pourquoi tant de tomes ?

La plupart des ouvrages scientifiques résument l'état actuel de la connaissance dans un domaine « après que la poussière soit retombée ». Les étudiants se voient présenter un cheminement logique clair qui présente peu de ressemblance avec le processus historique d'essais et d'erreurs qui sous-tend toute découverte scientifique, grande ou petite. En comparaison, il y a peu d'information disponible qui enseigne aux étudiants à faire des erreurs et à apprendre d'elles. Notre but est donc au contraire de présenter l'essentiel de la connaissance tacite qui est essentielle au lancement d'un projet de recherche en science calculatoire.

Initialement, nous pensions être capables de présenter notre série d'ouvrages en dix volumes. Cependant, lorsque nous avons achevé notre premier tome, Moving Stars Around, et que nous l'avons publié sur le web en octobre 2003, nous avons appris deux leçons importantes : 1) avant de commencer à expliciter la connaissance implicite, on n'a aucune idée de l'étendue réelle de sa connaissance ; 2) quand on commence ce travail, on apprend énormément, augmentant l'étendue de ses connaissances au fur et à mesure qu'on les met par écrit. Nous considérons maintenant que plusieurs dizaines de volumes constituent une estimation plus réaliste, et encore ne parlons-nous ici que de la série Kali


D'où vient le nom Kali ?

Nous avons emprunté le nom au sanskrit kali, signifiant sombre, comme dans l'expression kali yuga, l'ère des ténèbres dans laquelle nous sommes actuellement selon la mythologie hindoue. Le même mot apparaît dans le nom de la déesse hindoue Kali, décrite comme noire. Le terme sombre semblait approprié pour notre projet, puisque nous nous focalisons sur les aspects tacites de la connaissance qui n'ont jamais été mis en lumière jusque là et qui ne peuvent probablement pas être présentés par une série d'affirmations claire et logique. Nous pensons que nos dialogues sont plus à même de transmettre l'infinie variété de nuances de la connaissance, moins formelles et moins claires, qui accompagnent toute entreprise.


Je suis étudiant en astronomie. Ceci est-il adapté pour moi ?

Et comment ! vous êtes notre cible privilégiée. Pour tout dire, nous avons écrit ces ouvrages avec une version rajeunie de nous-même en tête. Nous espérons que les textes et codes présentés ici vous seront utiles pour votre recherche personnelle. Au-delà, nous espérons que vous contribuerez vous-même à cette œuvre par vos additions et variantes : vous êtes invités à nous contacter, et autant que notre temps le permettra nous tâcherons de répondre à chacun d'entre vous. De plus, vous serez en mesure de trouver des annonces d'écoles d'été et autres activitées liées à l'ACS sur notre page d'actualités ("What's New?").

Nous vous encourageons également à former vos propres groupes de support, dans lesquels vous partagerez vos expériences de travail avec le matériel ACS. Vous aurez bien plus de temps entre vous pour répondre aux questions et suggestions usuelles que nous ne le pourrons si nous répondons individuellement à chacun d'entre vous. Et plus vos collaborations seront sérieuses, plus nous serons motivés pour vous aider à implémenter les grandes suggestions que vous ne manquerez pas de nous proposer.


Je suis astronome, j'ai déjà mon doctorat. Ceci est-il adapté pour moi ?

Oui, si vous avez un quelconque intérêt pour les systèmes stellaires denses. Que vous soyez un observateur ou un théoricien, à partir de 2005 le projet Kali vous donnera les outils pour lancer des simulations dans un environnement agréable. Notre présentation est conçue pour être auto-contenue, sans présumer de connaissances préalables au-delà de l'astrophysique de base. Si vous trouviez qu'il manque quoi que ce soit à ce propos, veuillez nous contacter.


Je suis astronome amateur. Ceci est-il pour moi ?

Bien sûr ! Nous espérons grandement que vous téléchargerez notre logiciel, et explorerez les paradis virtuels sur votre ordinateur, de la même façon que vous explorez les paradis réels avec votre télescope. Nous avons tenté de réaliser une présentation auto-contenue. De plus, nous continuerons à ajouter des explications et à fournir plus de pointeurs vers d'autres sources de savoir pour compléter l'information d'arrière-plan, autant qu'il sera nécessaire. 

Si vous trouvez que des points cruciaux ne sont pas encore clairement expliqués, ou manquent, vous êtes invité à nous le faire savoir. Nous ne pourrons peut-être pas trouver le temps de vous répondre et de vous remercier individuellement, mais soyez assuré que vos commentaires seront grandement appréciés.


Comment puis-je me rendre utile ?

Comme nous sommes encore dans la phase initiale de mise en place du projet ACS, nous portons principalement notre attention sur l'écriture d'une quantité suffisante de volumes pour pouvoir présenter un environnement de simulations N-corps totalement opérationnel. Nous pensons achever cette phase initiale au cours de l'année 2005. À partir de là, il y aura de plus en plus d'opportunités pour nous rejoindre dans notre ambition de produire un laboratoire d'astronomie virtuelle. 

Les différents domaines pour le développement logiciel iront de domaines pointus dans l'astronomie calculatoire et les méthodes numériques juqu'aux domaines généraux des graphismes et interfaces utilisateurs, ainsi que la parallélisation de code. En outre, nous aurons besoin de beaucoup d'aide pour porter notre environnement sur un grand nombre de plate-formes et de systèmes. 

Au fur et à mesure que notre projet grandira, nous aurons besoin de volontaires pour répondre aux questions courantes, et pour aider les débutants à démarrer. De surcroît, il serait très appréciable de diposer de traductions de nos textes en d'autres langues que l'anglais.

Si vous pensez être en mesure de vous impliquer sérieusement pour nous aider dans l'un de ces domaines, quel qu'il soit, merci de nous contacter.


Retour à la page d'accueil.

--Apple-Mail-4-746223700