Les IDE du futur

Introduction

Les IDE modernes (NetBeans, Visual Studio, Eclipse, …) regroupent plusieurs outils dans un seul environnement graphique et logique.

Vu la taille des projets, une part du problème consiste à s’orienter et à garder une vue d’ensemble. L’unité est le plus souvent c’est le fichier (et la classe associée) pour des raisons historiques. Cette unité est loin d’être idéale, car elle force un niveau de détail unique. Il doit donc exister d’autres moyens pour organiser et travailler avec du code. Le but principal: gagner en productivité ! Voici deux projets majeurs qui s’y frottent actuellement:

Code Bubbles (IDE Java)

Par Andrew Bragdon (Department of Computer Science, Brown University)

Travailler sur des bulles de code ou de documentation que l’on peut regrouper et placer dans un large espace de travail virtuel. Pour mieux s’orienter il est possible de colorier et ‘flagger’ les bulles (bug, important…). L’unité primaire n’est plus le fichier, mais des fragments de code. Il intègre également la notion de tâche, un peu comme Mylyn. Le projet est accessible en béta ici. Je vous conseille de regarder la vidéo, il est dommage que la résolution soit médiocre:

http://www.cs.brown.edu/people/acb/codebubbles_site.htm

http://www.cs.brown.edu/people/acb/codebubbles_beta_signup.htm

Microsoft Code Canvas

Ressemble à Code Bubbles, un espace de travail virtuel (le canvas), des fragments de code que l’on peut regrouper. Cependant ce n’est pas du même calibre, car le prototype est intégré à Visual Studio. Le zoom dit sémantique permet d’afficher les informations essentielles tant que possible (nom de la classe par exemple). Ici également une vidéo avec une résolution médiocre, mais c’est assez impressionnant pour la partie débug graphique…

http://research.microsoft.com/apps/pubs/default.aspx?id=80076
http://research.microsoft.com/apps/pubs/default.aspx?id=121031
http://research.microsoft.com/pubs/121031/CodeCanvas-ICSE10-NIER.pdf
http://chiablo-app.appspot.com/cacm.acm.org/magazines/2010/8/96613-software-development-with-code-maps

Conclusion

La suite: on pourrait aussi imaginer travailler directement sur un graphe de classes et faire du refactoring ‘graphique’ par drag and drop avec Kinect…stop, un peu de sérieux !

Ces projets annoncent la tendance: une approche plus visuelle. Code Bubbles, c’est expérimental, mais finalement pourquoi pas, si il se concentre sur le Java et qu’un processus de bug report est en cours, il y a des chances pour qu’on l’utilise dans quelques années. Code Canvas semble lui aussi sérieux car intégré à Visual Studio et Microsoft a les moyens d’innover. Eclipse et autres suiveront si cela augmente réellement le productivité. Si vous avez testé ou trouvé des projets apparentés n’hésitez pas à poster des commentaires.

Autres liens

The Woes of IDEs, Jef Raskin

Software will be visual (blog)

Field IDE (Python)

MIT Media Lab