mercredi 21 novembre 2007

Ruby en sciences

Étant scientifique (mon excuse habituelle pour utiliser le Fortran...), je me suis posé la question suivante l'autre jour : Ruby est-il utilisé par la communauté scientifique (dans l'industrie et/ou dans la recherche) ?

Il est clair que le Ruby, en tant que langage interprété, est plutôt lent, ce qui pourrait être un frein majeur à son utilisation dans ce domaine. Mais j'ai quand même réussi à trouver 2 petites références intéressantes :

SciRuby : portail de la communauté scientifique employant le Ruby
ACS : Art of Computational Science

SciRuby est particulièrement intéressant, avec des tonnes de références vers des projets, des gens, des interviews, des libs... C'est dans des sites comme ça qu'on apprend, entre autre surprise, que la NASA utilise le Ruby dans le cadre de calculs CFD, couplé au Fortran (tiens, tiens !!!).

Le second est un peu plus obscur, mais on y retrouve l'idée de départ :
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 calcul 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.

On y parle également de la modélisation de problèmes N-corps, réputés particulièrement gourmands en ressources...

J'ai donc bon espoir d'utiliser un jour Ruby dans le cadre professionnel. Entre nous, les scientifiques auraient tort de se priver de ce joli langage : ceux que la programmation gonfle coderont plus vite avec, les autres se feront un plaisir de le lier au C, C++, LISP et/ou au Fortran pour compenser sa relative lenteur.

En attendant, je vais essayer de me lancer dans un petit générateur de documentation de code en Ruby, pour du Fortran 90.

0 commentaires: