5 ms·
This is called interactive development; if you liked this, check these out: * Interactive programming Flappy Bird in ClojureScript: https://www.youtube.com/wat
by dustingetz 12y ago
This is called interactive development; if you liked this, check these out:
* Interactive programming Flappy Bird in ClojureScript: https://www.youtube.com/watch?v=KZjFVdU8VLI https://www.youtube.com/watch?v=KZjFVdU8VLI
* Live-editing React app without refresh: https://vimeo.com/100010922 https://vimeo.com/100010922
These demos aren't smoke and mirrors, I and many others do interactive development, 8 hours a day, writing regular web apps.
- et1337 12y agoThere's also my favorite: live-editing a VR environment. https://www.youtube.com/watch?v=db-7J5OaSag https://www.youtube.com/watch?v=db-7J5OaSag
- philsnow 12y agoI sent this very link to an acquaintance who is looking to get started programming, to give him an idea of how much fun it is to do things interactively in a tight REPL-alike. I think a lot of people who are just starting out get deterred when the only thing they end up with after a week of effort is some hard-to-see changes happening on the filesystem or in some file.
- jakejake 12y agoA lot of us who have been doing this for years sometimes spend a week working on something only to see a benchmark slightly improve or a unit test pass - but still get a thrill from it! But I must add that anything which gets new coders excited is a good thing!
- chton 12y agoThat's because you can conceptualize what happens through your experience and knowledge. For a newbie, a slight benchmark increase doesn't mean anything because they can't tell what the impact of it is, why it is important. Closing the feedback loop between typing and seeing a cool result is one of the best ways to get people excited about coding. If 3D or AR helps with that, it's definitely a good thing :)
- jakejake 12y agoI'm 100% with you - if it gets new people excited then I'm all for it!
- tomjen3 12y agoPython has a webbrowser module so that you can use it to remote control your webbrowser. It is much more fun to see results that way than mess around with print.
- drchickensalad 12y agoAre there any good approaches for doing this without a specific framework?
- dustingetz 12y agoNot really, for interactive UI development you need to model the UI as a pure function (no state in the view). So that limits you to React or React-like approaches, and game engines: https://www.youtube.com/watch?v=tJr_TD1BtF0 https://www.youtube.com/watch?v=tJr_TD1BtF0 For backed web development (in Clojure at least) there isn't really a lot of state in the first place - request comes in, request comes out, state is in the database not the application - so there are no framework constraints.
- Rygu 12y agoDepends on the backend platform actually. Apache CGI processes (PHP) are fire-and-forget per request. But for example Ruby and Node.js servers persist through request cycles. It's important that any state is unique to the request, sometimes even the caches should be per request. Node.js has a package called piping that hot-reloads require()ed files. It makes interactive development possible. Checkout my backend and frontend interactive isomorphic starterkit: https://github.com/RickWong/react-isomorphic-starterkit https://github.com/RickWong/react-isomorphic-starterkit It hot-reloads Node server code and client code your browser.
- paulirish 12y agoYou can do this right now in Chrome DevTools. In the sources pane any changes you make to CSS are live immediately. It's a text editor but totally live. And if you want to persist those changes back to disk, you can do that, too. https://developer.chrome.com/devtools/docs/workspaces https://developer.chrome.com/devtools/docs/workspaces
- lsiebert 12y agoVim has a number of ways to do this. browserlink.vim for example. There are also grunt and gulp plugins for webdev repls.
- hrayr 12y agoThe best and earliest example I saw of this was Bret Victor's talk "Inventing on Principle" https://vimeo.com/36579366 https://vimeo.com/36579366
- seanmcdirmid 12y agoI gave a talk at OOPSLA in Montreal in 2007, made a pacman game during my 30 minute talk slot using a live programming language/environment. I'm sure I wasn't even the first, as I got many of my ideas from Chris Hancock's PhD thesis published in 2003, "Real time programming and big ideas in computational literacy", and of course the multitudes of less but still interactive Lisp and smaltalk environments, and fully interactive visual environments way before that (starting with sutherland's sketchpad).
- xixixao 12y agoIs there a video of the talk?
- seanmcdirmid 12y agoNo, I have some videos of the demos on you tube...see the bottom of http://research.microsoft.com/en-us/people/smcdirm/liveprogramming.aspx http://research.microsoft.com/en-us/people/smcdirm/liveprogr...
- nileshtrivedi 12y agoI'd like to see tests running as I type. Something like this: http://www.nileshtrivedi.com/livecoding_js_demo/ http://www.nileshtrivedi.com/livecoding_js_demo/
- SonicSoul 12y agoinsanely cool! but isn't this more like live code replay vs interactive development? I mean it looks like it's just running through code at constant speed. doesn't look like any development process i've ever seen unless it really is done by a robot