Slashdot Mirror


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."

23 of 220 comments (clear)

  1. Programming in the future by ethan0 · · Score: 3, Insightful

    You can't help but think that this is the way all programmng will be done in the future.

    Actual programming will never be done in this ridiculously simplistic, underpowered manner.

    1. Re:Programming in the future by h4rr4r · · Score: 2

      Try it and you will find why they abandoned it. Any decent size application become incomprehensible.

    2. Re:Programming in the future by PJ6 · · Score: 2

      I agree with you. I'd hate using this to code. Which is why all over-engineered projects will some day do it this way.

      You know the ones I'm talking about - where you cross a Masters in CS with a jackass, subtract all common sense, give him the title of "Architect", and a budget roughly 20 times what the project should really cost.

      Not only will all programming will be in diagram form, but the software will be shitty and nobody will like using it. But managers who don't code (but tell others how to) will love it because it "simplifies" programming, so much that they can sub almost everything out to India, even though it doesn't simplify it at all given the ugly, complicated, roundabout hacks required to accomplish nearly anything outside of a small, standard repertoire of patterns.

      But on the bright side, it will actually provide a rather useful and appealing visual method of tacking unit tests onto the workflow.

    3. Re:Programming in the future by kwoff · · Score: 2

      There's no visual do-it-yourself heart transplant tools either. For a reason

      The primitive programming tools available make it too difficult to implement?

    4. Re:Programming in the future by abucior · · Score: 5, Insightful

      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.

    5. Re:Programming in the future by ObsessiveMathsFreak · · Score: 2

      Actual programming will never be done in this ridiculously simplistic, underpowered manner.

      Clearly, someone's never worked on a Visual Basic project.

      --
      May the Maths Be with you!
    6. Re:Programming in the future by binford2k · · Score: 2

      Just like there are no do it yourself books & tools & diagnostic equipment for casual drivers to work on their cars at home! Oh,... wait...

      Ok, then. Just like there's no magic box in casual cooks kitchens to do things like cook bread or rice or whip up super quick meals! Oh,... wait...

      I know. You want to feel special. But the natural progression of things is to put capabilities in more and more people's hands. You think you're a hotrod because you can fire up vim. 30 years ago, you would be considered the n00b and the old greybeards were decrying the modern babysitting tools like higher level languages and even compilers. Yes. A compiler was considered a crutch.

      Time moves on. Hop on the wagon or be left behind.

    7. Re:Programming in the future by gman003 · · Score: 2

      Fully agreed. I used a C-based "visual programming" system in high school for robotics programming. It wasn't the fact that the resulting code was slow - even though it was being run on an embedded processor (10 MIPS, 1k RAM, 32k Flash) that made it terrible. It was the fact that programming in it was slow as fuck. It would take several minutes to make a simple control loop. You couldn't define your own functions. You couldn't do for() loops or shortcuts like +=. Even trying to copy-paste code was difficult, since you could only copy one line of code at a time. And it wasn't even any easier - each block was just a line of C code, with all the arguments and complications still visible. Not any easier for newbies, and much, much harder for experts.

      Eventually, I got frustrated enough with it that I found a workaround to actually just write the fucking C code, then feed it to the compiler. Infinitely faster to program - and as we all know, "programmer time" is the most expensive time there is. I even found ways to do things the GUI-based interface didn't allow, like using multiple remote controllers.

      Any such GUI-based programming is going to fall into the same problem - typing is far faster than dragging a block out, clicking all the drop-down menus to get the right arguments, then dragging a connecting line out. It's the same reason most of us prefer Linux over Windows for servers - when everything is scriptable and text-based, you can work faster than any GUI.

  2. Tool Wanted by Anne+Thwacks · · Score: 3, Funny

    I am still waiting for a development tool that allows me to write PHP by throwing cowpats at the screen with my WiiMote. (It wont degrade the quality of my PHP code, I promise, but I cant speak fo others!).

    --
    Sent from my ASR33 using ASCII
  3. Only sometimes... by LighterShadeOfBlack · · Score: 4, Funny

    You can't help but think that this is the way all programmng will be done in the future.

    Yes, occasionally, when I'm at my most cynical.

    --
    Spelling mistakes, grammatical errors, and stupid comments are intentional.
  4. Re:Riiiiight by h4rr4r · · Score: 2

    This 100times this.

    No serious software can be written this way. Hell, shell scripts should not be written this way.

  5. snooze button by fred+fleenblat · · Score: 4, Insightful

    wake me up when waterbear is implemented in waterbear.

  6. ...in the future by Ghostworks · · Score: 5, Insightful

    "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

    1. Re:...in the future by Homburg · · Score: 3, Interesting

      I've heard this before about visual languages, in a couple of different field, but it never pans out.

      We could see these visual programming systems as versions of the "visual languages" that preceded full writing systems. Very early scripts used ideograms, symbols directly representing ideas. These were replaced fairly early by more abstract systems, where the symbols represented words or sounds, which allow for much more sophisticated communication. These visual programming systems seem to want to take us back about 6000 years.

  7. Re:Riiiiight by Maximum+Prophet · · Score: 2

    Damn straight. I once saw a guy write a program composed of Z80 opcodes onto a legal sized note pad. He then hand assembled the code, copied the bytes into a hex editor, then sent the code to someone else to burn into a PROM. That's the way all coding should be done.

    Oh, and Get Off My Lawn, ya lousy kids.

    --
    All ideas^H^H^H^H^Hprocesses in this post are Patent Pending. (as well as the process of patenting all postings)
  8. The dream that will not die by not-my-real-name · · Score: 4, Interesting

    Visual programming is a dream that will not die. Those of us who've been around for a while remember flowcharts. Everybody was suppose to use flowcharts. I think that there were even programs that would turn flowcharts into code (and vice versa). How many people do you know who do much flowcharting now? Years ago, Fred Brooks addressed this issue and pointed out that software is very difficult to visualize.

    The latest iteration of the idea is "Model Driven Architecture" which is suppose to turn UML (or BPMN) diagrams for a system into code. There are some people who claim some success with this is limited areas. The truth is somewhere between the unbridled optimism and luddite pessimism.

    The thing is that programming is hard work and while these tools are helpful, you still need to think about programming. There is no magic bullet (to quote Brooks again).

    --
    un-ALTERED reproduction and dissimination of this IMPORTANT information is ENCOURAGED
  9. Can't help but think what now? by SanityInAnarchy · · Score: 4, Insightful

    Visual programming has been done before, and it's never really caught on. Visualizations can help, but the advantages of working with raw text as a native format are too many. Just off the top of my head:

    Comments? On the off-chance that I look at one of these visual charts and can't figure out WTF it's trying to do, or why this particular block is wired where it makes no sense for it to go, how might the original programmer tell me? Maybe it's a browser-specific hack, maybe it's legacy cruft that we mean to get rid of eventually... And how do I connect to some existing code someone wrote?

    Speed? If I can't do this with a keyboard, it probably already loses. Even in JavaScript, is this going to be quicker than a decently capable typist hacking it together by hand?

    Version control? Even something as simple as a diff -- how does that work in this system? Decades of research have gone into tools to work with text -- Git is awesome -- can I bring any of that stuff to bear with this system? If not, what do you have to replace it, and how does it measure up? This was my biggest complaint against systems like Squeak -- I think the idea of changing code live in the system and taking snapshots is awesome, but how do I wire it up to something like Git?

    Expressiveness? Are there limits to what I can build with this and have it look sane? With text, I can come up with whole new domain-specific languages to suit the task at hand -- there are all kinds of ways of abstracting away complexity. What does this give me?

    I could go on, and these same observations have been made before. It really seems like the attempts to make programming more visual are aimed less at making experienced programmers more productive, and more at making things easier on beginners, or worse, non-programmers. I'm all for making things easy on beginners, so long as they eventually outgrow this sort of crutch, but enabling non-programmers to write programs seems to always end in tears, in entire businesses run on Excel + VBA written by a business type. Understand, I'm not trying to build an ivory tower here, ensure job security, or anything of the sort -- by all means, if businesspeople want to learn to program, go ahead -- but attempting to dumb things down to where they can write programs without really understanding fundamental things about programming is giving us the worst of both worlds.

    Regardless, no, I can't help but think that most programming will never be done this way.

    --
    Don't thank God, thank a doctor!
  10. Images are always better than language by Homburg · · Score: 2

    You can't help but think that this is the way all programmng will be done in the future.

    It's true. Just like how, after the invention of the comic book, no one writes prose any more.

    1. Re:Images are always better than language by h4rr4r · · Score: 2

      Baen must not have a book called "The idiot's guide to sarcasm".

  11. Re:Riiiiight by h4rr4r · · Score: 2

    Pathetic, I once made a fully functioning system of street light controls out of nothing but logic gates, switches and wire.

    That is not the point though, the point is visual programming is a total mess once you get to anything complicated. It is like voice input, it only sounds cool. In practice it is slower, less precise and a real pain for other people to deal with later.

  12. yeah, the future by shadowrat · · Score: 5, Funny

    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!

    1. Re:yeah, the future by Speare · · Score: 2

      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!

      Your point is well-received. ASCII is very expressive with only a few characters. But you point out that it's really just a slope... and a slippery slope at that. Any Turing-complete language will do any computational task that any other Turing-complete language will do. How about fewer characters than 50? See Brainf*ck.

      --
      [ .sig file not found ]
  13. 100% accurate by Kupfernigk · · Score: 2
    Too right. And, in support, I started off writing machine code in the 60s...machine code, not assembler...and migrated so that nowadays I use Netbeans and Visual Studio because it gets the job done - many times faster, many times more reliably. I know other people of my age who, as far as the technology goes, are basically stuck in the punchcard era; they have become computer users and they simply cannot understand the decisions that have to be made in product design.

    The secret of good tools is that they hide the problems by addressing them invisibly, not by pretending they do not exist.

    --
    From scarped cliff or quarried stone she cries "A thousand types are gone, I care for nothing, no not one."