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.