255 lines
14 KiB
Plaintext
255 lines
14 KiB
Plaintext
|
|
Episode: 4316
|
||
|
|
Title: HPR4316: Is Scratch a real programming language?
|
||
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4316/hpr4316.mp3
|
||
|
|
Transcribed: 2025-10-25 22:52:57
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
This is Hacker Public Radio episode 4,316 from Monday the 17th of February, 2025.
|
||
|
|
Today's show is entitled, Is Scratch a Real Programming Language?
|
||
|
|
It is hosted by Troller Coaster and is about 16 minutes long.
|
||
|
|
It carries a clean flag.
|
||
|
|
The summary is, small interview with Orion on his experience teaching kids to program
|
||
|
|
in Scratch.
|
||
|
|
Hi, I'm Morgan.
|
||
|
|
Also known as Troller Coaster, have been putting on a few podcasts on Hacker Public Radio.
|
||
|
|
And today I have a friend from the Hacker Space with me, it's Orion.
|
||
|
|
And Orion, he has like a very special track record.
|
||
|
|
He's one of a developer, but he's also just a basic cool guy.
|
||
|
|
And one of the things he's doing is he's not too big to teach small programming languages.
|
||
|
|
And today I would like to ask him a few things about Scratch because Scratch is like the
|
||
|
|
Lego blocks of programming.
|
||
|
|
So first off, Orion, could you tell me a little bit about the history of Scratch?
|
||
|
|
Yeah, so, hey, first of all, pleasure to meet you all.
|
||
|
|
Scratch is a language that is very nice to teach the kids because, as you're going to
|
||
|
|
say, it's like Lego blocks, funnily enough that is actually how I started with dragging
|
||
|
|
blocks, not the scratch kind, but the Lego mind storm.
|
||
|
|
So it did start as literally Lego, the digital kind of dragging blocks.
|
||
|
|
And I think it's a really nice way to teach kids because you can look away from the syntax
|
||
|
|
and all the difficulties of coding.
|
||
|
|
And you can just focus on the logic of coding, how to think about it, the framework for
|
||
|
|
it.
|
||
|
|
Okay, cool.
|
||
|
|
And is it like a new language who developed it, who made it, how is it different than,
|
||
|
|
for example, Python?
|
||
|
|
Scratch has been made quite many years ago.
|
||
|
|
I don't actually know how many, I would hazard a guess of a decade.
|
||
|
|
It was made by a couple of schools, universities and research centers among all the MIT in
|
||
|
|
the United States.
|
||
|
|
So it really has a focus on teaching and not to be a language used for every day.
|
||
|
|
It's specifically meant for teaching kids.
|
||
|
|
Why is it so different from Python?
|
||
|
|
Because you don't write anything.
|
||
|
|
Everything is just blocks that you drag, you look at them, you know how they work, you
|
||
|
|
drag into if, then, else, blocks, but there's no actual writing.
|
||
|
|
So you can just focus on the coding itself and not the entrance disease of it.
|
||
|
|
Okay.
|
||
|
|
So people who have heard a few of my podcasts already know I'm a little bit of a, of a nerd
|
||
|
|
in certain topics.
|
||
|
|
I heard MIT and all kinds of bells start to do is tutoring.
|
||
|
|
Is this MIT license, or is this open source?
|
||
|
|
No, it's open source, it's not MIT license as far as I know.
|
||
|
|
And anyone can use it, it's free to use, you don't even have to download, you can completely
|
||
|
|
just access it in your browser, there's no software to install.
|
||
|
|
The availability of scratches is enormous.
|
||
|
|
There's even, it's translated into every, almost every language you can conceive.
|
||
|
|
When I did a workshop, where I did it in Portuguese, I know you can do it in Flemish,
|
||
|
|
you can do it in Russian or Chinese, if that's what you want.
|
||
|
|
Nice.
|
||
|
|
It's like blocks, I mean, how, what do these blocks look like?
|
||
|
|
What different kinds of blocks do you have?
|
||
|
|
Could you tell me some of the concepts?
|
||
|
|
Yeah, so scratch differentiates the blocks by colors and shapes.
|
||
|
|
So simple stuff would be like functions are round and blue, variables will be sharp
|
||
|
|
and diagonal, and you can easily differentiate between them.
|
||
|
|
And also when you already have, for example, a function block in front of you that requires
|
||
|
|
a variable, the variable hole will have the same shape as what you are looking for.
|
||
|
|
So it's easy to identify, oh, I'm looking for a variable because it has sharp, it's sharp,
|
||
|
|
or you're going to something else, oh, this requires a round one, it must be a function
|
||
|
|
or a movement function.
|
||
|
|
So it's easy to go into the menu and understand what you require to do, it's intuitive.
|
||
|
|
How about, with people say, learning scratch isn't actually really learning because it's
|
||
|
|
dumb down?
|
||
|
|
Well, I know someone that's commented on that and my response would be, look, scratch won't
|
||
|
|
make any real life use program, anything that you make in scratch will never be usable
|
||
|
|
in real life.
|
||
|
|
However, it creates video games, so it teaches you how to program and something that you
|
||
|
|
can move on to real programming later on, while also giving you a window where you can
|
||
|
|
instantly see your program, so you're coding and immediately testing.
|
||
|
|
Is it useful for real life program, can you make an API, no, you can't.
|
||
|
|
But at that point, someone that starts with scratch is unable to make an API in any case.
|
||
|
|
So it's there to teach you the mindset and the logic behind it so that later on, you
|
||
|
|
can move on to something more complicated.
|
||
|
|
Okay, just wondering because this part, I don't know either, does scratch also allow
|
||
|
|
I would like to think an object oriented programming?
|
||
|
|
I don't have a lot of experience with object oriented programming, so maybe I don't think
|
||
|
|
so.
|
||
|
|
What it does allow you is to have multiple triggers, so multiple functions acting at the
|
||
|
|
same time, which is not exactly object oriented, but it gives you a tiny bit of parallel processing
|
||
|
|
intuitiveness.
|
||
|
|
So you will have multiple things working at the same time, and you see how they interact
|
||
|
|
with each other.
|
||
|
|
Yeah, but if I understand you correctly, it's something that you haven't tried yet, so
|
||
|
|
you're not sure about it.
|
||
|
|
No, it's not something I'm sure about.
|
||
|
|
Okay, so maybe somebody will answer it in the comments, and hopefully yes, it would
|
||
|
|
be awesome.
|
||
|
|
I would like it.
|
||
|
|
Anyway, so you already told you that you started with Lego Mindstorm?
|
||
|
|
Yeah, so when I started, I started robotics when I was eight years old, and at the time
|
||
|
|
we were coding Lego Mindstorm with their own software, which is Dragon blocks.
|
||
|
|
From there, I moved on to HTML and PHP, and from there to Python.
|
||
|
|
So I think for kids, it's a really great way to get into programming, because you start
|
||
|
|
with something basic where you see immediate results, it's fun for the child, it's intuitive
|
||
|
|
and you learn, and then you can also apply the same concepts, everything that you've learned,
|
||
|
|
into actual real life coding.
|
||
|
|
So when I had the workshop with the kids, I did the whole workshop, we did two video
|
||
|
|
games, and so one of the video games was a very simple balloon pops up, a cat is supposed
|
||
|
|
to go after it, when you reach it, it moves to a different location.
|
||
|
|
What was actually really interesting to see was every child made a customized game, because
|
||
|
|
I used the default sprites of a balloon and a cat, every kid customized it.
|
||
|
|
I had a football obsessed kid that made into a football match with a stadium background,
|
||
|
|
football player sprite, football instead of the balloon, and it would play like football
|
||
|
|
whistles, and stuff like that when he would catch it.
|
||
|
|
So each kid really had fun doing it, nice, cool.
|
||
|
|
So while you were a kid, you started off with like a minestorms, could you tell me the
|
||
|
|
first project that blew your mind?
|
||
|
|
Line following robot.
|
||
|
|
We coded a tiny robot that would follow a black line, using two sensors to detect white
|
||
|
|
white, whenever it would be touching black, and then adjust the course, and that was the
|
||
|
|
first time, oh damn, my coding is doing something.
|
||
|
|
And for the kids, they didn't have a real robot, but I legitimately, we had a very calm
|
||
|
|
and shy kid.
|
||
|
|
When she started talking and introduced herself, I could barely hear any words.
|
||
|
|
When she started controlling her character on scratch, using the commands that she made,
|
||
|
|
she became the loudest kid, happiest kid you can imagine.
|
||
|
|
The moment she saw the character move, because she controlled it, and it was like, wow, she
|
||
|
|
loved it.
|
||
|
|
Yeah, nice.
|
||
|
|
Because when you see the thing doing what you coded it to, the kids love it.
|
||
|
|
Great, great.
|
||
|
|
So how do you build it?
|
||
|
|
Imagine some of our listeners also want to create like a workshop on a teach kids scratch.
|
||
|
|
So I imagine they can go to a code or dojo or something, but if nothing exists yet,
|
||
|
|
so how would you build it?
|
||
|
|
First of all, I will tell that MIT, because they created scratch, MIT itself provides guides
|
||
|
|
on workshops.
|
||
|
|
Oh, cool.
|
||
|
|
Full guides on icebreakers, what to do, how to code it, everything.
|
||
|
|
They have full workshops that you can follow online.
|
||
|
|
It's amazing.
|
||
|
|
I did my workshop was not entirely that, but it was based on it.
|
||
|
|
My advice to you was to basically understand that you have children.
|
||
|
|
They cannot be treated as adults.
|
||
|
|
Start with an icebreaker, have a simpler example that even though the program you will
|
||
|
|
make is not the coolest ever, it will touch a bit of every basis.
|
||
|
|
So for example, when I made the first one, the cat follows the balloon, touches the balloon,
|
||
|
|
balloon follows to another place.
|
||
|
|
That would also teach a few of movement functions.
|
||
|
|
It had the variable for storing points, modifier of the variable controlling sprites.
|
||
|
|
It touched a bit on every subject.
|
||
|
|
So even though it didn't go in depth, they at least knew it existed.
|
||
|
|
So my best bet is to look at the guides from MIT, but try to create your own workshop
|
||
|
|
where you know what the kids want to do, you understand what is fun.
|
||
|
|
Because for a child, if it's not fun, they're not going to do it.
|
||
|
|
For example, my workshop was on a weekend and specifically outside of school because
|
||
|
|
I did not want children to associate my workshop with boring schoolwork.
|
||
|
|
Okay.
|
||
|
|
So it was a weekend activity for them.
|
||
|
|
It was four hours, they did something and they took it home.
|
||
|
|
Home, they had like a link.
|
||
|
|
No, it means they actually, because scratch allows, it's entirely on browser, though you
|
||
|
|
can download a computer application, however, even on browser, you can download your
|
||
|
|
program as a scratch file and then re-apploat on scratch to play it whenever you want.
|
||
|
|
Okay.
|
||
|
|
If you are a guest account, if you actually have an account, you are able to save your
|
||
|
|
program on your account and play it whenever you want.
|
||
|
|
You have an archive of your project.
|
||
|
|
Okay.
|
||
|
|
Nice.
|
||
|
|
What age range would you put scratch into?
|
||
|
|
Look, I will be honest with you, I don't put scratch on any age because even though
|
||
|
|
it is made for kids and actual answer would be between 8 to 14 to 16.
|
||
|
|
The real answer is start on scratch if you don't know programming.
|
||
|
|
It doesn't matter if you're 12, 50, 62 or 80 years old.
|
||
|
|
Yeah, but I mean, I'm assuming at least you have to know how to read.
|
||
|
|
Yes.
|
||
|
|
Yes, but because maybe the colors can be enough because I know that there is an accessibility
|
||
|
|
high-contrast setting.
|
||
|
|
So if you have problem with vision, you can also set it on and it will be easier for you.
|
||
|
|
Yeah.
|
||
|
|
But I don't really set a limit.
|
||
|
|
Honestly, I recommend scratch is just a starting point for anyone that has never coded
|
||
|
|
in their life.
|
||
|
|
And so you did this project in Portugal, in what framework did you do this in your living
|
||
|
|
room or on your own?
|
||
|
|
No, so about a year ago, my family created an association in Portugal, nonprofit association
|
||
|
|
with the goal of giving cultural events once a month, which we've done a few.
|
||
|
|
They've been poetry, they've been photography and artistry, lately we've done the programming
|
||
|
|
workshop.
|
||
|
|
The goal is to, we've had a house there for 20 years, the goal is to give back to the
|
||
|
|
community that has given us so much.
|
||
|
|
So we do everything nonprofits, the next event is the donation of books to the local school
|
||
|
|
for kids 2 to 6.
|
||
|
|
So if you're saying that you have like a very different types of events, you're talking
|
||
|
|
about a poetry event and then a scratch workshop to have like in my eyes two extremes.
|
||
|
|
Yes, so do you have the same audience or do you have very different audiences?
|
||
|
|
We have very different audiences actually finding an audience for my event was harder than
|
||
|
|
for everything else because the association is based on a village of 2,000 people and
|
||
|
|
the population of the village is getting older.
|
||
|
|
So no, actually that is one of the things of the association, almost every event that
|
||
|
|
is in the villages for older people.
|
||
|
|
There is almost nothing for younger people.
|
||
|
|
So one of the things that the association is trying to do and did with this programming
|
||
|
|
event was try to make something for the younger people.
|
||
|
|
Okay, so association association is not only for young, the young kids and teenagers.
|
||
|
|
No, it's for everyone.
|
||
|
|
We try to do cultural events.
|
||
|
|
Like I said, we did poetry, we've done a supervent, now the programming, I already have
|
||
|
|
another two programming workshops for this year.
|
||
|
|
One in July, one in December, most likely one in April too because the kids really want
|
||
|
|
to win.
|
||
|
|
I'm already trying to advance what they're going to do because most of the kids that did
|
||
|
|
before want to do it again.
|
||
|
|
So I need to do something a bit more advanced.
|
||
|
|
But no, we try to do events for everyone.
|
||
|
|
We also have a public library.
|
||
|
|
We have over 1,000 books that anyone can take out at any time.
|
||
|
|
We're just trying to give back culturally.
|
||
|
|
Okay, cool.
|
||
|
|
And that is, organization have a name or is it just a...
|
||
|
|
Yeah, it's called More Mundoche and you can find it at MoreMundoche.pt.
|
||
|
|
Yes.
|
||
|
|
Yes.
|
||
|
|
Yeah, thanks.
|
||
|
|
I think it was a cool talk.
|
||
|
|
Yeah, thank you so much for inviting me over.
|
||
|
|
Let's see if other people in the community out there also have experience with Scratch
|
||
|
|
or maybe with other programming languages to teach kids.
|
||
|
|
And please put your comments in the comments if you have something to say or maybe even
|
||
|
|
better.
|
||
|
|
Record your own podcast.
|
||
|
|
It might also be interesting to do something similar to Hackerspace in Brussels if you ever
|
||
|
|
want to.
|
||
|
|
Yeah, sure.
|
||
|
|
That would be a good idea.
|
||
|
|
No, definitely in English or French or French unless you do it.
|
||
|
|
Yeah, okay.
|
||
|
|
Because you don't speak in the language.
|
||
|
|
No.
|
||
|
|
No, okay.
|
||
|
|
That's the range of your...
|
||
|
|
Okay, cool.
|
||
|
|
Yeah.
|
||
|
|
See you around.
|
||
|
|
See you around.
|
||
|
|
Thanks.
|
||
|
|
You have been listening to Hacker Public Radio at Hacker Public Radio.
|
||
|
|
Today's show was contributed by a HBR listener like yourself.
|
||
|
|
If you ever thought of recording a podcast, click on our contribute link to find out how
|
||
|
|
easy it really is.
|
||
|
|
Hosting for HBR has been kindly provided by an honesthost.com, the Internet Archive,
|
||
|
|
and our Sync.net.
|
||
|
|
On the Sadois stages, today's show is released under Creative Commons, Attribution 4.0 International
|
||
|
|
License.
|