6 ms·
From a quick look it doesn't seem that the graphical elements are inherent to the language. It could be expressed in a text syntax, and with more or less diffic
by hirundo 4y ago
From a quick look it doesn't seem that the graphical elements are inherent to the language. It could be expressed in a text syntax, and with more or less difficultly other languages could get a similar graphical overlay.
If the graphics are useful training wheels to new programmers of scratch, the same is probably true for the text languages. And from time to time even a super cyclist can find a use for training wheels.
For one thing, a language expressed in a common graphical form could help communicate with non-coder domain experts, quality assurance teams, customers, etc. This is kind of an argument to publish the latin bible in the vulgar argot, less exclusive to the priesthood.
- dunham 4y ago> It could be expressed in a text syntax, and with more or less difficultly, other languages could get a similar graphical overlay. Yeah, Makecode Arcade has a similar UI with mappings to and from both Python and Javascript. https://arcade.makecode.com/ https://arcade.makecode.com/
- lidavidm 4y agoIn undergrad I worked with this group for a while: http://www.cs.cornell.edu/andru/papers/reduct-chi17/ http://www.cs.cornell.edu/andru/papers/reduct-chi17/ They took the basic idea of Scratch, then made it into more of a game with levels, each level being a puzzle to (implicitly) teach or test programming concepts. As you progressed it'd introduce new syntax, while slowly "fading" more familiar syntax towards actual JavaScript code (though retaining the block/GUI-based interface). We did some more work on further iterations but I'm not sure what became of it all.
- sgt101 4y agoResnick and co were very structured and evidence lead with the graphical design; nothing in the visual language is accidental. The structure of the language is also very carefully designed in conjunction with the graphical mechanisms.
- jameshart 4y agoThere's a common fallacy that the technically minded are prone to, of assuming that since two different things are 'essentially' the same, the differences between them are superficial and unimportant. So, for. example, since Scratch. and a text-based language with similar structures (Python, say), are 'essentially' the same, the graphical elements. of Scratch are just sugar, or fluff, and should be ignored. It's the same mindset that says since anybody can get an FTP account, mount it locally with curlftpfs, and then use SVN or CVS on the mounted filesystem to version control it, there's no need for such a thing as DropBox. Advice for the terminally reductionist-minded: Maybe the things that make Scratch different from Python are actually the most interesting thing about Scratch.
- sgt101 4y agoTotally agree - the details are critical. There are a thousand details that can derail a child from understanding programming, if you deal with 999 there's still one that will get them. Kudos to the scratch team.
- kelseyfrog 4y agoThe same mixed media programming existing in the Lego Mindstorms platform when I was a kid. A bunch of my peers where using the visual editor, but I took the plunge and learned NQC to do my programming. Having multiple paths available to users helped the platform and broadened its accessibility. I'll never forget the instructor teaching me to always make sure my curly-braces matched up. :)
- easrng 4y agoThere's http://tosh.blob.codes/ http://tosh.blob.codes/ but it hasn't been updated in a while. (It generates Scratch 2 projects but they can still be imported into Scratch 3)