Live data from Hacker News

Scratch is a big deal

bryanbraun.com

131–140 of 306 posts

Re: Scratch is a big deal

#131
post #13

For beginners up to about 12 years old, Scratch is optimal. For older ones I think a text-based language is better. In the past, that was BASIC. Today it can be Python, with which beginners have some problems in my experience. And now comes the shameless self-promotion: I have developed something that can fill this gap. By the way, it is open source. https://easylang.online/ide/

I've seen Scratch described as "learning how to talk before learning how to spell".

For beginning programmers, memorizing syntax is a major source of cognitive load. As a result, it's harder for them to practice the computational thinking skills that coding is really about. Scratch removes this barrier.

I actually think Scratch is a good tool for beginners of any age, including adults.

Re: Scratch is a big deal

#132
Scratch was how I got started in programming back in elementary school. It was taught in our computer classes. Everything this article says is spot on, the social aspect is amazing. I made a few programs and got comments on it and stars which hooked me. Side note hearing griffpatch is still around amazes me, I remember playing his scratch programs and wishing I could eventually do that. What’s amazing is it’s all still around and runs![1]

1. https://scratch.mit.edu/users/miniman520/

Re: Scratch is a big deal

#133
Scratch has succeeded in the way that counts most - building community.

However I tried to help my son to write some stuff with it and found it very hard and unintuitive to get stuff done.

There are other, similar systems that are MUCH better for programming, such as Construct3 https://www.construct.net/ and Snap https://snap.berkeley.edu/

In a way it's very disappointing that such a difficult to program system has become the default tool for teaching kids to program.

Also a shout out to CodeCombat - that's also a great way to teach kids very advanced underlying programming concepts whilst completely hiding all the complexity.

Also try https://www.microstudio.dev

Re: Scratch is a big deal

#134

Earlier quoted context omitted.

I teach Scratch to kids professionally. I love it as a learning tool, but when I need to actually write Scratch code myself for whatever reason, I find the experience pretty aggravating. Finding the block I need from the big list and dragging it into place takes a lot more time than just typing the command. Scratch programs also become messy quickly as the complexity increases. Normal code is more compact and easier…

Normal code that's compact and easy to follow is usually that way because it was written by somebody with a lot of experience. I've seen plenty of shit-piles called "code".

There are better and worse programs in every language, including Scratch. However, Scratch blocks physically take up more pixels on screen, so you can't see as much information at once.

Also, in most languages, you don't have to worry about the two-dimensional layout of your code.

Re: Scratch is a big deal

#135

Scratch has succeeded in the way that counts most - building community. However I tried to help my son to write some stuff with it and found it very hard and unintuitive to get stuff done. There are other, similar systems that are MUCH better for programming, such as Construct3 https://www.construct.net/ and Snap https://snap.berkeley.edu/ In a way it's very disappointing that such a difficult to program system has b…

What do you like better about Snap? At a quick glance, it looks almost exactly like Scratch 2.0 (an older version).

Re: Scratch is a big deal

#136
I used Scratch ALL THE TIME as a kid. I'd always play other people's projects and I made several of my own. I think in the long run it did help me; it was definitely fostered my interest in coding and game dev. And it probably did help me understand concepts in coding like variables.

I remember browsing Github several months ago and seeing that there was a repo for a Scratch plugin. That really surprised me, I didn't even know it allowed plugins. I'm surprised that there were people willing to make them too! That's awesome!

Re: Scratch is a big deal

#137

Scratch has succeeded in the way that counts most - building community. However I tried to help my son to write some stuff with it and found it very hard and unintuitive to get stuff done. There are other, similar systems that are MUCH better for programming, such as Construct3 https://www.construct.net/ and Snap https://snap.berkeley.edu/ In a way it's very disappointing that such a difficult to program system has b…

What do you like better about Snap? At a quick glance, it looks almost exactly like Scratch 2.0 (an older version).

Snap is the closest conceptually to Scratch.

I can't recall why I thought it was much better but that was the conclusion I came to when I reviewed them both a few years back.

Re: Scratch is a big deal

#138
post #2

One of my earliest memories of writing code was playing Gorillas, a QBASIC game, on my school's PC in the early 90s. My friends and I would tweak the source code to make the gravity stronger or weaker, or make other interesting mods to the projectiles. For me, it was a perfect introduction, because there was an already written, already playable program, and I could dive into the code little by little and explore. Scr…

I also started learning Qbasic from Gorillas.

This path of playing a game, wanting to learn more, then getting into computers and coding is actually really common in parts of the world where computers and computer-based educations aren't as wide spread.

I hire a bunch in Latin America, Middle East, etc, and every interview my first question is always "why did you get into software?" and I'd say more than half of people I interview got into coding in one of two ways, either gaming, or building websites. I'm interviewing people who learned to code more than ten years ago, when websites were HTML with some PHP and gamed were much more accessible. I'm not sure what the corresponding path would be these days.

Re: Scratch is a big deal

#139
post #60

A fun statistic is that Scratch now has over 100 million projects published by users on their website[1]. GitHub only reached 100m repos in 2018[2] - I can't find any more up-to-date numbers, but it's probably around 150m today. It's crazy to think that Scratch and GitHub operate on similar orders of magnitude. [1] https://scratch.mit.edu/statistics/ [2] https://github.blog/2018-11-08-100m-repos/

Maybe one of the reasons for sudden increase in the projects are companies such as Whitehat Jr. Whitehat incorporates and leverages Scratch in their lesson plans. For each lesson kids may be creating 1-3 Scratch programs. You can read more about Whitehat Jr, their approach to sales etc by doing a little googling. And am sure there are other companies who follow the same practice of leveraging Scratch in tutorials. (e…

The first week of Harvard's CS50 involves the creation of a little program in Scratch too.

Re: Scratch is a big deal

#140
Interesting that this popped up now. I had heard of Scratch but never really looked into it, but decided to give it a go last month. I decided to write a planetarium using the actual Hipparcos catalog, and solving Kepler's equation for the planet positions. I had hoped I could use it as an example to show that it's not really that hard to do. Unfortunately, I found it pretty tough to organize the code in any meaningful way. E.g. blocks can't have local variables, nor return values. You can't call a bock in another sprite, there's a workaround using "broadcast and wait", but it triggers a screen refresh. Just moving blocks around to order them in a meaningful way was quite a chore. Some mistakes, like making a variable global rather than sprite level, can't be corrected. Adding comments seems to be a bit buggy, and they don't move as you move the blocks around.

Since I've been programming for many a decades now, it's hard for me to see what it'd be like for a beginner to approach the language. But I was left wondering if this really is any easier for beginners. And if it is easier, is it really better they learn this way since it seems to actively force some poor programming choices.

In the end my code ended up looking way more complicated than it really is, and I'm not sure anyone but me could make heads or tails of it. (For anyone that wants to have a look: https://scratch.mit.edu/projects/708233643/ ).

Post reply on HN