digitalmars.D - Bret Victor - Inventing on Principle
- Regan Heath (6/6) Nov 19 2012 Hope no-one minds..
- Walter Bright (2/5) Nov 19 2012 Can you give us a summary or synopsis?
- bearophile (24/26) Nov 19 2012 It's not easy to summarize it. Many talks are little more than
- Andrei Alexandrescu (3/9) Nov 19 2012 "Worth watching."
- renoX (11/22) Nov 20 2012 Usually I dislike watching videos instead of slides, but this
- Regan Heath (10/13) Nov 20 2012 Agreed. Imagine if the magical numbers were all defined with CONSTANT's...
- Walter Bright (5/14) Nov 20 2012 Ok, I watched it.
- Regan Heath (49/55) Nov 20 2012 Sorry, I really should have done that. As bearophile says it's hard to ...
- Regan Heath (5/6) Nov 20 2012 s/IDEA/IDE
- Paulo Pinto (8/71) Nov 21 2012 The sad part is that many of these ideas were already available,
- John Colvin (2/7) Nov 20 2012 Original on vimeo: http://vimeo.com/36579366
- Nick Sabalausky (18/25) Dec 02 2012 That is really cool. It does wonder offtopic and get a little
- SomeDude (2/7) Dec 02 2012 Yeah, this talk is quite famous.
- Tommi (3/3) Dec 03 2012 I found this article (Learnable Programming) by Bret Victor
Hope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DII R -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Nov 19 2012
On 11/19/2012 6:26 AM, Regan Heath wrote:Hope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DIICan you give us a summary or synopsis?
Nov 19 2012
Walter Bright:It's not easy to summarize it. Many talks are little more than the slides they are based on, but this talk contains lot of graphics and animation, it's really a talk that you have to see if you want to appreciate its contents, because it's mostly about visual ideas. It discusses about using visualization to help design code and program, and more. This talk is now famous, it was a start of a little "revolution". After that talk many developments have happened. Maybe even the future LightTable IDE was inspired a bit by it. I have seen Khan and his academy software follow some of the ideas contained in that talk to teach JavaScript, and then I have seen another talk explain similar ideas better, and then other people criticize it a lot. In the end part of me likes those ideas, and part of me doesn't like it. To teach things like StarLogo are in my opinion better for newbie programmers, but that talk is not just about new programmers. Some of those ideas are cool. I have never linked this talk or the successive developments in this newsgroup because it being good stuff to know for every programmer, it's not much related to D and the not-interactive style of programming it asks for. Bye, bearophilehttp://www.youtube.com/watch?v=PUv66718DIICan you give us a summary or synopsis?
Nov 19 2012
On 11/19/12 7:50 PM, Walter Bright wrote:On 11/19/2012 6:26 AM, Regan Heath wrote:"Worth watching." AndreiHope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DIICan you give us a summary or synopsis?
Nov 19 2012
On Tuesday, 20 November 2012 at 04:30:19 UTC, Andrei Alexandrescu wrote:On 11/19/12 7:50 PM, Walter Bright wrote:Usually I dislike watching videos instead of slides, but this time I agree. I think that this video is about giving instantaneous feedback to users and what they can gain from it: so slides aren't "good enough" here. That said, when he plays with numeric values in the code, I can't help thinking: this is wrong there shouldn't be "magical" numerical value in the code as this is not maintainable/readable. renoXOn 11/19/2012 6:26 AM, Regan Heath wrote:"Worth watching." AndreiHope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DIICan you give us a summary or synopsis?
Nov 20 2012
On Tue, 20 Nov 2012 09:54:43 -0000, renoX <renozyx gmail.com> wrote:That said, when he plays with numeric values in the code, I can't help thinking: this is wrong there shouldn't be "magical" numerical value in the code as this is not maintainable/readable.Agreed. Imagine if the magical numbers were all defined with CONSTANT's as any good programmer would do. In that case clicking one and dragging the slider would by default, change the value for all uses of CONSTANT. Alternately, there could be a hot-key which defines a new CONSTANT with the new slider value for that single usage. All doable with a sufficiently clever IDE. R -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Nov 20 2012
On 11/19/2012 8:30 PM, Andrei Alexandrescu wrote:On 11/19/12 7:50 PM, Walter Bright wrote:Ok, I watched it. I thought his principle was a great one, although it's pushing on a well-known idea that the faster the feedback cycle on a design, the more you can "play" with the design to optimize it.On 11/19/2012 6:26 AM, Regan Heath wrote:"Worth watching."Hope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DIICan you give us a summary or synopsis?
Nov 20 2012
On Tue, 20 Nov 2012 00:50:42 -0000, Walter Bright <newshound2 digitalmars.com> wrote:On 11/19/2012 6:26 AM, Regan Heath wrote:Sorry, I really should have done that. As bearophile says it's hard to summarise, but as Andrei mentioned it's well worth watching. It is essentially about making it easier to "create" things. Finding areas where the process of creating something is difficult and analysing why. In most of the cases he shows the problem is a detachment between the method of creation and the result. Like code for example, we write code but get no immediate feedback of our changes. Instead we have to compile, <insert steps for copy/installing/etc the result>, then run the program to see the results. He shows an interactive IDE which displays the program output side by side with the code, in this case a game with a character that jumps about the place. He can click on a variable and alter it's value with a slider and see immediate feedback. There are also some neat tools for manipulating time allowing you to see the result of changes over time and tweak values to exactly those values you want/need. (This example reminded me of the game Braid). Another example is of defining a new algorithm. In this example the IDE asks for example input values, and then it shows the variables of the algorithm at each stage as the programmer defines them. It shows the values for each iteration of a loop, and allows the coder to test various input and actually "see" the results rather than having to imagine them all in their head. Both of these are examples of where creation is hindered by the programmer having to visualise the result as they design - something all good developers can do well, sure, but why force ourselves to pretend to be a computer when we have a computer sitting in front of us which is infinitely better at it than we are? How many times have we sat there and written the content of a string out on paper, labeled the indexes, drawn pointers to characters, etc in order to design an algorithm that deals with strings. I still do this fairly frequently, even when I'm confident sure I've got it right, simply to verify my work and check for edge cases. One further example shows him designing an animation in the conventional way using key frames and then again using a new system of touch based commands. This example was born out of the frustration he experienced spending a whole day animating a leaf falling from a tree in a natural way (using key frames) - a task he accomplishes in less than 2 minutes as you watch using his new system. A killer IDEA like those shown should be doable in D, for D. We have a debugger (or code that can debug D) and the compile time speed of D is such that on-the-fly compile and display shouldn't be prohibitively slow. All it needs is someone motivated and perhaps easier/better linking between the required parts i.e. D front end, compiler, debugger, GUI toolkit.. Regan -- Using Opera's revolutionary email client: http://www.opera.com/mail/Hope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DIICan you give us a summary or synopsis?
Nov 20 2012
On Tue, 20 Nov 2012 12:44:51 -0000, Regan Heath <regan netmail.co.nz> wrote:A killer IDEA ...s/IDEA/IDE -- Using Opera's revolutionary email client: http://www.opera.com/mail/
Nov 20 2012
On Tuesday, 20 November 2012 at 12:45:46 UTC, Regan Heath wrote:On Tue, 20 Nov 2012 00:50:42 -0000, Walter Bright <newshound2 digitalmars.com> wrote:The sad part is that many of these ideas were already available, to certain extent, in the Smalltalk and Lisp environments. Now, like with many other concepts, we are kind of rediscovering the principles. -- PauloOn 11/19/2012 6:26 AM, Regan Heath wrote:Sorry, I really should have done that. As bearophile says it's hard to summarise, but as Andrei mentioned it's well worth watching. It is essentially about making it easier to "create" things. Finding areas where the process of creating something is difficult and analysing why. In most of the cases he shows the problem is a detachment between the method of creation and the result. Like code for example, we write code but get no immediate feedback of our changes. Instead we have to compile, <insert steps for copy/installing/etc the result>, then run the program to see the results. He shows an interactive IDE which displays the program output side by side with the code, in this case a game with a character that jumps about the place. He can click on a variable and alter it's value with a slider and see immediate feedback. There are also some neat tools for manipulating time allowing you to see the result of changes over time and tweak values to exactly those values you want/need. (This example reminded me of the game Braid). Another example is of defining a new algorithm. In this example the IDE asks for example input values, and then it shows the variables of the algorithm at each stage as the programmer defines them. It shows the values for each iteration of a loop, and allows the coder to test various input and actually "see" the results rather than having to imagine them all in their head. Both of these are examples of where creation is hindered by the programmer having to visualise the result as they design - something all good developers can do well, sure, but why force ourselves to pretend to be a computer when we have a computer sitting in front of us which is infinitely better at it than we are? How many times have we sat there and written the content of a string out on paper, labeled the indexes, drawn pointers to characters, etc in order to design an algorithm that deals with strings. I still do this fairly frequently, even when I'm confident sure I've got it right, simply to verify my work and check for edge cases. One further example shows him designing an animation in the conventional way using key frames and then again using a new system of touch based commands. This example was born out of the frustration he experienced spending a whole day animating a leaf falling from a tree in a natural way (using key frames) - a task he accomplishes in less than 2 minutes as you watch using his new system. A killer IDEA like those shown should be doable in D, for D. We have a debugger (or code that can debug D) and the compile time speed of D is such that on-the-fly compile and display shouldn't be prohibitively slow. All it needs is someone motivated and perhaps easier/better linking between the required parts i.e. D front end, compiler, debugger, GUI toolkit.. ReganHope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DIICan you give us a summary or synopsis?
Nov 21 2012
On Monday, 19 November 2012 at 14:27:51 UTC, Regan Heath wrote:Hope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DII ROriginal on vimeo: http://vimeo.com/36579366
Nov 20 2012
On Mon, 19 Nov 2012 14:26:59 -0000 "Regan Heath" <regan netmail.co.nz> wrote:Hope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DII RThat is really cool. It does wonder offtopic and get a little pretentious near the end, but very interesting overall. The game example is something that, more or less, exists already. It has some downsides, but certainly a useful tool. The animation example would definitely need some more precise abilities added (such as timelines for all the movement/rotation/etc shown as editable line graphs) since "performance" is a good thing but also has drawbacks. But it definitely looks like a great tool to be added to a more fully-fleshed animation toolbox. The multi-touch aspect is gimmicky and doesn't add anything - and could even get in the user's way. So I would design it so if you didn't want to hold the item button on the left, you could just tap it to select it. But otherwise, definitely some good stuff. The non-game code example was definitely the most original and eye-opening one, IMO. Also probably the hardest to implement, but definitely something I'd like to see become common.
Dec 02 2012
On Monday, 19 November 2012 at 14:27:51 UTC, Regan Heath wrote:Hope no-one minds.. I stumbled across this video which I thought was pretty darn cool: http://www.youtube.com/watch?v=PUv66718DII RYeah, this talk is quite famous.
Dec 02 2012
I found this article (Learnable Programming) by Bret Victor interesting:
Dec 03 2012