Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Responsable .NET

    Light Table : l’environnement de développement du futur
    Light Table : l’environnement de développement du futur
    Un développeur présente un nouveau concept d’IDE


    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 ?
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  2. #2
    Membre averti
    bigre !!!
    J'ai rien compris mais ça a l'air trop puissant !!

    Pourquoi ça ressemble à un xterm unix ?

  3. #3
    Nouveau membre du Club
    c'est ce que bret victor a presenter au cusec
    Bret 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]

  4. #4
    Expert éminent sénior
    La 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.

  5. #5
    Membre du Club
    Mouai, ça peut aller pour des gros projets, mais pas pour des gros. Je travail sur un projet avec 1,5M de lignes de codes, s'il n'est pas divisé en plusieurs fichiers, je vous raconte pas la galère pour m'y retrouver dedans
    _______________________________________________
    Etienne

  6. #6
    Candidat au Club
    Pour le Lisp, ça à l'air génial. Ça remplacera sûrement Emacs

  7. #7
    Membre éclairé
    Citation Envoyé par Veler Voir le message
    Mouai, ça peut aller pour des gros projets, mais pas pour des gros. Je travail sur un projet avec 1,5M de lignes de codes, s'il n'est pas divisé en plusieurs fichiers, je vous raconte pas la galère pour m'y retrouver dedans
    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.


    Citation Envoyé par Cal67 Voir le message
    Pour le Lisp, ça à l'air génial. Ça remplacera sûrement Emacs
    Un superbe outil pédagogique en effet!

  8. #8
    Expert confirmé
    Citation Envoyé par Veler Voir le message
    Mouai, ça peut aller pour des gros projets, mais pas pour des gros. Je travail sur un projet avec 1,5M de lignes de codes, s'il n'est pas divisé en plusieurs fichiers, je vous raconte pas la galère pour m'y retrouver dedans
    Je ne suis pas d'accord. Justement le truc se concentre sur l'affichage d'une fonction à la fois, avec plusieurs fenêtres librement organisées. Je ne crois vraiment pas que la taille du projet influe sur la pertinence de cette approche : que tu aies 1k ou 100k fonctions, quelle différence ?

    Citation Envoyé par ptah35 Voir le message
    Personnellement, je n'aime pas les environnement qui ne me laisse pas décidé où je sauve le texte de mon code source
    C'est également mon cas mais c'est justement parce que nous ne visualisons qu'un seul fichier à la fois. Donc nous aimons pouvoir organiser ceux-ci de façon à créer une cohérence entre l'organisation spatiale et l'organisation logique. Je pense que l'approche dévoilée ici a un certain potentiel. En revanche elle est encore perfectible : par exemple, il est ici très facile d'ouvrir dans d'autres panneaux les fonctions appelées mais il manque à mon avis, entre autres, un accès rapide aux fonctions appelantes ou à des fonctions connexes, ayant un lien avec la première.

    Bref, j'étais très sceptique au début mais je suis assez conquis, je trouve cette recherche très intéressante.

  9. #9
    Membre confirmé
    Ah deux ou trois trucs près c'est pas loin d'un développement LISP sous Emacs.

  10. #10
    Membre extrêmement actif
    Citation Envoyé par Camille_B Voir le message
    Ah deux ou trois trucs près c'est pas loin d'un développement LISP sous Emacs.
    C'est du Clojure dans l'exemple, donc bien un dialecte LISP

    Effectivement, je pense que cet outil va se poser en tant que concurrent d'Emacs. À voir s'il va s'imposer dans les autres domaines...

  11. #11
    Membre expert
    Citation Envoyé par Hinault Romaric Voir le message
    Le développeur ne devra jamais avoir à chercher la documentation
    Pas nouveau. Eclipse (par exemple) le fait déjà très bien avec la Javadoc

    Citation Envoyé par Hinault Romaric Voir le message
    Les éditeurs peuvent être n’ importe où et montrer quoi se soit, pas seulement le texte
    Pratique pour tester un truc. À voir pour le reste

    Citation Envoyé par Hinault Romaric Voir le message
    Les changements doivent produire des résultats instantanés
    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!"

    Citation Envoyé par Hinault Romaric Voir le message
    Ecriture du code avec un mode lumière
    Oh la jolie expression bien marketing ! J'aimerais bien voir ça avec du code propriétaire.

    Citation Envoyé par Hinault Romaric Voir le message
    Que pensez-vous de ce nouveau concept d'IDE ?
    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!".
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  12. #12
    Membre 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.
    Si tu ne sais pas faire, apprends. Si tu fais, fais bien. Si tu sais bien faire, enseigne.
    Mieux vaut paraître stupide quelques temps que rester stupide toute sa vie.

  13. #13
    Membre éprouvé
    Certaines choses me laissent doucement indifférente, d'autre me font bondir de ma chaise...

    Pourquoi tout est juste le texte basique ?
    Car c'est le format le plus générique et le plus portable qui soit, cf philosophie UNIX.

    Les changements doivent produire des résultats instantanés
    Quid d'une boucle infinie, stackOverflow et autre joyeusetés, voir un algo tout simplement long ? Même si le système est bien géré et ne plante pas, le résultat ne sera jamais instantané.

    afficher 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é
    La chose la plus ignoble qui soit. Le meilleur moyen de coder en fonction de l'implémentation et non en fonction de l'abstraction...

    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.
    La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. - Antoine de Saint-Exupéry

  14. #14
    Expert éminent sénior
    Je demande à voir.

    Certaines fonctionnalités ont l'air puissantes, mais comme d'habitude, il faut attendre de voir ce qu'elles donnent une fois l'éditeur en place...

    Sinon quid de l'OS ? Ca ressemble pas à une console windows
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  15. #15
    Rédacteur/Modérateur

    Je suis sceptique quant à la possibilité d'un tel éditeur.
    Ca ressemble à un netbeans/eclipse je trouve, et j'ai donc du mal à voir comment utiliser ça pour plusieurs langages ?
    Netbeans/Eclipse le font très bien pour JAVA, Visual Studio le fait très bien pour C#.
    Bref c'est très spécifique selon le langage.
    Et pour un langage web, il intègre un serveur ? sous forme de... module !?

    L'idée de la doc intégré (laquelle ? la doc officielle ? pourrais-je y voir la doc de boost, wxWidget, Qt, ..... ?), du debuger intégré en instantané, du ... c'est bien, mais est-ce fonctionnel ? réalisable ? ne s'agirait-il pas d'une usine ? du coup l'idée du light est erroné.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  16. #16
    Membre émérite
    Ca a l'air plutôt intéressant, ceux qui ont fait des commentaires négatifs, vous ne pensez pas qu'il faut essayer avant de dire "ça marchera jamais" ?

  17. #17
    Membre expert
    je ne suis pas convaincu...
    ca doit etre bien dans des cas particulers...

    pour le web dev par exemple : Ctrl+s, alt+tab, F5... on a le resultat en live en une demie seconde ! (trop fort)
    => on peut "voir la reaction" du "vrai" navigateur et non la reaction d'un simulateur...
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  18. #18
    Modérateur

    Whaaa la révolution graphique ! il à enlever les bordures des fenêtres ...

    Plus sérieusement la seule vraie innovation que j'aimerais voir , serait la prévisu en live de ce que donne un code avec les modifications comme sur la capture #5. le tout de manière transparente même sur des langages compilé. Ça serait vraiment un plus , plutôt que de compiler , balancer sur la cible , exécuter , voir que ça va pas, modifier , recompiler ...

    [troll je me suis arrêter à visual 2008]

    En même temps y vient de Microsoft, quand à l'époque on comparais Visual à ses alternatives , en terme de fonctionnalité/convivialité, y'avais pas photos

    [/troll
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  19. #19
    Membre averti
    Concernant la previsu en live, c'est deja possible. cela dépend de ce que vous codez, en fait. Sous Eclipse/Netbeans, il est tout a fait possible d''updater" le code de votre programme a la volée, pour peu que celui-ci tourne en mode debug...

    Bon, ça pose soucis quand le code en question est du code d'initialisation mais cela reste possible.

    Sinon, en version payant, on a toujours Jrebel...

    Teo

  20. #20
    Membre émérite
    La prévisu en live pourrait être pratique, malheureusement, je pense que certaines fonctionnalités de ce type ne sont faisables que pour des langages basés sur une vm ou un interpréteur.

    Pour le reste, il n'a pas fait qu'enlever les bordures des fenêtres, mais également passer en plein écran. Chose que l'on fait habituellement pour gagner de la place, et quand je vois la quantité astronomique qui est gâchée... Je pleure.
    Peut-être qu'avec du code source appartenant à un VRAI programme on pourrait se rendre compte un peu plus des "avantages" offerts.

    Quand au fait de voir le code la fonction que l'on appelle, effectivement, c'est assez bête au moment du dev. Cela dis, d'avoir quelques lignes de code de la fonction appelante ou appelée peut s'avérer pratique en debug. Cela dis... Les éditeurs actuels sont capables d'avoir plusieurs fenêtres de code.

    Sinon, je pense comme tout le monde: la plupart des trucs dont il parle existent dans les IDE standards, seuls les éditeurs de texte brut ne les offrent pas ^^
    Mais excepté les débutants qui se voient imposer ces outils, ceux qui s'en servent savent configurer leur environnement pour équivaloir un IDE, et donc, peuvent aussi afficher la doc


    En tout cas, je ne vois pas spécialement de nouveautés révolutionnaires. Ah si, j'ai l'impression que c'est fait pour coder sur une tablette... ou sur w8
    Dois-je vraiment aller plus loin? XD

###raw>template_hook.ano_emploi###