4 ms·
> the only time stuff like scratch makes sense is kindergarden when you're still learning to read Strongly (well, moderately) disagree, but not necessarily bec
by danShumway 5y ago
> the only time stuff like scratch makes sense is kindergarden when you're still learning to read
Strongly (well, moderately) disagree, but not necessarily because I think the Scratch language is well designed.
My nieces both started out in Scratch, and I don't know what they liked about it, but they bounced off everything else I had been trying to show them. It might have been the community aspect (I strongly suspect this had something to do with it), it might have been that Scratch is so limited that it stops being intimidating. I feel like there is a culturally taught fear of text editors among modern kids; my nieces are around really supportive people who think they're smart and encourage them, and I still think they still feel this sense that text editors are not designed for them? Could be my imagination.
I don't know what to think about it because I don't really 100% know why they (or anyone) likes Scratch. I can not stand Scratch, everything is way too hard to do, it lacks so many basic features that you have to approach every problem through the lens of some completely alien architecture where you're doing meta-programming to get basic stuff like dynamically allocated objects. This is a tool that is so limited in so many weird ways that it makes programming way harder than it should be. Everything about it from the UI to how it's structured to the performance: for me, it just makes programming into a chore.
But I can't deny that there's something there that makes it more accessible than other platforms -- and watching my nieces get into it was a big lesson to me in the limitations of saying, "but they're smart and understand the concepts of iteration and variables, why can't they just write Javascript?" They could, they're smart enough to do that, but Scratch resonates with them and Javascript doesn't.
I sympathize with the author's point of view (part of the reason I can't get into programming games is that everything enjoyable from them I can also get... programming). But there is something to these platforms like Scratch, Pico8, etc, that undeniably hits some people in a way that a traditional language doesn't, and whether or not Lisp/JS/C could capture kids the same way, something about them or the ecosystems around them is not measuring up for some kids. Some other kids are the opposite, probably. I got into programming with Flash/TI-83 Basic; I'm not sure where they on that spectrum between toy and tool they fall.
- mwcampbell 5y ago> I can't deny that there's something there that makes [Scratch] more accessible than other platforms Not for blind kids. Yes, maybe I bring up that kind of accessibility too often, but using the word "accessible" was just asking for it. :) And seriously, that matters in a public school environment. Fortunately, using a haphazardly designed mainstream language like JavaScript isn't the only alternative. Check out Quorum: https://quorumlanguage.com/ https://quorumlanguage.com/
- kazinator 5y agoThat looks like mind-numbing garbage that should be kept out of the reach of children.
- mwcampbell 5y agoWhy, exactly? Because it appears too dumbed down for us experienced programmers, or is there a deeper reason? The Quorum team, which I'm proud to collaborate with when I have the chance, has evidence that their language works for beginners. They've been collecting that evidence over several years. I think their work deserves more than a shallow dismissal.
- kazinator 5y agoAll those type declarations, just yuck. In like the third tutorial page we learn about some cast() thing. This dialect of Fortran prepares kids for a world that mostly no longer exists.
- danShumway 5y ago> This dialect of Fortran prepares kids for a world that mostly no longer exists. This is a weird criticism, learning type declarations will not make someone worse at programming or rot their brain. It's mostly just syntax. As a point of comparison, Scratch doesn't let you assign object instances to variables. I just can't imagine getting worked up about type declarations in comparison to that. > for a world that mostly no longer exists. Also... casting no longer exists? I still do explicit casting in JS on occasion, and it certainly comes up in C-like languages. Correct me if I'm wrong, but I don't think Rust even has implicit type coercion at all.
- kazinator 5y agoPardon me; if your goal is to prepare kids to be software engineers working in C-like languages and Rust, then that may be just the thing.
- Tozen 5y agoI think part of the appeal of Scratch evolves around if the kid has learned to type or not. With Scratch being more visual programming orientated, its easier to get into. Other aspects of why it's popular is it being beginner friendly and geared towards fun and games. Scratch is a great "first step" for getting your feet wet and playing in the shallow end of the pool, as one is learning to swim. Not everybody learned or were even taught to swim their first day at the pool, and everybody has a different schedule on when (or if ever) they will get good at it.