77 votes

Outils d'aide au codage en direct, comme dans l'exposé de Bret Victor "Inventer par principe".

J'ai regardé un film déjà bien connu vidéo Bret Victor, ancien concepteur de l'interface utilisateur d'Apple, y présente des démonstrations étonnantes avec des mises à jour immédiates du code en cours d'exécution après avoir modifié littéralement un seul symbole dans le code source.

Pour que ma question soit claire pour ceux qui n'ont pas vu ou n'ont pas le temps de regarder la vidéo : Je souhaite utiliser un tel outil pour écrire mon propre logiciel. L'outil dont il a fait la démonstration est-il disponible, ou existe-t-il d'autres outils similaires ?

Peu importe les langages/environnements, je veux juste avoir mon code en cours d'exécution, puis changer une ligne dans le source et voir immédiatement les résultats mis à jour sans le redémarrer.

La vidéo est également disponible sur YouTube et les points clés sont les suivants :

  • 03:30 - 05:30 - Codage en direct d'un algorithme graphique (espace)
  • 11:00 - 14:30 - Codage en direct du code d'un jeu (espace et temps)
  • 17:30 - 21:30 - Codage en direct des variables locales (état)

0 votes

Je n'ai pas regardé la vidéo. Qu'entendez-vous par "changer une ligne dans le code source et voir immédiatement votre code mis à jour" ?

0 votes

Dommage que je sois très intéressé par une discussion à ce sujet :-(

0 votes

Je remarque que cette question est constamment remontée par d'autres personnes intéressées par ce sujet. Veuillez cliquer sur "rouvrir" pour relancer la discussion.

13voto

Chris Granger construit une table lumineuse qui semble être une avancée prometteuse dans cette direction. Initialement, il ne supporte que Clojure, mais il promet de supporter d'autres langages à l'avenir.

2 votes

Depuis janvier 2014, LightTable 0.6.0 est désormais open source et hébergé sur GitHub. Il supporte désormais Clojure, Python, JavaScript, HTML et CSS (et plus encore via des plugins).

10voto

nathanielng Points 41

Je crois que les éléments suivants permettent de changer une ligne dans le code source (et de voir les effets immédiats) :

  1. Codea Air Code : Codez sur votre navigateur (en Lua), voyez le résultat sur un iPad connecté en wifi.
  2. L'eau par Gabriel Florit. HTML, CSS, fonctionne dans un navigateur.
  3. Live Scratchpad par Neonux. Extension Mozilla.
  4. Swift Interactive Playgrounds : livré avec Xcode 6, pour coder dans le langage de programmation Swift.
  5. JS Bin : HTML, CSS, Javascript, fonctionne dans un navigateur.
  6. Table lumineuse : exemple sur Youtube .
  7. Atome : avec le plugin de prévisualisation html.

Remarque : je n'ai d'expérience que pour les catégories 1, 5 et 7. Pour beaucoup d'entre eux, je ne pense pas que vous puissiez placer votre curseur sur une certaine partie du code et que les parties pertinentes de l'image soient mises en évidence.

Édition : ajout des points no. 4 (2014.10.27), 5 (2014.10.31), et 6-7 (2015.03.12).

Edit 2 (2015.06.25) : à partir de http://sixrevisions.com/tools/code-demo-sites/ (la plupart d'entre eux sont HTML/CSS/Javascript).

  1. Codepen
  2. Tissu vivant
  3. dabblet
  4. jsfiddle
  5. kodtest
  6. Plongeur
  7. CSSDeck
  8. Reloado
  9. idéone
  10. JQ.VER.SION
  11. Fidèle à SQL

0 votes

Le lien vers l'eau est cassé, mais je l'ai trouvé sur Google. github.com/gabrielflorit/livecoding Je pense qu'il s'agit de la même personne.

3voto

Oq01 Points 26

Le carnet de notes IPython est un pas dans cette direction. Bien qu'il soit plus orienté vers l'analyse exploratoire interactive pour les problèmes scientifiques, je le trouve très interactif et amusant à développer.

Je viens également de découvrir Live Code. Après quelques expériences, j'ai constaté qu'il n'englobait pas tous les principes de la philosophie de Bret Victor. La syntaxe est simple, mais l'interface utilisateur ne permet pas un développement interactif. Ils ont encore du chemin à faire.

Il y a aussi R. Depuis les nouveaux développements avec Shiny et knitr, des innovations intéressantes ont lieu, ce qui correspond à la philosophie de Bret.

2voto

Il y a COLT - un outil de codage en direct pour Flash (ActionScript3). Il permet de mettre à jour les méthodes, d'ajouter de nouveaux champs/méthodes/classes, de mettre à jour les actifs intégrés, etc. au moment de l'exécution tout en préservant l'état de l'application, comme dans la vidéo de Bret Victor. Il existe quelques vidéos de démonstration de cet outil en action, avec t est le plus impressionnant jusqu'à présent.

Il ne vous oblige pas à utiliser un nouvel IDE, c'est un outil séparé qui envoie les mises à jour incrémentielles à l'application en cours lorsque vous appuyez sur "save" dans votre IDE.

La prise en charge de JavaScript est également annoncée.

0 votes

La version Flash (et peut-être aussi le support Javascript) est désormais Open-Source (annonce Twitter ici) : twitter.com/UnknownFlasher/status/585427598248960001 )

0voto

Michael Tkachuk Points 11

Les gars de Code orchestra ont récemment sorti leur outil de livecoding appelé C.O.L.T. Il supporte JavaScript et ActionScript et semble très prometteur. Nous vous recommandons vivement de l'essayer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X