R++, the next step est un projet de développement d'une nouvelle implémentation du langage et environnement d'analyse statistique. Il est compilable, intégre en natif la gestion du parallélisme et permettant la l'exploitation des bases de données grandes dimension. R++ est un
également un langage objet. Par analogie avec C++ et C, il s'appelle R++.


  1. Pourquoi une nouvelle implémentation de R ?
    • Les forces de R
    • Les limites de R

  2. Présentation de R++
    • Parallélisme
    • Grandes bases de données
    • Compilation
    • Éditeur évolué
    • Programmation objet
    • Bien documenté !

  3. Faisabilité du projet
    • Stratégies
    • Les étapes
    • L’équipe
    • Financement



1 Pourquoi une nouvelle implémentation de R ?

R est un langage riche, en pleine expansion, présentant de nombreux avantages. Il est donc naturel de s’interroger sur la pertinence d'une nouvelle implémentation. Examiner les forces mais aussi les limitations de R met clairement en lumière l’intérêt d’un tel projet.

1.1 Les forces de R

  • Gratuit et open source.
  • Permet une rapide intégration de nouvelles méthodes.
  • Nombreux packages disponibles.
  • Soutenu par une large communauté.


1.2 Les limites de R

  • Non gestion intrinsèque du parallélisme.
  • Difficulté à gérer les données de grande dimension.
  • Data management non intuitif.


2 Présentation de R++

2.1 Les fondamentaux

R++ a pour vocation de dépasser les limites de R tout en conservant ses forces. A terme, le but est d’améliorer les performances mais aussi de faciliter la vie de l’utilisateur. Pour cela,
R++ poursuit un certain nombre d’objectifs.

  • R++ est intrinsèquement parallèle,
  • il permet de gérer de grandes bases de données,
  • il est compilable,
  • il utilise un éditeur de texte évolué (coloration syntaxique, complétion, débogage en temps réel,...)
  • il intègre la gestion d'objet.


3 Faisabilité du projet

3.1 Stratégies

R++ est clairement un projet ambitieux. Afin de mettre un maximum de chances de notre côté, nous avons adopté un certain nombre de stratégies.

  • Ne pas réinventer la poudre mais utiliser ce qui se fait de bien dans di érents langages.
  • Contacter des experts en parallélisme, en base de données, en ergonomie, ...


3.2 Les étapes

Les trois premières versions constituent une sorte de tronc commun. Ensuite, 6 axes (version V0.4) peuvent être développés en parallèle, éventuellement par différentes équipes.

La version V0.5 sera la première version publique.


3.3 L’équipe

A ce jour (22/08/2013), les membres du projet, actifs ou sympathisants, sont :

  • Christophe Genolini, Maitre de conférences en bio-statistique, INSERM
  • Abdelmalek Haddad, Ingénieur de recherche INRA
  • Hervé Richard, Ingénieur de recherche INRA
  • Pierre Courtieu, Maitre de conférences au CNAM
  • Bruno Falissard , PUPH INSERM
  • Gaétant Hains : PU en informatique LACL Université Paris-Est & LIFO Université d’Orléans
  • Jérome Collet, Ingénieur


3.4 Financement

Plusieurs pistes de financement sont à l’étude :
  • Projet ANR : R++, the Next Step? viendrait s’inscrire dans la continuité d'une l’ANR actuellement en cours et portée par certains membres de l’équipe.
  • Demande de bourses CIFRE auprès d’entreprises qui travaillent sur des grandes bases de données ou qui ont besoin d’une forte puissance de calcul.
  • Présentation du projet à l’AMUE (Agence de Mutualisation des Université et des Etablissement).
  • Présentation du projet à DevLog (Réseau du DEVeloppement LOGiciel - Réseau inter établissement : CNRS, INRA, Inria).
  • Autres (établissements publics, fondations privées,...)