Light Table : l'environnement de développement du futur ?
Le 2012-04-16 16:40:13, par Hinault Romaric, Responsable .NET
Chris Granger, un ancien gestionnaire de programme pour Microsoft vient de dévoiler dans un billet de blog un nouveau concept d’environnement de développement.
Le projet Light Table est une surface de développement et de simulation d’application qui élimine tous les outils et fonctionnalités encombrants dans les IDE actuels.
« Malgré le changement radical à la simplification des interfaces logicielles, le monde des outils de développement continue à réduire notre espace de travail avec de nouvelles fonctions dans chaque version » écrit Granger « Nous sommes coincés dans un monde de fichiers et d’organisation forcée. Pourquoi devons-nous rechercher un peu partout les choses dont nous avons besoin pour coder ? Pourquoi tout est juste du texte statique ».
Partant de ce constat, Granger propose une nouvelle plateforme de développement fondée sur les principes suivants :
- Le développeur ne devra jamais avoir à chercher la documentation : en passant juste le curseur au-dessus d’une fonction, l’aide s’affichera automatiquement à droite. Cela implique que le développeur n’aura plus jamais à se soucier des choses comme l’ordre des arguments.
Le développeur devra être capable de faire toutes ses recherches d’aide sur place.
- Les éditeurs peuvent être partout et tout montrer, pas seulement le texte : le principe ici est de pouvoir intégrer par exemple un jeu de course sur la surface de travail, ensuite être capable de lui poser des questions et voir l’environnement y répondre.
- Les changements doivent produire des résultats instantanés : par exemple, lors de la saisie de (+ 3 4) le code est évalué et le résultat est affiché instantanément sans autre action.
L’évaluation et la visualisation des résultats en temps réel créent un débogueur permettant de corriger les bugs et avoir un aperçu rapide du fonctionnement de son programme.
- Ecriture du code avec un mode lumière : ce mode permettra à Light Table d’afficher les fonctions utilisées à l’intérieur de celle que le développeur est en train d’écrire, ainsi que leur code source sur le côté.
- Les fichiers ne sont pas la meilleure représentation du code, juste une sérialisation pratique :
« Un peu avant de quitter l’équipe Visual Studio, je suis arrivé à la conclusion que les fenêtres ne sont pas une abstraction de ce que nous faisons. D’autres ingénieurs ont des grandes tables ou ils peuvent disperser plusieurs outils. Une table à dessin est une meilleure abstraction pour nous. Nous ne devons pas nous limiter à un mode où la plus petite unité mobile est le fichier » conclut Granger.
[ame="http://vimeo.com/40281991"]Light Table[/ame]
Un nouveau concept d’IDE assez intéressant qui permettra au développeur de se concentrer uniquement sur son code avec des gains en temps importants.
Source : Blog Chris Granger
Et vous ?
Que pensez-vous de ce nouveau concept d'IDE ?
Le projet Light Table est une surface de développement et de simulation d’application qui élimine tous les outils et fonctionnalités encombrants dans les IDE actuels.
« Malgré le changement radical à la simplification des interfaces logicielles, le monde des outils de développement continue à réduire notre espace de travail avec de nouvelles fonctions dans chaque version » écrit Granger « Nous sommes coincés dans un monde de fichiers et d’organisation forcée. Pourquoi devons-nous rechercher un peu partout les choses dont nous avons besoin pour coder ? Pourquoi tout est juste du texte statique ».
Partant de ce constat, Granger propose une nouvelle plateforme de développement fondée sur les principes suivants :
- Le développeur ne devra jamais avoir à chercher la documentation : en passant juste le curseur au-dessus d’une fonction, l’aide s’affichera automatiquement à droite. Cela implique que le développeur n’aura plus jamais à se soucier des choses comme l’ordre des arguments.
Le développeur devra être capable de faire toutes ses recherches d’aide sur place.
- Les éditeurs peuvent être partout et tout montrer, pas seulement le texte : le principe ici est de pouvoir intégrer par exemple un jeu de course sur la surface de travail, ensuite être capable de lui poser des questions et voir l’environnement y répondre.
- Les changements doivent produire des résultats instantanés : par exemple, lors de la saisie de (+ 3 4) le code est évalué et le résultat est affiché instantanément sans autre action.
L’évaluation et la visualisation des résultats en temps réel créent un débogueur permettant de corriger les bugs et avoir un aperçu rapide du fonctionnement de son programme.
- Ecriture du code avec un mode lumière : ce mode permettra à Light Table d’afficher les fonctions utilisées à l’intérieur de celle que le développeur est en train d’écrire, ainsi que leur code source sur le côté.
- Les fichiers ne sont pas la meilleure représentation du code, juste une sérialisation pratique :
« Un peu avant de quitter l’équipe Visual Studio, je suis arrivé à la conclusion que les fenêtres ne sont pas une abstraction de ce que nous faisons. D’autres ingénieurs ont des grandes tables ou ils peuvent disperser plusieurs outils. Une table à dessin est une meilleure abstraction pour nous. Nous ne devons pas nous limiter à un mode où la plus petite unité mobile est le fichier » conclut Granger.
[ame="http://vimeo.com/40281991"]Light Table[/ame]
Un nouveau concept d’IDE assez intéressant qui permettra au développeur de se concentrer uniquement sur son code avec des gains en temps importants.
Source : Blog Chris Granger
Et vous ?
-
air-dexMembre expertPas nouveau. Eclipse (par exemple) le fait déjà très bien avec la Javadoc
Pratique pour tester un truc. À voir pour le reste
Emacs le fait déjà bien avec la possibilité d'avoir le code que l'on tape dans une fenêtre et les résultats dans l'autre (+ la commande à coucher dehors pour avoir la seconde fenêtre). Je le faisais quand j'apprenais le Scheme. Reprendre les sorties des 2 écrans, tout bien arranger et c'est bon, on a un "waouh!"
Oh la jolie expression bien marketing ! J'aimerais bien voir ça avec du code propriétaire.
Ca me fait penser à une "révolution" Apple que des concepts déjà bien implantés qui sont bien relookés pour pouvoir faire des jolis "waouh!".le 17/04/2012 à 2:16 -
UtherExpert éminent séniorLa plupart de ces fonctionnalités me laissent froid. Soit ça existe déjà, soit ça me parait difficile à mettre en œuvre en dehors de cas particuliers.le 16/04/2012 à 17:58
-
zeyr2mejetremMembre chevronnéMouais ...
Pour l'aide, comme cela a déjà été dit la plupart des IDE le font déjà (du moins pour Java, PHP et C).
Pour l'interprétation directe de l'opération ultime 3+4 je ne vois pas l'intérêt à partir du moment où dans le code on travaille souvent (du moins pour ma part) avec des variables et que l'ide ne semble pas interpréter les expressions avec variables (cf. ligne du dessus dans le code exemple)...
Quant à la fonctionnalité "J'affiche le code d'une fonction fille dans une micro fenêtre à côté" il faut espérer que la fonction fille ne soit pas trop grosse ou complexe ... en plus je suis quasi sûr que cela existe en eclipse mais que personne ne l'utilise parce que c'est illisible.
bref: Au niveau de l'interface on se croirait revenu à l'époque de gwbasic et les fonctionnalités présentées me laissent aussi froid qu'un haagen dazs perdu dans le grand nord.le 17/04/2012 à 9:27 -
MiaowZedongMembre extrêmement actifOn dirait que le language de l'exemple n'est pas choisi au hasard: l'outil semble marqué par la philosophie des languages fonctionnels.le 25/04/2012 à 15:33
-
mak972Nouveau membre du ClubBret Victor a présenter au CUSEC une vidéo qui s'appelle "Inventing on Principle" qui reprend les mêmes principes que ci dessus.
[ame="http://vimeo.com/36579366"]video[/ame]le 16/04/2012 à 17:06 -
ptah35Membre éclairéje ne pense pas qu'il ait quelque chose contre les fichiers en tant que tels et qu'il veuille mettre des millions de ligne de code dans un seul fichier, mais plutôt que ce qui est afficher dans un éditeur ne doit pas être forcement le contenu d'un fichier. Par exemple si on édite le ficher d'entête d'une classe en C++ pourquoi devrait-on avoir à ouvrir soit-même le fichier d'implémentation? Ou encore pourquoi devrions avoir tout le code complet de cinq classes alors que seule une méthode de chacune d'elle nous intéresse. Alors évidemment de simples fichiers dont les noms sont choisis par le programmeur ne feront peut-être pas l'affaire.
Personnellement, je n'aime pas les environnement qui ne me laisse pas décidé où je sauve le texte de mon code source, mais je peux comprendre son point de vue et le potentiel de sa recherche. En outre, on accepte une certaine opacité lorsqu'on utilise un tableur ou un traitement de texte, alors au fond pourquoi pas pour du code source.
Un superbe outil pédagogique en effet!le 16/04/2012 à 19:16 -
BouskRédacteur/ModérateurHa que j'aimerais bien.
Seulement ce que je constate quand je demande à mes collègues et où je suis passé c'est qu'une entreprise sera prête à mettre des dépenses folles pour équiper les commerciaux de la dernière tablette à la mode, alors que les développeurs se font incendier quand ils demandent ce qu'ils foutent sous un windows XP avec un bi-proc 1.4Gh et 2Go de ram.le 25/04/2012 à 15:37 -
Cal67Candidat au ClubPour le Lisp, ça à l'air génial. Ça remplacera sûrement Emacsle 16/04/2012 à 18:40
-
Camille_BMembre éclairéAh deux ou trois trucs près c'est pas loin d'un développement LISP sous Emacs.le 16/04/2012 à 21:28
-
pyrosMembre expérimentéCertaines choses me laissent doucement indifférente, d'autre me font bondir de ma chaise...Pourquoi tout est juste le texte basique ?Les changements doivent produire des résultats instantanésafficher les fonctions utilisées à l’intérieure de celle que le développeur est en train d’écrire, ainsi que leur code source sur le côté
Au final, toutes ces idées sont très sympa d'un point de vue pédagogique, mais inutilisable je pense en production. Comme cela a déjà été dit, cela tient plus de la philosophie MAC à mettre des effets whaou un peu partout qui ne sont pas toujours très utils.le 17/04/2012 à 9:35