Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming Education News

JavaScript Gets Visual With Waterbear 220

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."
This discussion has been archived. No new comments can be posted.

JavaScript Gets Visual With Waterbear

Comments Filter:
  • by ethan0 ( 746390 ) on Thursday May 05, 2011 @01:05PM (#36036988)

    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.

    • It might make an awesome shellscripting interface combined with a touchscreen, though.
      • Because a CPU cycle is a terrible thing to waste.
        • I was thinking a multitouch screen. I have five fingers one one hand, so assuming a "palette" of "things to do"/basic operations (piping, flow control) on a panel at the edge of the screen I could put five things together at a time. Making simple array/list-like objects would also be intuitive using drag-and-drop. You could perhaps also pipe output to different widget-like objects (meters, graphs) for visualization.

          You'd need/want to write shellscripts/wrappers for personalization though, but since that's
          • by h4rr4r ( 612664 )

            I bet I could still do whatever you were doing faster with a keyboard though.

            • I'm one of those people who mistype a lot. But still, I think having to type "names of things" is the part that itches for me. If i want to execute a desktop program I click on it's icon in my panel/dock. This is much faster and more convenient than opening a terminal and typing "programname & exit". But if I want to do a task like running a program and then open an instance of a program for every output file I have to open a terminal and type "program1 && for file in *.output123; do program2 $f
              • by h4rr4r ( 612664 )

                Not if you already have the terminal open. If I could totally get rid of the mouse I would have already.
                Practice will help you far more than any tool like this.

                So do your shell scripting in a tool meant for that, vim does text highlighting.

          • Oh, and obviously one of those widgets would open a terminal on my "main screen" and display output data in text form. If there was some possibility of rapidly constructing regular expressions visually for filtering that'd be nice, but it feels like that would be a task better done from the keyboard (and it's not like you could pre-construct regexps for every possible situation either.)
          • I was thinking a multitouch screen. I have five fingers one one hand, so assuming a "palette" of "things to do"/basic operations (piping, flow control) on a panel at the edge of the screen I could put five things together at a time. Making simple array/list-like objects would also be intuitive using drag-and-drop. You could perhaps also pipe output to different widget-like objects (meters, graphs) for visualization.

            You'd need/want to write shellscripts/wrappers for personalization though, but since that's something that I'd imagine most *nix users already do it wouldn't be that much of an inconvenience.

            A mouse will, of course, be much faster and less fatiguing. Why move your hand a foot across a screen when you can achieve the same thing without raising your entire arm (or if you keep your touchscreen in your lap, unhealthily lowering your neck) with a 1 cm mouse movement?

            • Because then you couldn't drag/drop several things at a time, or use multi-touch gestures to manipulate the "widget icons". It wouldn't really involve more movement than moving your right hand to the mouse and back.
    • by PJ6 ( 1151747 )

      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 lov

    • What about prototyping?

      Then again machine generated code generally sucks, necessitating a sane rewrite anyway.

    • by abucior ( 306728 ) on Thursday May 05, 2011 @01:51PM (#36037652)

      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.

      • I have seem some impressive diagrammatical programming systems before, but it is definitely tough to get right.

      • My last job was as a JavaScript/php dev for a call center. We needed to have work flow scripting and now.

        Another team got tasked with doing it visually.

        I got tasked with having it done now.

        Guess who's still working on their solution?

        The problem is the tasks themselves aren't that simple. When we broke down some of our more common calls, the resulting prototyped visios turned horribly complicated.

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

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

    • 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
  • Tool Wanted (Score:4, Funny)

    by Anne Thwacks ( 531696 ) on Thursday May 05, 2011 @01:06PM (#36037010)
    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!).
  • by LighterShadeOfBlack ( 1011407 ) on Thursday May 05, 2011 @01:08PM (#36037030) Homepage

    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.

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

    Maybe if all you ever do is create are throw away toy applications. But all the low-level stuff that apps like this are built on are still going to have to be done by someone other than a mouth breather that can't do anything but put some blocks together.

    • by h4rr4r ( 612664 )

      This 100times this.

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

      • 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.
        • by h4rr4r ( 612664 )

          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.

          • by Luyseyal ( 3154 )

            Yeah, and annoying as heck when you're in a cubicle farm with a hundred other people yelling the same crap into their computers. This is why I seriously doubt voice computing ever coming into mainstream use unless it conjures us all individual offices at the same time (yeah, right...).

            It might get rid of medical transcriptionists, though.
            -l

        • Easy to use is awesome, it's about being able to express very complex systems concisely. If that can be done graphically I would be stunned, but if it really can be done and is more efficient I learn it and use it with joy.
        • That's lame. Instead of a legal note pad, he should have used the green engineering paper.

        • On a Z80, I think you had only 1K so that should about fit on a piece of paper.

          And... 169, 0, 141, 208, 32, 141, 208, 33, 96

          I'm sure a lot of people will know right away what this does - it's sort of a Hello World for a famous chip :)

  • Reminds me of LEGO NXT-G
  • snooze button (Score:5, Insightful)

    by fred fleenblat ( 463628 ) on Thursday May 05, 2011 @01:13PM (#36037100) Homepage

    wake me up when waterbear is implemented in waterbear.

    • Did you try it? It seems like it must have been implemented in waterbear, because everything feels like it was thrown together and nothing seems to work.

  • Back in the early days of Java Beans, Sun had something similar that used this put-together-toys/plumbing&black-box model. It didn't last long. Anybody remember what it was called?
    • by LWATCDR ( 28044 )

      Hell AmigaVision and HyperCard did as wll. It is an old idea and works great for trivial programs. Get to a large program that is say over a thousand lines and then things get iffy.

      • by jandrese ( 485 )
        Hypercard is really not the same. I don't know about AmigaVision. When you got down to it, Hypercard still required you to enter text to get anything done.

        The problem with these visual programming languages is that they make the easy stuff super easy, but never figure out a way to make the hard stuff possible, so you run into roadblocks almost immediately when you start trying to use it for real.
    • by Nursie ( 632944 )

      We had an assignment to use that back at university in... 97? It was already discontinued at that point.

      It was called something like Java Cafe... there seems to have been a product called "Visual Cafe"... but I can't find any screenshots to confirm it.

      I think whatever it was may have been lost in the mists of time!

      • No no no. Visual Crappee was something else entirely. That was a product that was bought up (and scuttled with incompetence) by Symantec. What I was talking about was a Beans thing, definitely from Sun. Never got much past the public beta-2 stage.
    • by binkzz ( 779594 )

      Back in the early days of Java Beans, Sun had something similar that used this put-together-toys/plumbing&black-box model. It didn't last long. Anybody remember what it was called?

      I'm pretty confident it was called 'crap'.

  • ...in the future (Score:5, Insightful)

    by Ghostworks ( 991012 ) on Thursday May 05, 2011 @01:14PM (#36037118)

    "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'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)"

      Labview is the most gawdawful scourge released upon the computing world. Once I installed Labview on a machine with the defective Pentium chip running Windows Me. It disappeared instantly in a puff of smoke and b

    • Re:...in the future (Score:4, Interesting)

      by Homburg ( 213427 ) on Thursday May 05, 2011 @06:06PM (#36041874) Homepage

      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 [wikipedia.org]. 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.

  • I think I am with most slashdotters when I say this isn't for me. But its good to see people making these languages accessible for someone just starting out. My first programming language was a point-and-click drag-and-drop programming language, and I think they are really useful for teaching people the basics of computer programming. Now if someone is going to try and make their entire website like this...well good luck with that, I hope you like carpal-tunnel.

    • by rgviza ( 1303161 )

      > But its good to see people making these languages accessible for someone just starting out.

      When I was starting out, I tried to use languages that were "accessible". I didn't get very far.

      I threw that idea out the window and learned C instead. I learned how computers actually work. That was what made being a developer accessible.

      Making javascript easy by using shapes and "drag and drop" so someone fresh off the typewriter can program in it, isn't really going to do much good for anyone.

      1. they really ar

  • "You can't help but think that this is the way all programmng will be done in the future." mikejuk, are you trying to troll us? Visual programming tools have existed for years now, but they won't replace textual programming because they can't handle complex scenarios without making the interface uncomprehensible (check out Max MSP). Also visual tools are usually domain specific, while general purpose languages (like Java, Ruby, Python are not).
  • The website does not show right in FF.

  • by not-my-real-name ( 193518 ) on Thursday May 05, 2011 @01:20PM (#36037190) Homepage

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

    • Visual programming is a dream that will not die.

      Visual programming is to programming, what 3D is to displays. Hey maybe we can have 3D visual programming on a trusted platform touch screen desktop - in "HD". Yeah...No

    • True about visual programming, but I've always found it a great shame that Web never took off. You write your code as a story and then the compiler separates your explanation into documentation and the code into a compiled program. Way ahead of its time. One of Donald Knuth's ideas. See http://www.literateprogramming.com/ [literateprogramming.com] for more information.

      Heh - comparing waterbear to literate programming is sort of like comparing a donald duck comic with War and Peace, come to think of it :)

      • by lennier ( 44736 )

        You write your code as a story and then the compiler separates your explanation into documentation and the code into a compiled program.

        If that lights your fire, you should look at .

        The compiler is written in a variant of Web, too.

    • I remember IEF, later Cool:Gen, [wikimedia.org] that took flowcharts and generated the most hideous and confusing COBOL code I've ever seen. And considering how many godawful COBOL systems I've worked on I was impressed and horrified at the same time.

    • Visual Programming is more than a dream... its a reality... just not in the general-purpose sense.

      Plenty of domain-specific languages use a visual paradigm of stringing things together, and one of the most successful is LabVIEW.

      The key to VP is DOMAIN-SPECIFIC. In a general-purpose form, it just isnt workable.
  • by SanityInAnarchy ( 655584 ) <ninja@slaphack.com> on Thursday May 05, 2011 @01:20PM (#36037192) Journal

    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.

    • by Svartalf ( 2997 )

      Heh... It's bad enough when someone goes and does a "program" with Mathcad and expects to have it gracefully and efficiently handle HUGE datasets and things like it. This tends to be even worse when someone doesn't see this for what it is- which is a learning aid. I've seen all sorts of train-wrecks where someone thought they could do without a Software Engineer or Programmer and tried to wing it with something like this tool. For over 25 years I've seen this sort of stuff. COBOL was the first attempt

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

      I'd throw it on the pile of making code that my non-techie manager understands. The premise seems to be that the manager is smart enough, if only computer code didn't look like computer code. And maybe for the domain knowledge part, he is. But if he has a budget... well, let's just say that people might be motivated to slip something in under his nose. All the charts, user manuals and documentation in the world won't save said manager from disaster. If you don't believe me, ask Kazuo Hirai.

  • Oh boy, Javascript AND HTML5.
    I can't wait for my CPU to get waterbearded, desperately gasping for air.
  • by Homburg ( 213427 ) on Thursday May 05, 2011 @01:23PM (#36037246) Homepage

    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.

    • by Svartalf ( 2997 )

      That's far, far from true. And you know this to be the case. If it were so, Baen wouldn't be making money like they do.

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

    No, I am very sure it will not be.

    I once had to use a graphical system to create a build script for something. All the time during the time I used it, I was wishing it would be a normal, plain text, programming language instead. Working with the mouse does not allow those text operations you need like easily duplicating, search and replacing, etc...

    Plain text will always be more powerful than mouse. Try doing a regexp

  • They've been saying "this is the way of the future" with this sort of stuff for DECADES. In the end, you still need to express things in a full-on programming language to make things perform well.

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

    Only an idiot would not be able to help themselves think that all programming will be done like this in the future. Even most programming would be an incredible leap of logic and faith.

    Drag and drop programming is good for simplistic solutions to simplistic problems. It will never replace traditional programming for complex systems. I hate to say never, but when talking about a system like this, it just simply isn't designed for doing anything complex, because the moment a program gets complex to a syst

  • by shadowrat ( 1069614 ) on Thursday May 05, 2011 @01:51PM (#36037662)
    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!
    • by Speare ( 84249 )

      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 wi

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

    Well, I guess you might not be able to if you're retarded.

    This visual programming crap crops up from time to time partly because so many people are brainwashed by that crap about a picture being worth a 1000 words. Draw me a picture of "misguided". We give children picture books while they are learning to read - they find them more intuitive than regular books, but that doesnt make them better.

    Programming is done wi

  • ... I wonder if programming will be as easy and done perfectly by everyone just as Windows is administered as easy and perfectly compared to command line on Unix systems ...

  • ... will generally involve the deployment of known design patterns, and then filling in the application-specific details for those patterns, combining them in innovative ways to create entire applications. It would not be entirely dissimilar from this. Programmers would have more fine tuned control by being able to expand the blocks that make up the pattern, but in general I'm pretty sure you can expect this sort of thing to become the norm, eventually.

    Coding, as we typically do it today, would not gen

  • Ask anyone who has ever tried to wire two programming languages together: the problem is that there is no coherence in the semantics of how we pass things around between modules.

    Thanks to loose programming techniques with languages like C and C++, there is no way to determine the semantics of a function call by looking at its signature. 'const' is a lame half-hearted attempt to help but it's totally inadequate.

    Until we solve this problem we will never have successful visual programming aids or even much in

  • The first thing I noticed upon loading the page, was that fuzzy turd thing that I can only guess is the Waterbear logo.

    All in all, this looks interesting but the UI needs a serious makeover. I flipped through the element library and it was not quite obvious how things worked. Yeah, I get the puzzle piece concept, but it needs more visual feedback if this is truly to become an idiot-friendly scripting tool. If I'm dragging an object, show me right away which targets would be valid to plug it, instead of w

  • They are called ASCII characters and depending on what environment you are using, these little blocks have well-defined rules as to which blocks you can plug together and what the results will be if you make particular patterns out of the blocks.

  • In the year 3000 computers will write their own code and humans will be obsolete.

  • I went into programming from a liberal arts background. I majored in Communication, minored in English, was a technical writer before becoming a programmer. When I started learning programming, I was surprised by the similarities with good English writing:

    • 1. There are infinite ways to say it
    • 2. Shorter is better
    • 3. Writing is rewriting. Professionals rewrite their stuff eight or nine times before giving it in to the editor
    • 4. Newbies are drawn to exotic vocabulary and long-winded sentences, but mature writers
  • ... Google App Inventor.

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

    Every decade or so, someone comes up with "visual programming" or a "programming system that anyone can use" and claims it will make programmers obsolete or some such other nonsense. Yet here we are, in 2011, still programming in C (and assembly), and I can't name a single successful "visual" programming environment. The reasons are legion; I'm not going to rehash them here (especially since others have), but I can tell

  • that you were told that some virtual LEGO would be the programming language of the future about 30 times the last two decades, alone.

    That is, if you are old enough.

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

    I hate statements like that.

One man's constant is another man's variable. -- A.J. Perlis

Working...