Beautiful and inspirational, and yet... Sometimes becoming able to hold the 'invisible state' in memory is the skill to learn. Consider the 'dual N-back' drilling which seems to improve working memory, and then also (by some studies) other testable fluid intelligence. The whole point is holding more and more hidden state in your mind. (To 'show the state' would defeat the purpose of the game.) Similarly, sometimes st…
Bret Victor: Learnable Programming
151–160 of 193 posts
Re: Bret Victor: Learnable Programming
#152Yes! This reminds me of what Rich Hickey has been enlightening the world about as well [1]. Bravo Bret! Thank you for writing and sharing these ideas.
Re: Bret Victor: Learnable Programming
#153Earlier quoted context omitted.
Why do systems need millions of lines of code? If you can build a complete operating system + major programs in 20,000 lines of code, what system should need a million? http://www.vpri.org/pdf/tr2008004_steps08.pdf (They're not quite down to 20,000 yet, but they're getting there)
No one said they need millions lines of code. However a large "enterprise" application have a way of growing like cancer. This tool won't be particularly useful for such codebases.
Re: Bret Victor: Learnable Programming
#154Earlier quoted context omitted.
But that aspect of Self comes mostly from Morphic. Anyways, Self/Morphic were a huge inspiration on my own work. There are deeper distinctions between textual and visual; think a Van Goh painting vs. a book by Steven King. They say "a picture is worth a thousands words," but actually, the worths are not very comparable. Text is much better at expressing abstractions than visuals are, which is why most VPLs mixin some…
Yes we are probably talking past each other here a little, but I enjoy and respect your work on SuperGlue. Not having used Self I don't understand the distinction between it and Morphic. There clearly is a distinction between textual and visual, but at the same time they support one another: text is made out of pictures, pictures can be described with text (e.g. svg). For me the aim of visual programming language res…
Re: Bret Victor: Learnable Programming
#155There's already two comments here about being "harsh" or "ungracious" towards Khan Academy which is ridiculous. The usual HN article that contains criticisms is usually limited to that. Some rant that took 10 minutes to write and contains nothing constructive. Bret Victor put an insane amount of time into this (I can only assume) and is truly advancing mindsets about programming tools and learning. We should all be t…
I just found the analogy of a microwave with blank buttons turned me off as being an unnecessary rhetorical straw man. I know what fill means, and I know what ellipse means, and I know what numbers are. Discovering what those words mean in a different context is not analogous to blank buttons.
Re: Bret Victor: Learnable Programming
#156But it does nothing about what's below, what actually makes that GUI possible, backend and all that.
In that sense, I believe Bret is addressing something on another level entirely, something that _is_ the future, i.e. a dev environment for people who design stuff.
Not a failed half-step up from C, like java,lisp, or all the existing programming language.
An unbreakable waterproof abstraction that will enable the less skilled to create awesome stuff.
Then we will be able to take all the programmers, and send them to a layer where they belong, instead of leaving them to rot in a system that is both inadequate for speed and inadequate for productivity.
Re: Bret Victor: Learnable Programming
#157If some kids really need all these hoopla to start programming I wonder if they should really try...
Re: Bret Victor: Learnable Programming
#158If you really want to label: ellipse(65,50,60,60) Wouldn't using something like Python's keyword arguments better than some external labelling? ellipse(radius_x=65, radius_y=50, center_x=60, center_y=60) More characters but these are just training wheels. Once the learner understands the basics you can do away with them. API's and libraries should be designed to allow both forms. Everyone is a beginner with some aspe…
I think Bret made it pretty clear that these ideas are not training wheels. There's a section titled "These are not training wheels". The goal is not to do away with them but to make programming about them.
My point was though that allowing keyword and non-keyword forms is good for everyone. If you can't remember the parameter order you can just use the keywords (assuming the naming is memorable enough - which might actually be a can of worms in itself)
Re: Bret Victor: Learnable Programming
#159Re: Bret Victor: Learnable Programming
#160Earlier quoted context omitted.
I agree, and would add that Brett Victor is pointing out what he perceives to be valid flaws with the method Khan Academny uses to teach programming (live coding environments, javascript, and processing languages, which other teaching products happen to use as well). He is not criticizing Khan Academy as a whole directly, as the quality or lack thereof of Khan Academy itself is never brought into question or even dis…
> Brett Victor is pointing out what he perceives to be valid flaws Where are the numbers? Where's the testing? Where's the proof that his proposed changes are more effective in teaching a new programmer? Validity comes through numbers, proof, and evidence.