Hacker News new | ask | show | jobs
by narag 1176 days ago
Scratch gets a lot of hate with semi-experienced programmers (the kind to browse this sub) because of its simplicity...

"This sub"? Semi-experienced? Nice way to start a conversation. OK, I'll bite.

My first contact with Scratch was ten years ago when my son wanted to learn it in a workshop organized by Medialab Prado, a group funded by the city council. The wait list was already very long so, in order to cut it, I volunteered as an assistant teacher for another course.

I reviewed my son's assignment and helped him make some modifications after the classes.

I don't hate Scratch. I have a good opinion in general. But it had its shortcomings, that made easy to end up with some sort of visual spaghetti code, as soon as the project grew a little over the size of the examples. IIRC all variables were global.

My son chose a different tool for the next workshop, I don't remember the name (appstudio?), Python for the next and then Python again, but as a teacher. So good for initiation, but my impression was that not so good for bigger programs.

That might have changed, it's been a long time, but if you're curious about where criticism comes from, maybe it's not hate from semi-experienced wannabes :)

Oh and BTW, the guy that was the main teacher in my course defected in a couple of classes, so I had to take over. The children were bored with HTML and I tried introducing JavaScript. Surprisingly they understood it very quickly and liked it. Of course the group had a selection bias, people interested enough in programming to know about the course, etc. but my guess is that with some syntactic sugar and graphic libraries, it could reach a wider audience.

My two cents: every language should make super easy to draw shapes in a canvas and move them. If you need more than ten lines of boilerplate to do that, you shouldn't be designing languages.