← Back to context

Comment by DonHopkins

10 hours ago

Fair that your path worked differently for you.

But "no connection to the real world" is hard to sustain once you look at what people actually build with Snap!/Scratch. The ecosystem is full of bridges to physical stuff:

Cameras, microphones, audio, pen plotters, 3D (BeetleBlocks). Snap! 12.1 (video from a few days ago) adds body-language recognition, Bauhaus-style shape compositions, first-class Processes, translation updates:

https://www.youtube.com/watch?v=ID7wYxzHUAc

Arduino / micro:bit / boards (Snap4Arduino, MicroBlocks, many hardware libraries):

https://www.youtube.com/watch?v=Ltzlzk_zkys&list=PL5OeDsbY1E...

Robots (Finch, Hummingbird, Lego NXT, drones):

https://www.youtube.com/watch?v=6_0EqIbTlkk

Sewing machines (TurtleStitch -- embroidery from blocks; one of my favorites):

https://www.youtube.com/watch?v=K6ra5ThxkrE

Web APIs and IoT:

https://www.youtube.com/watch?v=l_P7MoBG250

ML/AI and digital fabrication (Ken Kahn's eCraft2Learn):

https://project.ecraft2learn.eu/

The "what's this? how do I make a thing like this?" curiosity you describe is exactly how a lot of people get pulled in -- making something move, blink, sing, or stitch on a machine they can see, rather than learning abstract syntax first. Blocks are the on-ramp; the project is the motivation.

Different audience than yours, maybe. But "just a toy walled off from reality" undersells what this community has been doing for decades.

Snap! also teaches real computer science at college level while staying accessible to kids -- not a stripped-down kiddie language. Brian Harvey: "Snap! is Scheme disguised as Scratch" (though he notes the original intent was closer to Logo disguised as Scratch):

https://forum.snap.berkeley.edu/t/hygienic-macros/3258/6

Re alanbernstein's point about keyboard vs GUI: Snap! is not keyboard-hostile. It has a keyboard editor for scripts -- build and edit whole scripts without the mouse, block search from the keyboard, infix arithmetic expressions typed left-to-right. Manual chapter:

https://docs.snap.berkeley.edu/user-interface-elements/#sec-...

Demo (typing formulas from the keyboard):

https://www.youtube.com/watch?v=ahHAl3p3gEU

Full IDE accessibility (screen readers etc.) is still a work in progress; Jens and Brian document what's there now:

https://github.com/jmoenig/Snap/issues/1498

I guess I just can't relate to it, because I was fascinated with the computing itself, not just getting from A to B as quickly as possible

so it wasn't the project that was the motivation, it was figuring out how to do it for real, and getting closer to expertise in programming

for example the TurtleStitch, I don't know how to say this exactly, but to me it doesn't strike as something that'd interest people who want to get into programming, but is more like a way to showcase how to do machined embroidery in an accessible way

I might be totally wrong, but my problem seems to be that a lot of this is just about showing off the capabilities of Snap, but it's not really something I would've engaged with for example?

like almost as if the ecosystem simply serves to show off Snap and thus misses the mark?

like Snap doesn't really provide a way to understand how stuff is actually done except for maybe simple logic. So I don't see how it'd be very useful for e.g. learning CS when it's not really something you'd see in the real world, i.e. you're learning a learning platform and some basic concepts

I guess my point is like, if it's not really something that's used in the real world, unlike say JS or Python, why use it instead of getting up to speed in a real language?

again, it could be that I simply don't get it, or that I'm not the target audience, but I feel like there's a reason why these haven't really taken off, and IMO there's no reason why they would need to, because they serve a very specific niche