Go compiles so fast, would be nice to have it available as a scripting language in the browser. But that's me superficially thinking, there is probably a lot of various complications and security issues.
Wonder why this was hard to imagine. x+y is constant along diagonal lines, and any given bit flip will happen every 2^b pixels. Multiplication may be a little harder but still it's a quick way to paint contour lines.
> I’m kind of amazed at how fast Javascript executes, at least in Chrome. I’m iterating over 16,384 pixels every time you hit the button, and there’s no perceptable delay at all, at least on my Macbook.
You have a computer that can execute 3 billion synchronous instructions per second* . Suppose that javascript was extremely inefficient (it's not), and required 10,000 machine instructions to iterate through the loop and set a pixel. The time to execute 10,000 machine instructions is about 50 milliseconds. I found that I didn't notice a delay until about 200 milliseconds (modifying the code with a setTimeout function). Such excessive waste would not be noticeable to a casual observer (you can run randomized A/B tests on yourself to investigate this :) ).
The work that has gone into v8 is very impressive. Arguably, however, the sheer brute force power of modern CPU's is more so. Don't underestimate it. :)
* Give or take. Setting pixels is an offscreen operation and should incur minimal I/O and scheduling overhead.
> I’m kind of amazed at how fast Javascript executes
I'm a little surprised by the author's surprise. I am on an old 1GHz laptop right now, and on both firefox and chrome it runs so fast there is no noticeable delay between clicking and seeing a result.
Which seems reasonable because it's doing a pretty small computational loop that browsers are quite good at optimizing these days. Browsers have been competing on exactly these things for years.
I really like the outcome with multiplication: http://play.golang.org/p/vF9aq6xF10