Visual Programming Language

I'm pretty sure Scratch did not invent block-based programming languages. (It might have been a somewhat-precursor language also made by MIT called LogoBlocks that did, but definitely not Scratch.)

How could I create the editor and system to convert blocks to JavaScript? I'm learning the programming language, but I don't really understand how I'd use a free grid of blocks to create text. I could give each block a string value with the corresponding code and plug in values, though I'm confused with how the placement of the blocks would form a script.

To be honest, I don't know. I've never tried doing it before.

@bh, how would I accomplish this? How did Snap! work this out?

Code.org has something similar

What do you mean? It’s similar to Snap!?

No something that lets you turn blocks into javascript

Oh. But, uh, I wanted to create that for my own language.

Load the "Codification" example project.

Where is it?

Click file > open > examples

That's not how I read it. I thought they meant to write Snap! code that interprets blockpointstudios's desired language. "Prototype" in the sense of "quick implementation that isn't very fast but lets you play with the details of the desired language."

Yes, I think you're right, LogoBlocks was the first.

Ack! Very little of that is right.

As other people have said, Scratch didn't invent block-based programming. They sort of tuned up the idea for kids.

Squeak is a visual UI for Smalltalk, the world's only object oriented language. (That is, it has objects that accept messages, have methods to carry them out, and have inheritance. And everything is an object, so if you say 2 + 3 you are sending the message + 3 to the object 2.) I suppose Squeak is old by Internet standards, but not really that old.

One person at Google invented Blockly. Scratch had nothing to do with it, although they are using it like a bunch of other groups.

Have I mentioned that tagging me doesn't work because I never read the notifications?

I feel like we've already had this discussion on another thread. And I'm not sure what exactly is the antecedent of "this," but if you mean "turn blocks into Javascript," Snap! does not do that! People have this strange idea that only Javascript is runnable, or maybe Javascript and Python. Snap! is its own language; the blocks are the code, and they are directly interpreted.

I might be wrong but if memory serves when Neil Fraser and Ellen Spertus made Blockly at Google they started out by remixing and refining Ricarose Roque's OpenBlocks library (that was her master's thesis at MIT) which she distilled from StarLogoTNG (Eric Klopfer's group at MIT). So, Blockly really originated from LOGO at MIT. And Ricarose was already part of the Scratch team at that time. (https://www.researchgate.net/publication/38001837_OpenBlocks_an_extendable_framework_for_graphical_block_programming_systems, https://www.ricarose.com/RicaroseRoque-CV.pdf)

There's a lot of dispute over who "invented" blocks/tiles based programming. Mitch claims it's Andrew Begel, Alan claims Squeak was first, and Alexander Repenning claims he was first. The idea certainly was "in the air" for a long time, going back to Ben Shneidermann and I. Nassi's "structured flowcharts" ( https://dl.acm.org/doi/10.1145/953349.953350 and here: A short history of structured flowcharts)

Of course, it doesn't really matter who first thought of it. I think a great lesson from this is that they all worked together. Mitch's group and Alan's group conducted yearly outings in which they talked about these ideas, and that's how John Maloney ended up migrating from Alan's group to Mitch's (and later back to Alan's again).

as someone who isnt too experienced with language based coding Im interested in seeing it when you release it

Oh! I mean, I knew that Blockly came after Scratch, but I didn't know it was based on anyone else's code. I stand corrected, thank you.

Sorry, that post was old.