Live data from Hacker News

λ Snap – An inviting programming language for kids and adults for CS study

snap.berkeley.edu

91–100 of 118 posts

Re: λ Snap – An inviting programming language for kids and adults for CS study

#91
post #87

Earlier quoted context omitted.

Set showdead=true and you can see his fanatical arguments in defense of Musk's Nazi salutes, and attacks on other people who disagreed with him, which rightly got his multiple comments flagged dead. His evidence-free Nazi-salute-defending arguments were in such bad faith, ignoring and refusing to address other people's valid counter arguments, the exact same way he is now ignoring and refusing to engage with mine, an…

Don't worry, I didn't spend much time digging through comment history. Thanks for the links; I'm about to have to leave my computer and do something else for several hours, so I can't look at them right now. But since you replied to one of my comments it'll be easy to find them again via the "threads" link, so I'll look at them later when I'm back at the computer. (And I did look at the first one; Logo Adventure is e…

I'm not sure what caused him to lash out at me like that, I thought I was being pretty reasonable (albeit very casual with terms like BS), I even made sure to say multiple times that it was my opinions and views, and that maybe I just don't "get it".

Here's my reply with links to my past comments: https://news.ycombinator.com/item?id=49671123

I understand that some consider Elon a Nazi but I don't consider that a common belief, so I don't know why I'd need to support that belief in order to talk about this Snap language and others, like Scratch.

Re: λ Snap – An inviting programming language for kids and adults for CS study

#92
post #10
post #9

I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive. A big part of it is that you can, to some degree, learn programming from this. But you absolutely cannot learn software engineering from this.

from someone who can remember how they even got into programming: it's because this is BS and just a toy, it's got no connection to the real world. from the angle of someone trying to make some toy to teach programming, maybe in their head it's like: oh this is so simple and easy it should work perfectly for teaching but from my experience, most of my learning came from "whats this?" "how do i make a thing like this?…

Here's how teaching kids goes without scratch:

"This is python, we use it to do professional development work. Here's VS code, we use it to do professional development work. Let's learn them."

6 year olds: "Okay!"

Proceeds to mangle whitespace, variable names, scope, indexing, ==, forgets :, doesn't understand what def is, even after they get all that the program is basically "hello world" print to console.

6 year olds: "Programming is hard and frustrating with little payoff, I don't want to do this anymore"

The one 6 year who who will grow up to be a greybeard sysadmin "This stuff is great! I can't wait to learn more!"

Teachers: "I have no idea what I'm doing, the devs keep saying how Python is supposed to be easy and it's built for learning, but I'm just as confused as the kids."

--

Here's how teaching kids goes with scratch:

"This is scratch, you snape these colored shapes together and they do things like make this character move"

6 year olds: "Okay!"

Proceeds to make games and stories with graphics, sounds and interaction, which they share with their friends, fully editable and runnable in a web environment with zero setup: https://scratch.mit.edu

6 year olds: "Wow programming is fun! I can't wait to learn more!"

The one 6 year who who will grow up to be a greybeard sysadmin "I agree this stuff is great! I can't wait to learn more!"

Teachers: "It wasn't hard to get up and running with scratch, it's very easy to teach and I get it."

Re: λ Snap – An inviting programming language for kids and adults for CS study

#94
post #54

Earlier quoted context omitted.

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, translati…

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…

> like Snap doesn't really provide a way to understand how stuff is actually done... 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

The point of scratch is not to prepare students for the professional world of computing, nor is it to prepare students for study in a CS program.

Instead, it's to expose students to computational thinking at an early age in an accessible, age-appropriate way. It's the same reason we teach the Bohr model of the atom before exposing kids to orbitals and probability distributions -- the Bohr model is false but at least it can provide a model and scaffolding for future learning. They're not ready for real Python or Javascript yet. You as a child might have been, but scratch is for teaching all students, not just the ones with a preexisting aptitude for coding.

> 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?

Why do you feel like exposing young children to professional development tools is important? Have you ever tried to get a class of students up to speed in a real language? Give it a shot and it might answer a lot of your questions.

> it could be that I simply don't get it, or that I'm not the target audience

Yes, this is very likely. Few years back I did a survey of elementary school students and their opinions on programming. Young kids exposed to Scratch reported that programming was "fun", "exciting", "enjoyable" and "something they wanted to continue to do". They viewed it as an extension of art and play. On the other hand, older kids who were then exposed to Python and VS Code no longer reported feeling the same way about programming, instead using words like "frustrating", "hard", "confusing" and most damningly described it "like math class", the least popular subject among students.

Exposing kids to the frustrating and confusing path first is a good way to make sure no one wants to go into the field. You as a child would probably have pursued the field nonetheless, so I can see why Scratch doesn't seem like a good teaching tool to you.

> I feel like there's a reason why these haven't really taken off,

wdym Scratch is wildly popular with students and widely used throughout the world. You see people here in this thread stating it's what got them interested in programming. Something like Snap! is nice because it provides a higher ceiling for Scratch programmers. It's not as popular because it Scratch serves much of the role, but its existence is an important bridge for older students who will eventually transition to Python or Java.

For further reading that can explain the theory better than I can, see the writings of Alan Kay and Seymour Papert, especially Papert's book "Mindstorms".

Re: λ Snap – An inviting programming language for kids and adults for CS study

#95
post #81
post #32

Scratch is how I first learned programming. I was building increasingly ambitious projects in it, and at some point the editor itself became the main thing I was fighting. Once a project got to around 10,000 blocks, it could get painfully laggy, and I ended up spending a lot of time engineering around Scratch's limits. That is what eventually led me to build goboscript: https://github.com/aspizu/goboscript I'm one of…

This is what happened with me and BASIC. I had to upgrade to C when my programs became limited by complexity, speed, and difficulties robustly integrating audio.

same, switched from Scratch to C at age 8, but I only really wanted my programs go fast back then :)

Re: λ Snap – An inviting programming language for kids and adults for CS study

#96
post #90

Earlier quoted context omitted.

Set showdead=true and you can see his fanatical arguments in defense of Musk's Nazi salutes, and attacks on other people who disagreed with him, which rightly got his multiple comments flagged dead. His evidence-free Nazi-salute-defending arguments were in such bad faith, ignoring and refusing to address other people's valid counter arguments, the exact same way he is now ignoring and refusing to engage with mine, an…

You need to cool down. I replied to this comment: > I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive. > A big part of it is that you can, to some degree, learn programming from this. But you absolutely cannot learn software engineering from this. And you then showed off some embroidery stuff and things that I explained that in my…

[deleted]

Re: λ Snap – An inviting programming language for kids and adults for CS study

#97
post #90

Earlier quoted context omitted.

Set showdead=true and you can see his fanatical arguments in defense of Musk's Nazi salutes, and attacks on other people who disagreed with him, which rightly got his multiple comments flagged dead. His evidence-free Nazi-salute-defending arguments were in such bad faith, ignoring and refusing to address other people's valid counter arguments, the exact same way he is now ignoring and refusing to engage with mine, an…

You need to cool down. I replied to this comment: > I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive. > A big part of it is that you can, to some degree, learn programming from this. But you absolutely cannot learn software engineering from this. And you then showed off some embroidery stuff and things that I explained that in my…

> My belief is that learning is done best when there is a connection to something real, not just a simulation or an exercise.

Okay but you're stacking your unsubstantiated belief based on a sample of just you against an entire field of research where people have dedicated their lives, so maybe you can understand why some people take it personally when you just call it BS off the cuff?

> since you're convinced that no matter what, you're right

You're the one convinced you're right no matter what. You countered their very many resources with "Yeah but my belief". Okay, well what backs up your belief? Again, Scratch/Snap are backed up by decades of research, user studies, and deployments. It's not this one person's opinion what they're saying here.

> Whereas with real languages you can get close to how things are done for real, which serve as a motivator and invoke curiosity.

Have you actually examined if this is true or do you just feel that it is true? Moreover, even if it is true, have you examined if this is the only and best way to do things for everyone or do you just feel it?

Re: λ Snap – An inviting programming language for kids and adults for CS study

#98
post #90

Earlier quoted context omitted.

You need to cool down. I replied to this comment: > I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive. > A big part of it is that you can, to some degree, learn programming from this. But you absolutely cannot learn software engineering from this. And you then showed off some embroidery stuff and things that I explained that in my…

> My belief is that learning is done best when there is a connection to something real, not just a simulation or an exercise. Okay but you're stacking your unsubstantiated belief based on a sample of just you against an entire field of research where people have dedicated their lives, so maybe you can understand why some people take it personally when you just call it BS off the cuff? > since you're convinced that no…

> Okay but you're stacking your unsubstantiated belief based on a sample of just you against an entire field of research where people have dedicated their lives, so maybe you can understand why some people take it personally when you just call it BS off the cuff?

No, I usually don't understand why people take it personally if it's not directed towards anyone, but I do understand why it would come off as demeaning, so for that I apologize.

However it was not to the degree where this guy's response was warranted at all. Not one bit.

> You're the one convinced you're right no matter what. No. I never said I was right. I've literally multiple times said that it is MY opinion, and my view point, and that I'm simply saying what I think.

Okay, decades of research and whatnot, so is the conclusion that Snap is perfect for what it's intended and that there is no room for criticism or opposing views against it? Would I have to do decades of research in order to say anything about Snap? That would basically mean it's immune from criticism. We can say the same things about SAP for example.

again, I was replying to this comment:

> I don't love graphical programming environments like this and Scratch and I can't quite put my finger on why I find them so unattractive. > A big part of it is that you can, to some degree, learn programming from this. But you absolutely *cannot learn software engineering* from this.

I am not saying that it doesn't fill a niche, it's literally what I've already said, but I said that it doesn't mean that it is widely applicable, which is *totally fine*

> Have you actually examined if this is true or do you just feel that it is true? Yes, my experience was this. I never said it was for everyone, and you obviously know that, there's no way something will work for absolutely everyone

and I also haven't met basically anyone who learnt programming with Scratch or etc., it was mostly though playing around with real stuff in primitive ways and learning how things work until they became familiar.

I don't understand. There are a few people here who said they learnt programming through scratch, and that's great. However, I'm giving my own subjective experience and my thoughts as to why imo this is not as effective as some might claim, and especially for actually learning programming, not just gaining interest (which would be a small niche)

I think it's totally fine to give your own views, opinions and beliefs on a HN post subject, and I believe that progress happens through people communicating their own ideas and beliefs about things, from which others can then gain new perspectives outside of their own.

I also think it's very much against the hacker spirit to simply shut down everything because there isn't decades of research behind an argument.

You can discard all my beliefs and arguments here and that's totally fine. If they spark some idea or some theory, that's even better. Or if it's something you can relate to and go "oh so it's not just me!" that's also cool. Like how I felt with the original reply.

Re: λ Snap – An inviting programming language for kids and adults for CS study

#100
post #98

Earlier quoted context omitted.

> My belief is that learning is done best when there is a connection to something real, not just a simulation or an exercise. Okay but you're stacking your unsubstantiated belief based on a sample of just you against an entire field of research where people have dedicated their lives, so maybe you can understand why some people take it personally when you just call it BS off the cuff? > since you're convinced that no…

> Okay but you're stacking your unsubstantiated belief based on a sample of just you against an entire field of research where people have dedicated their lives, so maybe you can understand why some people take it personally when you just call it BS off the cuff? No, I usually don't understand why people take it personally if it's not directed towards anyone, but I do understand why it would come off as demeaning, so…

> However it was not to the degree where this guy's response was warranted at all. Not one bit.

Agreed.

> so is the conclusion that Snap is perfect for what it's intended and that there is no room for criticism or opposing views against it?

That's going too far in the opposite direction, no one has claimed that at all. Your opening post was "this is BS and just a toy, it's got no connection to the real world."

That was a strong negative statement so you've elicited strong pushback.

> and I also haven't met basically anyone who learnt programming with Scratch or etc.,

Well what kind of people do you associate with? What age group? I'm 40, people my age learned Logo as kids, which was the first language of its kind but also quite old by the 90s when I learned it. Before Logo, no one really made languages for kids.

The last student I taught who reported having learned from Logo was in 2020 and he was from Greece, so I think it may have some special appeal there. Beyond that, most of my students (I have taught thousands) report having their first programming experience in Scratch, regardless of whether they are majoring in CS or not. I can count on one hand the number of students who started learning naturally via Python or Javascript or even HTML before being introduced by a teacher to Scratch.

> I think it's totally fine to give your own views

It's totally fine to give your own views and you've spent many posts and many characters doing just that, so you haven't been impeded.

What I and others have are asking is for you to consider something beyond your own views. You've already acknowledged that probably you're not the target audience here, and it's exactly that: Scratch is not for you, and that's okay. That doesn't mean your way doesn't work when it works, but if you want to say something more about how far your method goes or Scratch's efficacy, you need something more than your own views.

Look, I'm actually with you -- I started programming on a mechanical typewriter at 5, and kept going from there. I love running enrichment programs for kids who are like that because you can give them anything and they'll just go with it. But really, only <1% of kids are like that.

Post reply on HN