JavaScript Gets Visual With Waterbear
mikejuk writes "Waterbear, a new 'Scratch-like' visual programming language, made its debut at a JavaScript conference this week. Basically you can put together a JavaScript program by putting blocks together and entering some parameters. The output is JavaScript that you can use in other web pages. The Waterbear system runs in a browser, it's HTML5 based, and needs no installation. You can't help but think that this is the way all programming will be done in the future."
"You can't help but think that this is the way all programming will be done in the future."
I've heard this before about visual languages, in a couple of different field, but it never pans out. National Instruments tries it with LabVIEW, for example. Unfortunately, dragging around boxes and drawing wire is an even clunkier substitute for odd-looking but simple code like "x=power(10,2)". And as soon as it comes time to inspect code someone else has done, branches, loops, and all? It becomes a monstrous game of "Where's Waldo?".
It's an entertaining idea, but in the end when a written language becomes two cumbersome, one of two approaches are taken: you either come up with a framework of code that generates other code to make the writing easier, or the come up with a new language to handle the most common abstractions and make everything easier
I'm not a Javascript developer, but working in the game industry, I've been involved in the development of mission scripting technology for a number of different games. In some ways the problem is the same: The people you need to write the code aren't necessarily comp-sci grads. It needs to be simple, yet powerful. I've seen multiple variations of both visual and textual languages used to represent mission flow, and the big problem I've seen with visual programming is that once a particular scripting problem becomes even mildly complicated in terms of requirements, the resulting visual script becomes a spaghetti mess which is far harder to understand than the lines of equivalent textual code. There's certainly a place for visual programming, but it's generally limited to fairly simple problems.
Basically, visual programming doesn't scale well with the complexity of the problem it's trying to solve.
What if there was a language where each block was a character? then you could string them together to form more complex commands, variable names, and flow control! If you wanted to add the values in the A and B blocks, you would just put a + block between them. you could then use the assignment block to put the resulting value into the C block! you'd probably never need to learn more than 50 or so blocks and you could do just about ANYTHING with that!