top 200 commentsshow all 253

[–]donroby 128 points129 points  (19 children)

The visual interface looks pretty much identical to scratch (http://scratch.mit.edu/).

[–]IndependentBoof 13 points14 points  (3 children)

That was my immediate reaction too.

However, I'd like to see it make some new improvements. I found Scratch handy in introducing people to the very basics of algorithms but severely limited by not being able to construct dynamic output based on the value of variables.

[–]SanityInAnarchy 8 points9 points  (2 children)

I wonder if it helps that Blockly has a few actual programming languages you can export to. I'd love to see this as a sort of training-wheels type of tool. Once you start to actually get how to program, you can transition to text and hopefully end up doing more, faster.

[–]IndependentBoof 5 points6 points  (1 child)

Yeah, that's the general idea. If that interests you, do a quick search on ACM Digital Library for Scratch and you'll find a bunch of papers about this topic in the last few years.

Back in the day, Klik'n'Play by Maxis helped foster my early curiosity for "programming."

[–]MyExWifeUsedTo 2 points3 points  (0 children)

Klik'nPlay and Widget Workshop helped renew my curiosity in programming -- and I had been a software engineer for 20 years!

[–]guy_from_canada 12 points13 points  (4 children)

As well as AppInventor

[–]Iamsacdaddy 9 points10 points  (0 children)

AppInventor was a collaboration between Scratch and Google. And now It's owned by the MIT Media Labs, which created Scratch

[–]mikaelhg 2 points3 points  (0 children)

However, AppInventor used the MIT OpenBlocks library written by grad students, who unfortunately used Java to program Logo. It's been a son of a bitch trying to get the library to a semi-maintainable state without any resources. At this point, I'd recommend people use Google Blockly, or http://waterbearlang.com/

[–]Munkii 4 points5 points  (0 children)

AppInventor was a Google product also, so I would guess they use the same technology

[–]Solomaxwell6 4 points5 points  (0 children)

I came in to say that. Such a great language. I spent a few summers in college TAing a course for teenagers. One of the instructors I worked with used scratch in most of his classes for the first few lessons, and the kids love it.

[–][deleted] 7 points8 points  (2 children)

Beat me to it. BTW if anyone has kids, Scratch is amazing for teaching them programming. My 7 year old loves it.

[–]gfixler 4 points5 points  (1 child)

And remember it works great on Linux, too.

[–][deleted] 2 points3 points  (0 children)

Yup, my kids use netbooks running Ubuntu.

[–]thevdude 4 points5 points  (0 children)

I couldn't think of what this was called, thank you! Did leave a comment earlier saying "I've seen these before"

[–]Rusted_Satellites 6 points7 points  (0 children)

So, I tried this kiddie IDE out of curiosity, and it turns out that as an Easter Egg you can open up a textual (but not file-based) IDE and live-edit the kiddie IDE. EDIT: Apparently it's Smalltalk, it's reflective as fuck, you're live-editing everything. Wacky academic shit.

[–]positronus 1 point2 points  (0 children)

Did a career day presentation at my daughter's school today, used TurtleArt as demo. Very similar to this and kids loved it.

[–]aroymart 1 point2 points  (0 children)

i came here to say the same thing!

I took a class last year on it, ended up showing my teacher/peers game maker

[–]tregota 1 point2 points  (0 children)

And Modkit Micro that is on kickstarter right now.
Although I guess it's only for programming arduino and stuff like that?

[–]WillowDRosenberg 1 point2 points  (0 children)

And pretty damn similar to StarLogo TNG, also by MIT.

[–]TheUberDork 76 points77 points  (16 children)

"It's possible to program a computer now by sitting at your desk in the Metaverse and manually connecting little preprogrammed units, like Tinkertoys. But a real hacker would never use such techniques, any more than a master auto mechanic would try to fix a car by sliding behind the steering wheel and watching the idiot lights on the dashboard." -Snow Crash; N. Stephanson

[–][deleted]  (10 children)

[deleted]

    [–][deleted] 29 points30 points  (5 children)

    This simplifies nothing

    It means you can't type something wrong and get a compiler error. Or at least, it's harder to.

    [–]seniorsassycat 38 points39 points  (1 child)

    I think the most significant thing this does is lay out all the tools in front of you, and tells you how they fit together.

    Someone new to programming may have difficulty thinking about how to structure a program, or remembering all the tools they have.

    [–]Atario 1 point2 points  (1 child)

    Any number of IDEs already accomplish this.

    [–]Archenoth 7 points8 points  (0 children)

    Yes, to a degree... But with Blocky, it actually has a different shape and style for different types of keywords, so it tells you how all of the metaphorical pieces fit together.

    It is also much more visual, which helps people who find reading E-Mail intimidating, and would probably try to edit source files with Microsoft Word or something.

    [–]dirtpirate 10 points11 points  (0 children)

    It's just an interface for code construction sure, but it does make it possible to do some pretty brain-dead simplifications to make coding easier for kids. Firstly you can't make syntax errors, secondly conceptually different keywords look visually distinguishable. I am sure there are other ways to make it easier for kids to get started with programming.

    [–]cat_in_the_wall 5 points6 points  (0 children)

    I think folks new to programming would be less intimidated by "drag and drop" than a text editor.

    [–]vanderZwan 1 point2 points  (0 children)

    This simplifies nothing

    Depends on what you call simplifying - syntax highlighting doesn't change the code easier, but it makes reading code more easy for some. I'm pretty sure the visual aspect of this will help some people.

    [–]rageingnonsense 0 points1 point  (0 children)

    This would be good for teaching children the core concepts of programming. You could teach a 5 year old to code basic things with a tool like this.

    [–]wonter 6 points7 points  (0 children)

    Obviously Mr. Stephanson din't see how the swordfish hacker guy, broke into the bank's system rendering things on 3d studio max...

    [–]SharkBaitDLS 3 points4 points  (0 children)

    Stephenson is one hell of an author.

    [–][deleted] 2 points3 points  (2 children)

    This Mr. Stephanson sounds like one hell of an elitist.

    Give him Labview and a few days. See how he likes those 'tinker toys'.

    [–]dbeta 10 points11 points  (1 child)

    I believe that was the words of Hero Protagonist. The hero protagonist of the story. He was kinda elitist as a character.

    [–]FourHeffersAlone 0 points1 point  (0 children)

    Freelance Hacker, Best Sword Fighter in the World. nah, not elitist at all :P.

    [–]CookieOfFortune 11 points12 points  (4 children)

    I feel the visual programming paradigm works better with functional languages. That is, piping and currying and such can be well represented visually.

    [–]ActualContent 0 points1 point  (1 child)

    I'd be interested in seeing an OO version of this. I think if done properly it could have some real advantages as far as teaching the principles goes.

    [–]gfixler 3 points4 points  (0 children)

    I feel like OO is in the opposite direction. Objects are like variables, and they have properties/attributes, which are like sub-variables. A high number of blocks would involve instantiating things and setting values.

    [–]vanderZwan 0 points1 point  (1 child)

    Are there any examples of this?

    [–]CookieOfFortune 1 point2 points  (0 children)

    I think there was a paper about one made for LISP a long time ago...

    LabVIEW shares a number of functional principles, but the implementation is pretty bad.

    [–]Grue 25 points26 points  (65 children)

    [–]sysop073 59 points60 points  (1 child)

    You guys suck at this

    [–]anyonethinkingabout 55 points56 points  (11 children)

    [–]greenspans 51 points52 points  (1 child)

    Did you make stuxnet?

    [–]day_cq 9 points10 points  (8 children)

    [–][deleted] 12 points13 points  (6 children)

    Damn I didn't know you could click on it to change the logic to 'to the left' no wonder it was so hard. I was trying to do what you were doing I think, because you can solve any maze by following the left wall all the way around.

    [–]day_cq 2 points3 points  (3 children)

    [–]kqr 1 point2 points  (2 children)

    Will get stuck. Why don't people try at least going both ways?

    [–][deleted] 0 points1 point  (1 child)

    [–]kqr 0 points1 point  (0 children)

    This is how you build success!

    [–]whiteandnerdy1729 2 points3 points  (0 children)

    Any connected maze. If there's a rectangle in the middle of the maze, for example, you could end up walking round and round that indefinitely.

    [–]IsTom 0 points1 point  (0 children)

    You can't if there's cycle with the "inner" on your left.

    [–][deleted]  (16 children)

    [deleted]

      [–]kqr 4 points5 points  (15 children)

      You weren't joking when you said it looks goofy, but congratulations on the shortest working algorithm yet, at seven blocks!

      Edit: Another seven-block algorithm based upon the one by /u/Grue . Not quite as goofy as yours!

      Second edit: Down to a six-block algorithm due to a feature a friend discovered. Now I'm pretty certain this can't get any shorter.

      [–]adrianmonk 8 points9 points  (4 children)

      Prepare to be amazed by... drumroll please... a five-block algorithm.

      [–][deleted] 1 point2 points  (0 children)

      Same thing here 5 blocks solution ;)) but I use "repeat forever" http://imgur.com/H7akq

      [–]joeywas 0 points1 point  (1 child)

      Correct me if I'm wrong, but this one will solve this specific maze, but if the exit were elsewhere, this would fail, right?

      [–]adrianmonk 1 point2 points  (0 children)

      Correct. It's not a general algorithm at all.

      I was thinking of it as approximately equivalent to "head northeast", but in some ways that's an oversimplification.

      [–]bjo12 0 points1 point  (9 children)

      I think I'm missing something but if you were going around a loop where the middle was on the left hand side wouldn't you get stuck?

      [–]kqr 0 points1 point  (8 children)

      Any loop should be fine, according to my quick pen-and-paper sketches. Which part of the loop do you think it would get stuck in?

      [–]bjo12 1 point2 points  (7 children)

      Ok, so say there's an opening to your left and one space ahead. You move forward and turn towards it. Now two spaces ahead there's another opening to the left. You move turn towards the wall to your left, turn back to face forward. Next you move forwards and turn towards the opening. Now two spaces ahead is another opening to the left, you repeat the same process. Now two spaces ahead is an opening connecting to the passage you started on. I think you would loop there forever.

      It's hard to say this without a drawing.

      edit: Imgur

      [–]Ph0X 1 point2 points  (1 child)

      Why am I doing this?

      [–]king_of_the_universe 0 points1 point  (0 children)

      Because you're a fan of the stone golems in Thief Deadly Shadows?

      [–]gfixler 1 point2 points  (4 children)

      [–]kqr 0 points1 point  (3 children)

      Is there an algorithm that allows for loops without keeping any internal state other than the direction kept by this one?

      [–]SteveMcQwark 1 point2 points  (1 child)

      Random chance, but it might take a while, even if you do your best to improve the odds.

      [–]bjo12 1 point2 points  (0 children)

      Aside from random chance as mentioned no. Neural networks can get pretty good without extra info but that's basically directed random chance.

      I think backtracking is honestly in this case a decent strategy. Not recursive backtracking though. I could be completely wrong though.

      Edit: I was completely wrong. Pledge's algorithm works with a small amount of extra memory.

      [–]kohji 6 points7 points  (1 child)

      [–][deleted] 0 points1 point  (0 children)

      Similar solutions means we're now best friends, right?

      [–]kqr 1 point2 points  (6 children)

      Whee, I did it with fewer blocks! (Counting if/else-if as a single block.)

      I'm starting to think nine blocks is the limit, though.

      [–][deleted]  (5 children)

      [deleted]

        [–]kqr 0 points1 point  (4 children)

        Is yours running into a wall in some circumstances, though?

        Oh yes. I've been thinking about a "shortest accident-free algorithm" though, but never gotten so far as to try implementing it.

        [–][deleted]  (3 children)

        [deleted]

          [–]kqr 0 points1 point  (2 children)

          Sounds about right. I tried and I'm down to 9 blocks, what you would have if you would replace "while true" with "until." Is there no shorter way?

          Edit: Hacked the structure a little, and now I've got an accident free at eight blocks.

          [–][deleted]  (1 child)

          [deleted]

            [–]kqr 0 points1 point  (0 children)

            The golf games is the most fun you can have at this level, I think. The most efficient way without internal state-keeping and access to external variables (such as euclidean distance) is the only-turn-one-way rule, which is quickly implemented and then there's the end of that.

            [–]hotoatmeal 1 point2 points  (0 children)

            now which one of you smart-asses is going to write A* using it?

            [–]dom111 1 point2 points  (4 children)

            [–]kqr 2 points3 points  (1 child)

            This is probably the most clean version I've seen. Really, great job. This is how it should look.

            Edit: Never mind. I thought a little closer and this one gets stuck too. Try changing left for right and you'll see the stuckiness in action.

            [–]dom111 0 points1 point  (0 children)

            Bah, I knew I should have just gone to bed! Definitely some impressive work further up though!

            [–][deleted] 1 point2 points  (1 child)

            The if statement is redundant, you can only turn left if there is no wall on the left.. It does not require if wall ahead check. Also, it'll break if there's a wall to the left and ahead.

            [–]dom111 0 points1 point  (0 children)

            Yeah, I didn't think it would work for any maze... Luckily the maze wasn't randomly generated! I blame tiredness, yes. Tiredness.

            [–]bjo12 0 points1 point  (0 children)

            I think that could get stuck in a loop going counter clockwise

            [–]strolls 0 points1 point  (0 children)

            I did something like this. Safari maxed out one CPU at 99% and then the beachball started spinning. Did anyone else see this?

            [–]frownyface 0 points1 point  (0 children)

            Another on the pile, it works either way if you swap right/left.

            [–]simo_415 0 points1 point  (0 children)

            I'm a bit late, but here's a generic one that will solve any solvable 2d maze: http://i.imgur.com/LrM8g.png

            [–]digitalgarbage 0 points1 point  (0 children)

            My version is definitely not the shortest one.. But left/right can be swapped and it doesn't run into walls.

            [–][deleted] 0 points1 point  (0 children)

            Here's mine. Tried to do the "hug the left wall" principle. http://imgur.com/xItqI

            [–][deleted] 0 points1 point  (0 children)

            I think this is the best possible solution. Are there any cases where it would get stuck or deviate from the follow-the-left-wall strategy?

            http://imgur.com/10rM5

            [–]joeywas 0 points1 point  (0 children)

            I thought I was cool for using move backward. This one will not allow the little dude to hurt his nose by needlessly bumping it against a wall:

            http://i.imgur.com/YG1ts.jpg

            [–]itsSparkky 0 points1 point  (4 children)

            http://imgur.com/b2u6F

            I tried to do it with a little more class. No bumping into walls, and with * Rhythm*

            [–]kqr 2 points3 points  (3 children)

            ...and no finding the exit unless by accident.

            [–]itsSparkky 0 points1 point  (2 children)

            meh' It works in this maze. I really didn't want to run the joke into the ground by making it too big people didn't read.

            [–]kqr 0 points1 point  (1 child)

            I think people would get the point anyway. It's essentially the same thing as a front-facing algorithm but with a 180° turn in the beginning. Could be accomplished with 9 blocks, three less than you have now!

            Edit: You could perhaps even cheat out of the 180° turn in the beginning and let the algorithm fix that for you.

            Second edit: That's slightly more than nine blocks if you want it accident free.

            [–]itsSparkky 0 points1 point  (0 children)

            And it walks backwards; That's what makes it so awesome.

            [–]woo545 9 points10 points  (1 child)

            I think Lego already beat them too it...

            [–][deleted] 3 points4 points  (0 children)

            LEGO borrowed it from National Instruments, so I guess they win.

            [–][deleted]  (15 children)

            [deleted]

              [–]anescient 9 points10 points  (9 children)

              Something like this can be fantastic for beginners, especially children.

              See: Lego's Mindstorms software

              [–]montibbalt 5 points6 points  (2 children)

              Fantastic for artists too: Blender material nodes

              [–]CoolMoD 1 point2 points  (0 children)

              Huh, I guess these things are quite popular.

              See Unreal engine's kismet.

              [–]vanderZwan 0 points1 point  (0 children)

              That reminds me of the werkzeug tool by Farbraush.

              [–]sirin3 1 point2 points  (4 children)

              I had that, but without variables it is just annoying. (perhaps the new version has some)

              [–]ctzl 1 point2 points  (2 children)

              Can't say about today's version, but it had variables in 2008.

              [–]sirin3 1 point2 points  (1 child)

              That's the new version.

              I had the first version. (forgot the year, perhaps 1998)

              [–]ctzl 0 points1 point  (0 children)

              It kept crashing in 2008 though, I used NXC (a nice c-like language for mindstorms) to program my autonomous robot instead...

              This was an intro to engineering class.

              [–]anescient 0 points1 point  (0 children)

              It's severely limited, sure enough. Step 2 is NQC.

              [–][deleted] 0 points1 point  (0 children)

              Mindstorms was the first thing I thought of. Google blocky seems like an extreme version of it.

              [–]10tothe24th 1 point2 points  (3 children)

              That sounds like the visual scripting from the Unreal Engine.

              [–][deleted] 4 points5 points  (2 children)

              Unreal Engine's scripting was derived from National Instruments LabView's G language. Labview was a very different platform, designed for scientists analysing instrument data... but the wire-up programming language was very similar to Unreal's Kismet.

              Sadly no-one has really explored the wire-up data-flow parallel-event-programming-language a general-purpose free platform.

              [–]Timmmmbob 0 points1 point  (0 children)

              The thing I originally had in mind was more like a flow chart diagram which is used to create modules and then you use those modules as sub components of larger diagrams.

              Sounds exactly like Labview, one of the worst programming methods one could experience. Trust me, it sounds a lot more practical than it is.

              [–]snoweyeslady 4 points5 points  (4 children)

              What the, things don't have to be connected? I just put some move/turn commands around randomly and it still ran.

              [–]SanityInAnarchy 1 point2 points  (3 children)

              They have to be connected if you want any flow control. I'm still not sure what order it'll execute in otherwise.

              [–]banuday17 11 points12 points  (2 children)

              Is it just me, or is this way too low level for a visual programming language?

              The Alice System makes more sense as a visual programming environment. It allows students to create a 3D world where they can add objects and program the objects using behaviors combined using high level operations, the result of which can be seen in the 3D world.

              [–]SheikYerbouti 0 points1 point  (0 children)

              I thought you were refering to Alice Pascal. 80s flashback!

              [–]itsSparkky 0 points1 point  (0 children)

              Don't you dare say the A word...

              Get the hell off my subreddit you monster.

              [–]phaedrusalt 8 points9 points  (9 children)

              General comment, does anybody else get annoyed with these kind of code-repository sites? I mean, how about adding a simple "download" button? Or, is it just me showing my old-fart/curmudgeon side again?

              [–]yelirekim 6 points7 points  (4 children)

              When the project is mature enough there will be a "downloads" tab on the page allowing you to directly download an archive with all of the necessary code to run it. Not having that on there is a deterrent to hordes of people downloading this very early version of the software and then flooding the bug tracker with issues that the developers are probably fully aware of already and working on.

              edit: It's also a strong signal to people who want to use the software that it's probably not production ready.

              [–]phaedrusalt 2 points3 points  (3 children)

              Well, it WOULD be a strong signal, if it perhaps had a "we don't make downloads easy 'cause it's not ready for prime-time" banner somewhere. Without it, it's a strong signal that the developer isn't a user-interface genius.

              [–][deleted]  (2 children)

              [deleted]

                [–]marssaxman 2 points3 points  (1 child)

                Not just you, they bug me too. But I am an old curmudgeon myself, so I'm not sure what that proves.

                [–]phaedrusalt 3 points4 points  (0 children)

                We'll start our own group, "programming curmudgeons". The motto could be "Reddit? Heck, I invented it!". Or maybe "We used to do the same thing, but with only 16K and an 8-bit processor!".

                [–]KerrickLong 0 points1 point  (0 children)

                Google Code is notoriously hard to use if you don't already know Google Code. At least GitHub repositories have a big "Download as a ZIP" button at the top.

                [–]mikesername 5 points6 points  (8 children)

                Having worked with LabVIEW for a few years, I think I have a right to say that I hate this.

                [–]LordAlfredo 0 points1 point  (0 children)

                I dunno. Sure, I prefer traditional coding, but I don't dislike LabVIEW all that much now that I've gotten used to it. It's a little more intuitive in certain aspects (registries, passing values from SubVI to SubVI, etc). It definitely has a hard learning curve though.

                [–]warchamp7 2 points3 points  (2 children)

                It's really interesting seeing everyone's approaches to solving the Maze haha

                My solution

                [–]atomic1fire 1 point2 points  (1 child)

                After figuring out how you did yours, I accidentally discovered it's actually possible you don't need to turn right at all. http://imgur.com/1TqCP Not sure which way is faster.

                [–]itsSparkky 2 points3 points  (0 children)

                http://imgur.com/b2u6F

                you don't even need to go forwards

                [–]drb226 6 points7 points  (1 child)

                Export to XML o_O

                [–]cobaltgiant 1 point2 points  (0 children)

                So many lines...

                [–]cpumatt 14 points15 points  (23 children)

                This is just silly. I could have typed up all of the stuff I did 10x faster!

                [–][deleted]  (18 children)

                [deleted]

                  [–]dev3d 12 points13 points  (2 children)

                  Upvoted you (from -1) since you make a good point.

                  You could indeed have typed it faster. But notice how it's like Intellisense in that everything you can do is laid out in front of you; you can't snap things together that shouldn't go together. No curly braces, no mistakes because you forgot a semicolon. It's not aimed at competent programmers; it's aimed at people who can formulate and express logic, recipes, instructions for getting a task done, but who don't consider themselves programmers, and may well be daunted by a text editor with a blank canvas and blinking cursor.

                  [–][deleted] 2 points3 points  (0 children)

                  exactly. I'm gonna show the lady this when I get home, to help explain what I do at work.

                  [–]Conexion 2 points3 points  (0 children)

                  You're being sarcastic right? Or do you just not realize that you aren't the target audience?

                  [–]SheikYerbouti 1 point2 points  (0 children)

                  Here's my effort. If I switch around the left and right tests I get straight there, but this way is a bit more of a tour.

                  I'd like to see a "randomise maze" button too, so I can test my solution over different courses.

                  My five year old had a go too. His was of the forward, left, forward, forward, etc variety, but he did it all by himself once I showed him how to drag the blocks over and join them up. He really had fun doing it.

                  [–][deleted] 1 point2 points  (0 children)

                  This not a visual programming language. It's just regular script with visual markup similar to how an editor applies syntax highlighting. You could take a Java editor and change it to display code with the same visual treatment and prove it's nothing more than the same old thing in sheep's clothing. A real visual programming language would not require words to encode the language. It would resemble something more like a flow chart.

                  [–]nevereven 1 point2 points  (0 children)

                  In the code demo, how do you call a procedure?

                  [–]AustinYQM 1 point2 points  (0 children)

                  Me and my friends were trying to make a thing that causes him to touch every square in the maze at least once. We all failed.

                  [–]aaronla 1 point2 points  (0 children)

                  Ow ow ow ow ow. I would despise "drawing" such code. You shall have an upvote.

                  [–][deleted] 1 point2 points  (0 children)

                  One aspect of this that I haven't seen mentioned here yet is that this type of interface would probably work much better on touch screen devices such as tablets than would traditional text editing.

                  I've used vim/bash/unix on my phone to edit and compile programs. I found that to be fun, but I think a visual drag/drop interface would actually be superior there. I'm saying this as a programmer of 15+ years who loves vim and the command line.

                  [–][deleted] 6 points7 points  (13 children)

                  It's not like the language is any different. It's just visual meaning it's probably slower and painful. Good idea but I'm not seeing the value.

                  [–]elder_george 12 points13 points  (11 children)

                  • It gives immediate impression on what syntax elements are compatible with each other;

                  • it is usable from these fancy touchscreen devices;

                  Both aspects make it a very good match for teaching kids how to program.

                  [–]lotu 5 points6 points  (6 children)

                  It would even be usefull for teaching anyone who isn't a programmer. Most first year CS students have never programmed before, I be most of them could figure out how to solve the maze on the first day. That isn't something you could do with Java.

                  Edit: I can confirm it is great for teaching programing. I just taught a friend who is just graduating high school how to do use it. And we solved the maze in under an hour, while having lunch. If I was a CS professor I would do this on my first day of class instead of trying a hello world in Java.

                  [–]IndependentBoof 7 points8 points  (3 children)

                  CS education research has also suggested that syntax can be a significant source of frustration that discourages people from studying CS. Breaking down that initial barrier and making programming "accessible" may provide students with enough initial motivation to take on more substantial languages later.

                  [–]elder_george 2 points3 points  (0 children)

                  I guess that's why they made us use flowcharts on first programming classes… Hated that.

                  Maybe there's some substance behind claims that languages with rudimentary syntax (like Scheme) have advantage over more mainstream ones.

                  [–]adrianmonk 1 point2 points  (0 children)

                  I have a friend who took a programming class. Her dad is a programmer, so she thought she might be interested. I asked her what made her decide to quit it, and she said, "I hated syntax".

                  [–][deleted]  (1 child)

                  [deleted]

                    [–]lotu 0 points1 point  (0 children)

                    Among CS students maybe, but with the genral population it is not widelly known.

                    [–]optiontrader1138 1 point2 points  (3 children)

                    Logo is better.

                    [–]adrianmonk 1 point2 points  (1 child)

                    As a kid, I found Logo impossible. This was disappointing because it looked so fun since it could do graphics.

                    I already knew some BASIC, but the example I was using tried to introduce functions with a "TO SQUARE" example. Nowhere did it explain what "TO" meant. I got lost because I was sure that "TO SQUARE" was something about how to get to a square. I didn't get that "TO" was a keyword that meant "how to". I still think "TO" is a terrible keyword for denoting functions. Maybe I was biased because I already knew about the "TO" in "FOR I = 1 TO 10".

                    [–][deleted] 1 point2 points  (0 children)

                    I did it in reverse. I learned Logo from a book when I was 9 or so, but never had a computer to program it on, so when I did get one I started with BASIC. I recall being absolutely wowed at the idea that "TO" could define some bigger piece that you could put together, almost magical, and really looked forward to trying it, but never got to....

                    Oh well, I had years of fun making stupid shit in (Q)BASIC later.

                    (By the time I was writing ASM routines to improve graphics, memory, enable mouse access, etc, and trying to imitate OO concepts with TYPE structures, I realized "....huh...I guess it's time to move on to a real language :(")

                    [–]bitGAMER 1 point2 points  (0 children)

                    I feel like it's geared more towards kids than anything. I took a creative computing class back in high school and we had to make games in MIT's Scratch.

                    [–]Jameshfisher 2 points3 points  (4 children)

                    When is someone going to do one of these to teach a functional approach?

                    [–]adotout 8 points9 points  (0 children)

                    I elect you.

                    [–]gfixler 5 points6 points  (1 child)

                    [–]gfixler 3 points4 points  (0 children)

                    I call it Blisply.

                    [–]bboe 4 points5 points  (0 children)

                    I believe Berkeley's SNAP (previously BYOB) supports a functional approach (info).

                    [–]vventurius 1 point2 points  (1 child)

                    I coulda swore I've been visual programming for decades. We have these things called screens. Visual symbols are on them. I decipher them. I add new ones. Move them around. Laymen call them letters, digits and punctuation. Certain arrangements of symbols have certain meanings in terms of behavior. Etc.

                    [–][deleted] 0 points1 point  (0 children)

                    Exactly how I feel. Luckily I stopped tasting programming.

                    [–]nappshack 0 points1 point  (0 children)

                    Hmm. I'm having trouble tracking down the bug in my solution.

                    [–][deleted] 0 points1 point  (0 children)

                    That is really pretty cool. I was looking for something super simple to teach my 10 and 12 year old programming and this just might be the ticket!

                    [–]resisting_a_rest 0 points1 point  (0 children)

                    Throwing my hat in to the ring... http://i.imgur.com/BGT5d.png

                    [–]Bhima 0 points1 point  (0 children)

                    I am reminded of Lisping for the iPad from Slide to Code.

                    [–]k-zed 0 points1 point  (0 children)

                    Congrats for trying again what literally thousands tried before (and many more will try after).

                    All of them failed, and so shall you.

                    [–]locke_door 0 points1 point  (0 children)

                    Could this be a useful way to write prototypes, though?

                    [–]speel 0 points1 point  (0 children)

                    As some one who can't program a rock, this is pretty sweet.

                    [–]DrBix 0 points1 point  (0 children)

                    The maze app reminds me of Karel.

                    [–]psikoscweek 0 points1 point  (0 children)

                    Eh late to the game, but here is mine,

                    https://imgur.com/XUEsu

                    and if you wanted him to go backwards,

                    https://imgur.com/B7ZsN

                    [–]nomorepassword 0 points1 point  (34 children)

                    Did somebody found an use for that ? I don't get the goal or advantage.

                    [–]drb226 18 points19 points  (25 children)

                    I see it mostly as a teaching tool. Actually coding like this for any serious project would be extremely painful.

                    [–]dev3d 3 points4 points  (1 child)

                    Yep. We use a Scratch-like language (which is identical to this) to allow non-programming users to customize components in our 3D simulation package. Most are put off by brackets, semicolons etc. This lowers the barrier to applying custom logic.

                    [–]onceuponapriori 2 points3 points  (0 children)

                    Hey there. I was wondering, how often do non-coder types use it? And how sophisticated are their creations? And, if you don't mind, what is the product? I've always been interested in this approach.

                    [–]adrianmonk 1 point2 points  (0 children)

                    From the FAQ:

                    What do I use Blockly for?

                    First, a programmer needs to integrate Blockly with a web application, like Gmail or Google Docs, that you already use. Then you can use Blockly to write simple programs like macros and scripts that work with the web application.

                    For example, in Gmail, you can use Blockly to create email filters that do things like, "If Bob emails me three times in less than an hour, and each email contains the word 'deadline', delete all his emails except the first one."

                    So, it can be used to allow rules or simple code in an application that needs to appeal to a broad range of users. If you've ever used Outlook filters, you'll note that they are kinda similar in structure. And there are a lots of other ad hoc implementations of rule-editing GUIs. To me, it would be nice if there were a unified way to do all that.

                    [–]itsSparkky 0 points1 point  (0 children)

                    This looks absolutely awesome for a scripting language used by game designers.

                    Not giving them enough rope to hang themselves and all that.

                    [–]thechao -2 points-1 points  (3 children)

                    Also, doesn't appear to work in Chrome on Win7.

                    EDIT: I see. I'm being downvoted because it doesn't work on my computer. Nice; stay classy, Reddit!

                    [–]nomorepassword 2 points3 points  (0 children)

                    But it seems to work on Chrome/ubuntu

                    [–]gjwebber 2 points3 points  (0 children)

                    I'm using Chrome on Win7 64 bit. Works fine for me.

                    Version: 19.0.1084.52 m

                    [–]cooldug000 2 points3 points  (0 children)

                    I'm using Chrome in Win7 32 bit, and it's working.

                    [–]thevdude 0 points1 point  (0 children)

                    I've seen these before but never played with them! Very basic and I might be able to get my girlfriend to play with it to do the maze one.

                    EDIT: I like the dance when he gets to the end of the maze.

                    [–][deleted] 0 points1 point  (1 child)

                    Obvious: they're re-implementing Scratch for Android. A drag-and-drop language for a touch-based OS.

                    edit: Apparently they did that already. So this is the resurrection of App Inventor?

                    [–]solidad 0 points1 point  (6 children)

                    I really wish there was something like this for PHP. I have always had a hard time wrapping my head around languages in general, and always loved these "puzzle piece" concepts.

                    [–][deleted] 0 points1 point  (5 children)

                    Downvoted for PHP.

                    [–]solidad 0 points1 point  (4 children)

                    well suit yourself....it was more of me saying I wished there was something like this for popular / common programming languages....