3 ms·
I'd challenge the idea that Scratch is a “visual” programming language. It has you put together blocks to write code, but those blocks contain text and behave l
by TazeTSchnitzel 9y ago
I'd challenge the idea that Scratch is a “visual” programming language. It has you put together blocks to write code, but those blocks contain text and behave like statements in any vanilla programming language. The advantage of the block system is that it's discoverable (all available blocks are shown in and can be picked from the menu) and it mostly avoids syntax pitfalls (either a block fits into another or it doesn't).
But it's also coupled with a sort of… game engine/scene graph kind of thing that your code affects and which you can interact with visually, which probably makes your code seem more tangible?
- LolWolf 9y agoYes, sorry, when I say "graphical," I mean that the language has a graphical representation of the logical flow that doesn't have to be inferred from the text. E.g. in Scratch, as you mentioned, all blocks have text but the flow of the program is given in a graphical way, and can also be dictated in a graphical way. Additionally, the blocks themselves, while having text, also encode their purpose graphically (e.g. start, event-driven blocks, as distinguished from instructions, etc). Also as you mentioned, there's something nice about these blocks in that the system is completely discoverable and has the flexibility of combining statements, etc., without the exponentially large space one would have to think about if they attempted to discover the language by typing out statements using the keyboard. In other words, there is much-reduced complexity in graphical languages, along with the fact that programming becomes much less a question of remembering what a block does as opposed to finding the block which does what you want. A much easier problem for those unfamiliar with a language, which also allows them to focus on the problem as opposed to the specifics of learning the syntax of a language.
- TazeTSchnitzel 9y agoYeah. I think the genius of Scratch is it's basically an advanced IDE for an ordinary programming language, rather than trying to create some alien “visual” thing.