TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Choc: Bret Victor's 'Learnable Programming' implemented in Javascript

262 pointsby jashmennover 11 years ago

26 comments

dylanpyleover 11 years ago
For the interested: Jan Paul Posma has done some really awesome stuff with similar inspirations at jsdares (<a href="http://www.jsdares.com/" rel="nofollow">http:&#x2F;&#x2F;www.jsdares.com&#x2F;</a>) — try dragging around some of the variables in the brick game.
评论 #6461559 未加载
Ygg2over 11 years ago
Looks neat, but it&#x27;s very sluggish. I kinda wish that I could just edit the field and type a value myself. Also I somehow got: shift += --99<p>It went into minus and I couldn&#x27;t bring it back.
评论 #6458636 未加载
joeblauover 11 years ago
Incase you haven&#x27;t seen Bret&#x27;s talk about Inventing on Principle, here it is: <a href="https://vimeo.com/36579366" rel="nofollow">https:&#x2F;&#x2F;vimeo.com&#x2F;36579366</a>
评论 #6458945 未加载
评论 #6458758 未加载
zokierover 11 years ago
I love this. Sure it might be good for learning, but I really would like something like this for eg IPython. Something that allows me quickly to tweak some parameters until whatever I&#x27;m doing looks right. I&#x27;m really exited about the possibilities of python-javascript integration coming up in ipython 2.<p>Another project that this kinda reminds me of is LightTable. I haven&#x27;t followed how it&#x27;s shaping up, but the initial concept demo had some similar live editing stuff iirc.
评论 #6459036 未加载
pjdorrellover 11 years ago
I have created a Correspondence example for the first Javascript example at <a href="http://pdorrell.github.io/bracketup/correspondence/choc-example-1.html" rel="nofollow">http:&#x2F;&#x2F;pdorrell.github.io&#x2F;bracketup&#x2F;correspondence&#x2F;choc-exam...</a>.<p>There&#x27;s no real-time execution, but it does show a (more or less) word-to-word relationship between Javascript and English, which is an alternative (and complementary) way to &quot;explain&quot; code to someone learning Javascript.<p>Note that my English &quot;translation&quot; is totally hand-crafted. From the description, Choc allows hand-crafted translations of individual library functions, but applying those translations to a program still gives you a mostly automatic translation which is not as easy to understand as a hand-crafted translation would be.
评论 #6460769 未加载
marcamillionover 11 years ago
You know....I have wanted to build a Ruby tool like this, but just for iterators. I was going to call it &#x27;eye-terator&#x27;, because you can see within the iterator.<p>The idea being that you can step through the iteration (say an each, for, or any other iterator in Ruby) and see the state of all variables&#x2F;objects at each step in the iteration - and then also allow it to handle nested loops, blocks, etc.<p>I was thinking a simple site like the Ruby Regex Tool[1] would work wonders.<p>I just haven&#x27;t had the time to do something like that - I need to beef up my JS to execute that as elegantly as I would like. But I suspect that would be a very useful tool for Ruby devs.<p>#justsaying<p>[1] - <a href="http://rubular.com/" rel="nofollow">http:&#x2F;&#x2F;rubular.com&#x2F;</a>
评论 #6459397 未加载
SchizoDuckieover 11 years ago
Really very cool. I can&#x27;t wait to see how these interactive tutor things evolve. Programming is such an abstract thing for many people, something interactive like this is really powerful.<p>One suggestion: please add some form of code intelligence, so that when I type &quot;pad.&quot; a popup appears with all the public pad methods and their descriptors. That would encourage playing around even more imo.
评论 #6460458 未加载
makmanalpover 11 years ago
Reminds me a bit of <a href="http://pythontutor.com/" rel="nofollow">http:&#x2F;&#x2F;pythontutor.com&#x2F;</a>
gum_ina_packageover 11 years ago
I almost think something like this would be great in an IDE tailored for kids. Maybe something similar to the Scratch project.<p>However, I think that more visual debugging tools like this actually need to exist for professional developers as well. I think Bret would agree too.
评论 #6459290 未加载
评论 #6458751 未加载
mweinover 11 years ago
How is this any different from what John Resig already developed for Khan Academy&#x27;s CSE program? <a href="https://www.khanacademy.org/cs/ants/1744989397" rel="nofollow">https:&#x2F;&#x2F;www.khanacademy.org&#x2F;cs&#x2F;ants&#x2F;1744989397</a>
评论 #6459473 未加载
idProQuoover 11 years ago
I&#x27;m a teacher and my next term starts in one month. I&#x27;m retooling all my lesson plans right now to use this. Thank you so much, I&#x27;ll be following this project closely.
评论 #6462604 未加载
ichifishover 11 years ago
Last year (and presumably this year, if the government gets funded) DARPA &#x2F; US Dept. of Ed. had a Small Business Innovation Research grant solicitation out for the R&#x2F;R&amp;D of a hybrid videogame&#x2F;graphic novel to support CS education. Seems like something you might be interested in. <a href="http://ies.ed.gov/sbir/2014solicitations.asp" rel="nofollow">http:&#x2F;&#x2F;ies.ed.gov&#x2F;sbir&#x2F;2014solicitations.asp</a>
replicatorblogover 11 years ago
Really neat concept! The scrubber is a great way to get noobs to fully understand how the concepts actually execute. It&#x27;s like CodeCademy 102.
taericover 11 years ago
I can&#x27;t help but feel Logo[1] offered a better metaphor. Actually seeing an &quot;actor&quot; that will perform the actions being given is a huge benefit.<p>[1] <a href="http://en.wikipedia.org/wiki/Logo_%28programming_language%29" rel="nofollow">http:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Logo_%28programming_language%29</a>
评论 #6462560 未加载
lucabenazziover 11 years ago
Guys, this is great, thank you for putting your time into it. Any plans on creating courses based on this methodology? I found those on the Khan Academy very interesting but unless you follow the video tutorial, the console is not self explanatory as in your examples.
matttyover 11 years ago
This is really neat! Would be a great addition to a cs-tuition program for kids.
mekarpelesover 11 years ago
Nate and Ari know what they&#x27;re doing, great guys and great programmers.
shireover 11 years ago
I love this, I could see this being the next wave of programming tutorials, much simpler and fun way to learn how to program. Could you do one for Python? that would be just brilliant.
shurcooLover 11 years ago
This is really cool. And way more complete than I expected.<p>I&#x27;m working on similar things for Go in my spare time, but I&#x27;m not yet that close to having cool results.
评论 #6459810 未加载
sloanesturzover 11 years ago
Really solid way to learn about Programming. See each step and figure out how conditions work and _why_ things happen, not just _what_ happens. Awesome!
malkiaover 11 years ago
Awesome! Since I can&#x27;t even comprehend how would I start implementing this, and my head is already blocked trying to think about all edge cases :)
devinfoleyover 11 years ago
This is great! When can we expect the Voxel demo?
评论 #6458546 未加载
MrBraover 11 years ago
Dunno if something is wrong with browser or code, but the webgl demo totally wrecked my Firefox.
scep12over 11 years ago
This is so awesome. I couldn&#x27;t possibly think of a better IDE and&#x2F;or learning tool.
trombomulinover 11 years ago
whoa, interactive real time learning. This looks like has it some real potential
eagsalazar2over 11 years ago
Not to be a smartass but how is this different from hitting F10 over and over? (disclaimer I skimmed the article <i>very</i> quickly). I supposed it is nice that you can go backward also.