This is why it's so shortsighted to say things like: "computers are so fast nowadays that everyone should be using GC/dynamic-typing/etc." A person who says this is limiting their thinking to the way we do things now. Parsers may not be on the critical path of most compilers, but if you could run a parser/linter/static-analyzer on every keystroke, you could start doing things that weren't even possible before.<p>We'll <i>always</i> be able to find ways to use extra CPU cycles to make things more pleasant to use. We'll add more pixels or decrease response times or do deeper or more frequent analysis. There will <i>never</i> be a time when computers are "fast enough" that low level languages and programming for performance become obsolete.
You've got to have big ego to write, that Bret Victor's innovative ideas are not "entirely abstract art house visualization nonsense". BV's demos set the direction in which the whole field of working with ideas, including designers and programmers should be going. In 2012 programmers shouldn't have to be really good at running the code in their heads while writing it.
Better to just link to Bret's work than some commentary that doesn't add much to the conversation.<p><a href="http://worrydream.com/" rel="nofollow">http://worrydream.com/</a>
A tangent, but I like the fact that more and more people are seeing BV's video and getting inspired by it. It's made a big impact for me, and I'm seing a steady stream of folks referencing it almost a month after it was given.<p>What is just as interesting is that I've also heard incredibly negative reactions to his talk, which is also telling.
The game demo Bret uses is based on time mechanic concepts developed in the 2009 game Braid by Jonathan Blow.<p>I am not a gamer but I downloaded the game over the weekend because of the talk, and highly recommend it, it's a real work of art with serious production values, and easy to download for Windows, Mac and Linux.<p><a href="http://en.wikipedia.org/wiki/Braid_(video_game)" rel="nofollow">http://en.wikipedia.org/wiki/Braid_(video_game)</a>
<a href="http://braid-game.com/" rel="nofollow">http://braid-game.com/</a><p>It is very inspiring to see such creativity and the courage to express it from people like Jonathan and Bret.
Am I the only one who feels like the game demo was so awesome that it overshadowed some of the other parts of the presentation, parts that were just as interesting yet probably more feasible? I would kill to have just the algorithm evaluator part become reality.
Something I would love to have is a debugger for an interpreted language which visualises the program's state as a graph, say, and you can wind time forward and back. Then, as you make changes to the code the visualisation updates according to what the program's state would have been at this point in the program had it been running the updated code. To me that would feel like magic.
canvas demo from Tobias Nurmiranta<p><a href="http://tnlogy.github.com/tnlogy/" rel="nofollow">http://tnlogy.github.com/tnlogy/</a><p>( over the number CTRL + Left Click )
I think this also has applicability to other domains where quick iterations can be extremely useful--for example, testing data modelling--unfortunately, a lot of codes are too computationally expensive to run in such an interactive fashion...
I build an interactive javascript learning website. <a href="http://learnjs.info" rel="nofollow">http://learnjs.info</a>
tries to help see how code runs and fails