[HN Gopher] Scratch is the world's largest coding community for ... ___________________________________________________________________ Scratch is the world's largest coding community for children Author : khochesh_kushat Score : 584 points Date : 2023-03-30 14:17 UTC (8 hours ago) (HTM) web link (scratch.mit.edu) (TXT) w3m dump (scratch.mit.edu) | nrjames wrote: | As a parent who used Scratch with their kids... it all started | out great and then veered into being an unregulated social media | network lacking any ability to create a space where they could | build and learn to code in private. It wasn't long before they | were doing it only for the likes and, without constant | supervision, trying to figure out how to join various groups and | challenges simply for the attention they would receive. | | I really like the idea of Scratch, but I feel like parents and | teachers who use it in the classroom should have a way to create | for their kids accounts that are not part of the community | aspects of the tool. Kids don't need to be doing anything online | for "likes" at the age of 8 or 9. | disembiggen wrote: | I was obsessed with scratch as a child. It was my way in to | computer programming, and I've taught in schools using it. It's | an incredible tool and I'll hype it up any chance I get! It | really is a miracle! | Wasserpuncher wrote: | Ohh yes! We also use it at school. | ciconia wrote: | Both of my teenage kids are learning Scratch at school. They both | find it confusing and annoying, and I don't disagree. I believe | teaching them something like LOGO would have been much more | efficient and gratifying. | skulk wrote: | Scratch is why I got into software. One day, more than 10 years | ago, my dad showed me this weird program for making a cat move | around, and the rest is history. | trustingtrust wrote: | My 9 year old nephew today told me he wants to learn scratch. I | don't know where he heard that from but he was very specific | about it. Wow. | [deleted] | yalogin wrote: | Folks here who used scratch with their kids, what is the next | step after scratch? How did you introduce a language/platform to | your kid? I have introduced python and my kid is able to pick it | up, but am unable to come up with projects that sustain interest. | It feels dry without UI and one shouldn't be doing web dev with | python too. So what is the progression for python and kids? | empressplay wrote: | turtleSpaces is a text-based variant of Logo with both 2D and | 3D modes that runs in a web browser. Its syntax is very similar | to Scratch, and it's less picky about formatting (doesn't care | about white space, etc). | | You can make 3D models (for printing), 2D artwork, and 2D and | 3D animations and games. Once they're able to create things | with turtleSpaces, it's much easier to move on to Python, Lua | or Javascript | | https://turtlespaces.org/weblogo | JamesSwift wrote: | Roblox could be good. The marketplace is such that you can drop | them in and have them create practical things, while deciding | how in the weeds of actual coding they want to get into. | alexb_ wrote: | I think it's best to just leave them with scratch until they | get bored of it. Eventually, if they end up having a passion | for programming, the fundamentals built there will help them | immensly at picking it up. Be careful not to force your own | interests on your kids! | tropicaljacket wrote: | After scratch, we tried this: | | - https://www.codemonkey.com/ (mix of block programming and | python) . Step by step guidance. A lot of kid-oriented UI/fun | stuff. | | - https://codecombat.com/ (python or JS). Still have levels, | hint etc but the solution is less straightforward (sometimes | I'm even stuck trying to help my kid!) | | - If your kid is advanced enough, try https://open.kattis.com/ | | One common problem that kids encountered that's not | straightforward is debugging simple coding issue (e.g. missing | colon, mixing variable names, etc.) Even with great guidance | from the platform, it's very common for kids to run into this | and the compiler error is not helpful. A parent/teacher with | programmer experience is needed to unblock. | jawns wrote: | For our kids, the progression has been: | | - Scratch Jr. | | - Scratch | | - Replit | | Scratch helps them understand programming concepts such as | variables, lists, conditionals, and events, but still in an | intuitive visual programming interface. | | Replit gives the kids access to real programming languages (JS, | Python, etc.) but with lots of support, and the same "remix | other people's projects" culture. | | Indeed, our kids have found that there are a LOT of Replit | users in their early teens (12-15), and they all help each | other out. | csmeyer wrote: | What projects do your kids complete on replit? Are they | following youtube tutorials or first party content from | replit? | moreati wrote: | https://www.hedy.org/ is billed as an incremental bridge from | Scratch to Python, with built in learning aids and teaching | aids. | ragebol wrote: | I used this with my scout group a while ago, kids 11-14. They | loved it and went way further with this than I ever expected. | | Kids had no experience with any programming language, no | Scratch, no Python etc. | giraffe_lady wrote: | BBC microbit is a decent transition in my experience. It gives | a couple sensors and simple LED and sound output built in which | helps come up with ideas for playing around with it. | | The IDE also allows you to switch back and forth between | scratch and, I think js or python, and see the code output of | the scratch you've written. | snowytrees wrote: | As someone who learned programming with scratch in elementary | school, the next step they did was using DrRacket but honestly | I did not like it. I don't remember anything I made with it but | still remember my scratch projects. I think pygame would be a | good next step as it is batteries included and let's you build | similar gui applications with an event loop. However, I haven't | used scratch since around 2010 so it could have evolved a lot | since I used it and the concepts might not translate anymore. | askvictor wrote: | MakeCode is pretty amazing. Options for it are the micro:bit, | an 8-bit arcade system, or Minecraft. Switches between block- | programming and Python or Javascript, so you have an easy path | to text programming. | | For 'real' programming, once they have their python chops, have | a look at https://anvil.works | ronilan wrote: | [dead] | adunsulag wrote: | I put my kids through both scratch and khan academy javascript. | I've found that it helps them come to terms a lot with the | underlying mechanics of scratch and my oldest is now graduating | onto building web apps. When my child hits a hurdle and feels | like doing something easier they go back to scratch. | Uhhrrr wrote: | I showed my younger kid some stupid JavaScript tricks in the | browser developer console and he was off to the races, looking | up how to make splashy buttons and the like. So I got them the | "Get Coding" books, which are HTML/JavaScript. He's on to more | elaborate things now. | | I also showed my older kid some JavaScript and Python after he | had messed around in Scratch for a while, and he was mildly | interested and then went off to do other things. So YMMV | because my mileage certainly varied. | somethoughts wrote: | I'm in the process of testing out the following on Middle | Schoolers: | | microStudio includes all you need to write code, create sprites | and maps for your 2D game. All from your web browser. Your | project is stored in the cloud, accessible from anywhere. | | Write your game code in microScript, a simple language inspired | by Lua. The documentation is always there to help. Create cool | demos in just a few lines of code. | | microScript shines by its simplicity and interactivity. But you | can also code in JavaScript, Python or Lua if you prefer. | | https://microstudio.dev | | Also recently found https://www.solarus-games.org: | | https://www.youtube.com/watch?v=Qq7rda5G6Lc | | Starts out with some default RPGMaker style tools (i.e. tile | map editor, sprite manager, enemy manager, etc.) but subtly | introduces Lua to enable mods to the default game making tools | so you can make your own Zelda like games. | | Wish me luck! | kgwxd wrote: | Roblox Studio is, by far, the most encouraging environment I've | see for kids. Being able to easily share a multiplayer 3D world | with friends is a HUGE motivator. My 6yo has been using it | almost daily for a few months now and things like Scratch never | held his interest for more than a few hours total. Only | downside is you need a decent PC for it to be usable. | Wowfunhappy wrote: | I've heard great things about Roblox Studio in isolation, but | it's just so unfortunate that it's tied to a proprietary | platform that uses dark patterns to profit off of children. | photochemsyn wrote: | I'd imagine learning at least a little Python alongside Scratch | would be more optimal than Scratch alone. It's like bilingual | education, it has great benefits although individuals may | gravitate towards a preferred option. Perhaps it's a bit like | comparing Minecraft to Factorio: | | https://www.idtech.com/blog/scratch-vs-python | | Looking around, it also seems possible to set up your own Scratch | server, which is comparable to setting up a Minecraft server, | then you could use Python to pound away via the Scratch API | (which is otherwise disallowed by the Scratch team on the public | Scratch servers, reasonably enough). That might be a good project | for older kids (teenagers). | hedora wrote: | JS is cleaner than Python for this, IMO: | | https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_... | | It's also more likely to run a few years from now, and it works | on tablets, grandpa's ailing windows box, etc. | hajile wrote: | Scratch now uses blockly under the surface and blockly itself | is written in JS. If you wanted to extend things, JS seems like | a more natural choice. | cyrialize wrote: | Other platforms similar to Scratch actually teach Python! | | They start off with drag and drop coding and then Python. The | Python is actually pretty fun, you write code to make animals | move around and get stars. | knicholes wrote: | It's almost as if Python was designed to make it easy for | kids to learn how to program. | teucris wrote: | Which platforms are you referring to? | giovannibonetti wrote: | Not OP, but CodeWars is a platform I heard about that fits | the description | mstade wrote: | I think maybe Lego mindstorms does this. | askvictor wrote: | Not OP, but Makecode does this. | Elte wrote: | Also not OP, but I literally just learned about Hedy [1] | today. No experience except from clicking through it for 20 | minutes, but it looks quite interesting, taking somebody | from a language with a very simple syntax (and limited | functionality) to full blown Python, one level at a time, | by making the language gradually more complicated (and more | powerful). | | [1] https://www.hedycode.com/ | pdm55 wrote: | I also quickly went through the basic tasks in 17 levels | of Hedy in about 20 mins. (I just know a little | programming.) Hedy is text-based and introduces ideas | such as: print, entering variables, if, else, repeat, ... | I really liked the gradual approach, which keeps you | going forward onto the next level. | | There are additional tasks at each level (see tabs at | top) which I didn't try. It seems that these tasks are | best done from left to right in order to get the basic | idea of what is required. | em-bee wrote: | i found it very confusing that the introduction at each | level links to the next level but does not tell you to | try the exercises. i didn't even realize that the tabs | were exercises per level as i consider tabs a higher | level hierarchy compared to the previous/next buttons. (i | expect those to work within a tab, and not switch to a | different row of tabs) | | and also, why introduce an echo command in level 1 only | to drop it in level 2? they could have waited and | introduced ask in level 2 or 3 even. | | i love the quiz questions though, they even make me, as | an experienced programmer, think | rahimnathwani wrote: | Do kids who start programming with Hedy get confused | about when a piece of text is interpreted as a variable | vs. a string? | | https://www.hedycode.com/hedy/2#default | | The way it automatically detects variable within strings | seems to magical. OTOH AIUI Hedy has been developed | alongside research on what works for kids. | alephaleph wrote: | IIRC one of Hedy's unique features is that it gradually | increases in complexity as you "level up" including | introducing what we'd call "breaking changes". At level | 4, they start allowing _and requiring_ you to quote | string literals: https://www.hedycode.com/hedy/4#default | rahimnathwani wrote: | Nice! | | I'm excited for my son to try it out once he's gotten | comfortable with scratch. | | At the moment, he's more interested in the visual design | part of scratch than the programming, so I probably need | to find some cool existing animations to inspire him. | disembiggen wrote: | the thing I've found teaching is that the place scratch really | shines is teaching kids who are a bit too young to "get" | Python. I think it's related to their language/visual intuition | but a seven year old will be able to pick up quite complex | things in Scratch visually without being able to grasp fairly | basic things in Python. Give them a couple of years in the oven | with or without Scratch and they'll be much more confident and | ready in picking up Python, but scratch can teach them a lot in | the mean time. | eshnil wrote: | Snap language by SAP (snap.berkeley.edu) would be a better | stepping stone rather than directly going to industrial | languages. It's got first-class functions, first-class lists, | object-oriented programming, APL-style vector operations which | are very handy for media processing, machine learning etc, | continuations, ability to make HTTP calls etc - while keeping | the same playful environment as scratch. | | Features like this enable serious study of computer science | possible with Snap: https://emu- | online.de/ComputerScienceWithSnap_2.pdf | | There's even a variation for 3D geometries: beetleblocks.com | | Scratch is immensely popular but with lack of reporter blocks | and lack of first-class lists, it encourages many bad | programming habits (global state, no datas tructures like | stack/queue/tree/graph etc. The one advantage it has over | SnapLang is that it has better performance for building | intensive games etc. | [deleted] | em-bee wrote: | etoys for squeak, which is somewhat similar to scratch (and | supposedly influenced its development) has the ability to | switch between blocks and the smalltalk code that the blocks | generate. so you can basically look under the hood (and also | change the smalltalk code) | __mharrison__ wrote: | "It's like Scratch but annoying" - One my of children's friends | when describing working with Python in hour of code. | martin1b wrote: | My kids love scratch. Excellent introduction to coding for kids. | Wish it was taught in schools more as it helps build methodical | cognitive thinking. I consider it modern BASIC. | zabzonk wrote: | i (a 69 year old c++ dev) use it for writing interactive xmas & | birthday cards - it really is great! give it a try. | samstave wrote: | Please post an example? | zabzonk wrote: | cannot - they are all personal | Turing_Machine wrote: | For sure. Though designed for kids, Scratch is a lot of fun for | adults as well. I encourage everyone to spend a little time | playing with it. I think you'll be impressed. | throw0101b wrote: | If any parents live in Toronto, the TPL has programs for kids | (9+) on Scratch at various branches: | | * https://www.torontopubliclibrary.ca/search.jsp?Ntt=Scratch+C... | moneywoes wrote: | Is there monetization? | csmeyer wrote: | When people use scratch with their kids, what tutorials do they | follow? Do they try and figure things out from first principles, | or are their popular content creators who make stuff? How do | people transition their kids from scratch to Python? From my | experience teaching, it seems like it's really hard for kids to | make that transition. | khochesh_kushat wrote: | There's an official YT channel with lots of small simple game | tutorials. | NDizzle wrote: | Great questions, and good timing. My daughter asked about | learning "line programming" instead of "block programming" | yesterday. | | Finally, out of 3 kids one is interested! Now what do I do?! | Python, I'm assuming, but following what curriculum? | jalk wrote: | How about p5.js Graphics centric which imo is easier to keep | kids engaged. The coding train yet channel has tons of videos | on P5.js | ocfnash wrote: | There is a marvelous app designed to solve exactly this problem | called Pytch: https://www.pytch.org/app/ | berkle4455 wrote: | With LLM's, Scratch is probably a closer interface to the sort of | programming we'll all be doing in the near future. | quonn wrote: | When the managers have do this ,,programming" themselves they | will go back to letting developers pick their tools. Just like | now. | memco wrote: | Haven't worked with scratch myself, but I do enjoy HelloComics' | stream where they're making a pretty fun looking 2d metroidvania | style game in Scrtatch. If you're interested in seeing how it | could be used for a large scale project it might be worth a look: | https://m.twitch.tv/hellocomics. | CoryAlexMartin wrote: | He's actually using Stencyl, which has a programming interface | based on Scratch. | maliker wrote: | I would have guessed Roblox was the largest. 214 million monthly | active Roblox users in Feb 2023, assume only 20% are kids | actually building something so 43 million, beating scratch's 36 | million monthly unique visits [1]. Still awesome how huge Scratch | has become. | | [1] https://scratch.mit.edu/statistics/ | diego_sandoval wrote: | I Learned to program using Microsoft Small Basic. I was 14 and | the experience was really good. I learned through the PDF | tutorial [1], which now has also been translated to HTML | documents [2]. | | And I think that if I had been 9 years old when I learned, I | would have still chosen to use Small Basic rather than Scratch. | Block-style coding _feels_ less versatile than text. It may look | more attractive to some kids, but I would also suppose that some | kids would rather use a text-based language. | | Graphic capabilities in Small Basic were still really easy to use | (look at the PDF from chapter 6 onwards). | | [1] | https://download.microsoft.com/download/9/0/6/90616372-C4BF-... | | [2] https://smallbasic- | publicwebsite.azurewebsites.net/tutorials... | thesausageking wrote: | My 8 yo loves Scratch. She's made over 30 apps with it and has | had a great time. However, now that she's reached the limits of | what it can do, I have been frustrated that there isn't a natural | place for her to graduate to. And Scratch does get really limited | quickly. | | There are unofficial forks like SheepTester's one which let you | drop JavaScript into Scratch projects, but they're not easy to | use. We've failed a few times trying to setup it and make her | successful with it. And it also requires you to know JavaScript | moderately well. | 123pie123 wrote: | my kids really like CodeCombat | | https://codecombat.com/ | nwinter wrote: | Thanks for the mention! We are working on a side-by-side | blocks-and-code mode with two-way sync that should be pretty | good for this. | easrng wrote: | Snap _!_ has already been mentioned, but another scratch mod | that has more extensions available (and is faster and has more | options) is Turbowarp (https://turbowarp.org/) | john-tells-all wrote: | Agree. My nephew has made _800_ Scratch projects, which is | mind-blowing. I 'd _love_ to offer him a smooth path to other | development. However: | | - Python has graphics, but it's a very steep climb from the | simple drag-and-drop of Scratch | | - Javascript has easy UI elements, but he'd have to learn HTML | and other things | | Scratch is so different from "straight" programming, I'm not | sure if it's worth his time to learn JS and then translate his | Scratch knowledge to it. | mkehrt wrote: | Possibly Processing? or processing.js? | | The Coding Train on youtube (run by Daniel Shiffman) | (https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw) | has some great tutorials. | birdyrooster wrote: | It's so wonderful how prolific children can be when they get | excited about something. | skeaker wrote: | A younger relative of mine did a course through code.org a | few years ago. I remember it being essentially Javascript but | you could toggle to a code blocks view and could drag-and- | drop some HTML elements so you wouldn't have to worry about | the HTML side. Not sure if the actual courses are any good, | but it might be similar to what you're looking for. | keithjl wrote: | I'd make a case for any node-based scripting language in 3D | modeling software. Blender or Grasshopper for Rhino comes to | mind. Benefit of Grasshopper is that there are convenient | Python or C# nodes for you to write scripts that can't be | expressed through nodes (IE loops); downside is that it is paid | software (although not subscription based!!). | | For architecture/design students, Grasshopper is usual their | first introduction to programming and algorithmic thinking, and | many students become fantastic programmers by extension. | mkehrt wrote: | Possibly Processing? or processing.js? | | The Coding Train on youtube (run by Daniel Shiffman) | (https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw) has | some great tutorials. | lkajslkjdd wrote: | The Microsoft Makecode editor allows you to switch between | block and JS, which can help with this. | | More embedded orientated but still an interesting idea. | | https://makecode.microbit.org/#editor | brw12 wrote: | [I was an engineer at Scratch for 4 years] | | The "what do we do after Scratch" question is tricky! There's | no super clear answer (and a big market opportunity!) | | It is important for people getting deeper into programming to | learn a text-based language. But I do want to say that you | don't need to _stop_ using Scratch -- lots of adults use it, | and it 's really great for many things... e.g., this memory | portrait of my mother sewing when I was young | https://scratch.mit.edu/projects/646805603 | | Several comments here have hit on the visual UI as an element | of Scratch that other languages don't have as readily. | | Another element is the sharable context: you can make a Scratch | project with others' enjoyment in mind; your project doesn't | have to have another purpose besides being fun to play with. | | So for moving on to other programming languages, I think the | key is to identify compelling projects and to find (or build) | small communities which will use those projects. | | E.g.: | | * sites like replit and Glitch and Github Pages and val.town | where the whole idea is to make a small program (or piece of a | program), publish it instantly, share it with others and remix | others' programs | | * making a choose your own adventure-style or Zork-style text | game | | * Advent of Code https://adventofcode.com provides a massive | multiplayer experience where you know you're solving the same | project as thousands of other people | em-bee wrote: | etoys for squeak has the ability to switch between blocks and | code, as a way to learn about the code that the blocks | generate. | | it would be interesting to have a programming language that | is essentially a text form of scratch and that can drive the | same animations so that you could learn the text syntax and | continue creating the same games, or even translate from one | to the other. | RRWagner wrote: | Maybe this: https://snap.berkeley.edu/ | leobg wrote: | What app/device are you using? Looking for something like this | for my 6 year old. | Joeri wrote: | Scratch also really lets you focus on one concept at a time. My | son followed a programming course in scratch and the entire first | lesson was about sequence, they learned to drag one instruction | after another and saw how the order of steps impacted the result. | I would have never conceived of explaining something as basic as | sequence first, but scratch is ideal for that because it doesn't | require any boilerplate. | bastardoperator wrote: | Can you run scratch locally? | khochesh_kushat wrote: | Yes: https://scratch.mit.edu/download/ | Kon-Peki wrote: | My kids got started with Scratch 1.4 on a Raspberry Pi. | That's as far as we've gone with it. Scratch 2 was a lost | cause from the start, and Scratch 3 leans way too hard into | the "community" aspect of it. It's really too bad. | em-bee wrote: | in what way does it lean to hard into community? you can | run scratch 3 offline, without any community at all. | singhrac wrote: | I am a Scratch-taught programmer in that I played with Scratch in | 5th grade and ended up programming professionally. It was great | and I'm sure they've done a good job with it since. I'm very, | very grateful. | [deleted] | cgk wrote: | Full disclosure: Principal Software Engineer here on the Scratch | backend... | | Scratch is not built to be a "teach your kid programming | languages" system, it is based on the work and ideas of the Life | Long Kindergarten group at the MIT Media Lab (the director of | this group is Professor Mitch Resnick, the LEGO, Papert Professor | of Learning Research). The Papert part is where the term | Mindstorms comes from (https://www.amazon.com/Mindstorms- | Children-Computers-Powerfu...) and was used by the Lego Group | when branding those products, and our philosophy is heavily | influenced by that. | | I can say that the https://scratch.mit.edu/statistics/ are real | and we have a substantial footprint of backend services and | custom software to support it. We handle on the order of 15-20 | million comments/month. | | The primary design philosophy is: | | Passion: You have a strong interest in a subject/problem to | solve/explore Projects: Build something based on your passions, | gain directly interactive experience with it. Peers: Share your | work with folks who are interested and provide feedback to you | Play: It should be fun! | | Note that there is nothing in there about STEM/STEAM nor | application development. We build and support Scratch to provide | creative tools for anyone to explore computation in a from that | is relatable and has a low floor for understanding/entry. Having | said that, the complexity of what Scratch can do rises sharply | the more you work with it and the concepts behind "forking" and | opensource are built in via the remix ability on individual | projects. | | A lot of design thinking goes into the frontend of Scratch to | build on a creativity feedback loop that is not focused on | learning Python or any other specific language (or the syntax of | them, i.e. avoid "why isn't my program working... oh, one too | many tabs... or maybe this semi-colon, or maybe this .") | | Another part I think is worth raising, the Scratch frontend is a | sophisticated virtual machine interpreter that has it's own | machine code and model that is executing in a Javascript | environment in browser and it is still open source. Google's | Blockly project was based on the ideas of Scratch 1.4 and when we | ported Scratch 2 away from being Flash based, we partnered with | the Blockly group to fork their code base and create Scratch | Blocks. | | Based on the TIOBE index, we're usually somewhere in the top 20 | most popular "programming languages". _eat it Fortran!_ | outworlder wrote: | Scratch really seems to be well-designed, from what I've seen. | | I actually wanted to use Scratch to program Home Assistant | automations. My day job is enough 'serious' programming | already. Plus maybe my family would be able to modify some | automations. | Mixtape wrote: | While I have the chance here, I want to say thanks to you and | your team for the amazing work that you all are doing. I doubt | you need further validation, but believe me when I say that the | ideas you're describing do work. My entire career in CS started | with Scratch in intermediate school (somewhere between 2010 and | 2012). Having an interface with a low barrier to entry, | particularly for someone whose economic situation didn't allow | for engagement with more sophisticated tools, allowed me to | begin engaging with computing in ways that I'm not sure I | would've been able to otherwise. It was also a bonding | experience for my peer group and provided me with a shared | interest to meet people over. At the precipice of graduating | with a bachelor's in CS, I've been reflecting a lot on how I | get here, and Scratch certainly played no small part in that | process. | 123pie123 wrote: | >"Scratch is not built to be a "teach your kid programming | languages" | | You might want to change the wikipedia page that describes you | to the whole world | | (from the first line of wikipedia)> Scratch is a high-level | block-based visual programming language and website aimed | primarily at children as an educational tool for programming, | with a target audience of ages 8 to 16. | | I would say scratch is a brilliant first language for children | varun_ch wrote: | Thank you for the amazing work you and the Scratch Team do. I | want to second the comment that Scratch works. I'm 16 years old | and I discovered Scratch when I was 7. Soon I will be starting | my professional career (hopefully something in computer | science/engineering/cybersecurity), and it's all thanks to | Scratch and the amazing community you have fostered. I don't | think I would have ever even considered computers as something | interesting to me unless I discovered Scratch. | | Thank you. | mjb wrote: | > We build and support Scratch to provide creative tools for | anyone to explore computation in a from that is relatable and | has a low floor for understanding/entry. | | I love this philosophy. Computing is so much more than | application development. It's a creative tool, and exploration | tool, a tool for finding insight and exploring spaces. Giving | people access to those tools without gatekeeping or accidental | complexity is fantastic. | | The popularity "you need to start with SICP" and "BASIC | mutilates programmers" lines of thinking have done so much | damage to the way we, as an engineering community, think about | the role of computation in society. | dfex wrote: | I grew up with Applesoft BASIC and later HyperCard - as a kid, | I was never a "Developer", but I was always curious - the fact | that I could take someone else's source code and change it to | my will felt like a superpower. | | Now Scratch has more than filled that gap for my own children, | and while they may never choose to pursue a career in IT, the | fact that they are able to explore the field so easily is | invaluable and may help them down the line. | | Thanks to you and your team for all you do! | plttn wrote: | Remembering back to when I was a kid, Scratch was absolutely | fantastic, and definitely helped me put me on the path I am | today. Fantastic work. | | With that said (and apologies on using the power of HN here), | I've been trying to get in touch with Scratch support to have | an old account of mine deleted, but I can't ever seem to get a | reply. Would you happen to know who to get in touch with, other | than the contact form? | brw12 wrote: | [I was an engineer at Scratch for 4 years] | | My suggestion is to try using the contact form again. Sorry | that isn't more helpful. | zem wrote: | scratch seems like a good candidate to be the next flash, in | the sense of an authoring tool that makes it easy to create and | share little games. do you have any theories as to why scratch | games haven't taken off the way flash games did back in the | day? | JustinGarrison wrote: | If you're interested in what's on the backend I interviewed one | of the infrastructure engineers and talked about it here | | https://youtu.be/QrBztSqCmlk | em-bee wrote: | why did you cut out the actual interview? i'd have been | interested in that as well, and learn what you derived that | whiteboard from. | Retr0id wrote: | They're selling it short - it's the largest coding community full | stop. | | "As of 15 February, 2023, community statistics on the language's | official website show more than 123 million projects shared by | over 103 million users, over 804 million total projects"[1] | | Compare to GitHub: | | "As of January 2023, GitHub reported having over 100 million | developers and more than 372 million repositories"[2] | | Of course, the average Scratch user is very different from the | average GitHub user, and the average Scratch project is very | different from the average GitHub repo - but the numbers don't | lie (probably). | | [1] https://scratch.mit.edu/statistics/ | | [2] https://github.blog/2023-01-25-100-million-developers-and- | co... | | Edit: Somewhat tangentially, bear in mind that Scratch publicly | launched in 2007. The first generation of Scratch learners are | now adults with jobs in-industry, who appear from time to time on | the front page of HN ;) | __mharrison__ wrote: | Pretty sure Excel is the largest coding group in the world, | they just don't share their code in Github. | spullara wrote: | You have to wonder why there isn't a huge online excel | community. | fredsmith219 wrote: | They're all in sleeper cells. | zimpenfish wrote: | Shame? | FigmentEngine wrote: | they work in single cells... | Retr0id wrote: | "Community" being the key word. | TeMPOraL wrote: | All Microsoft needs to do here is to include a stripped | down IM inside Excel, a blend between MS Teams and | Chatroulette, but with a twist: it will upload what you're | working on to Bing to take a look at, group you with others | whose Excel sheets are closest to your in the latent space, | and connect you all in a group chat. | | Like magic, fluid, self-associative communities. | idinnoaname wrote: | I can see why this got down-voted, but seeing this in | fruition would be quite interesting. | | Of course, this would probably require sharing internal | corporate data which is a big no-no. | bobthepanda wrote: | I wonder if you could have this where the chat just | tokenizes or minifies code on the client and spits out | human readable made up stuff on the other end. | thebigshane wrote: | sounds like the new Microsoft Loop product/service | announced a few days ago | | https://www.microsoft.com/en- | us/microsoft-365/blog/2023/03/2... | zamnos wrote: | I have _never_ seen a programmer as excited to tell me | about something like, say, Duff 's Device as I've seen one | excel user hear another ask "what're pivot tables"? and to | have the other reply "Let me show you..." That may have to | do with the kind of party I end up at, but "helping each | other out" is a rather important feature of any community. | There are also Excel championships with a prize. | https://www.fmworldcup.com/excel-esports/microsoft-excel- | wor... | | When's the last time you got a prize for programming | outside of your paycheck or a signing bonus? Communities | definitely have shared events and what better shared event | than a competition? | Retr0id wrote: | I'm amused that's still going, one of my classmates | qualified for and attended the Word championship hosted | in Vegas many years ago. | | As for programming prizes, "last week" if we're counting | bug-bounties, "a few years ago" if we're counting CTFs, | and 5 years ago if we're not. | | Clearly there _is_ an Excel community in the general | sense but as far as I know it isn 't centered around any | particular venue - at least, not one at the scale of | GitHub or Scratch | zamnos wrote: | Infosec is a community unto itself. What was the | competition 5 years ago? | Wowfunhappy wrote: | Every time you open a new instance of the Scratch editor, | Scratch saves it as a new project. It's still a huge number but | a bit skewed compared to e.g. Github. | hnbad wrote: | 103 million users is still more than 100 million developers | though, even if you disregard the number of projects. | pftburger wrote: | Haha pretty sure GitHub counts pointless forks and generator | projects though | Wowfunhappy wrote: | Scratch has their version of a fork, called a "remix". | [deleted] | charcircuit wrote: | Is scratch counting remixes in the total projects? I doubt | Github is counting folks. | | Also sharing raw user count doesn't mean much. I have a | suspicious github deletes far more bot accounts than scratch | does and really we should care about something like MAU which | takes into account retention. | sokoloff wrote: | Why wouldn't _github_ count forks? I have several repos | forked with my own local changes. (I also have some repos | forked without changes.) They should absolutely count forks | with commits on them at the very least. | munificent wrote: | By that metric, gist.github.com is probably the world's largest | coding community. | qznc wrote: | The numbers do lie I think. I have two Github accounts (work | and private). My single Scratch account is also used by my two | kids. So Scratch might be even more ahead. | | On the other hand, your numbers are accounts, I assume. Not | active users | wizzwizz4 wrote: | Many Scratchers hop between accounts like they're... well, | accounts in a computer system. Last I checked, the average | (among active Scratchers) seemed to be about 4 accounts per | person. | n3storm wrote: | Many kids created several user profiles. Most of the times when | they "level up" and for example "learn functions" (custom | blocks), instead of create new projects with the learning old | ones they create a new user profile so I would at least divide | 103 million users by two. | Retr0id wrote: | Anecdotally, I have at least 3 GitHub profiles | Wowfunhappy wrote: | Note that Scratch does not require users to verify their | email addresses (although some functionality is | restricted), so the barrier to entry is somewhat lower. | | Even for confirmed email addresses, Scratch is super lax in | terms of what they'll accept. My company (a childrens' | coding enrichment program) probably has upwards of a | thousand Scratch accounts attached to a single gmail via | "+" aliases, and Scratch doesn't care at all. | datkam wrote: | I have many profiles on any platform that I use a lot (at | least 15 on HN and 15 on reddit). | freedomben wrote: | Genuine question: why? I only have one, and I wonder if | I'm missing something. | Tade0 wrote: | Anecdata: my sister had a additional Facebook account for | gaming on this social media platform and adding strangers | as friends for related bonuses without running the risk | of inviting stalkers. | | EDIT: additional, not "duplicate", which would imply any | of the personal data was similar - it was of course | fictional. | sobkas wrote: | But for how long programming will be an useful skill? Because if | it become a hobby/toy it will have to compete with other | activities that are more fun/fulfilling. Or it could become part | of existing hobbies eg. let's write software for onboard computer | in this model rocket. | pcwalton wrote: | Scratch is brilliant, and the research that has gone into | creating a visual programming language has paid off handily. I | wish that node-based visual scripting systems like Unreal | Blueprints (and, to a certain extent, things like Blender Shader | Nodes and Geometry Nodes+) worked more like Scratch: | | 1. Edges in node-based programming get tangled easily and it | becomes hard to read. Scratch has no visual edges: the pieces | snap together, making it easy to visually follow the flow. | | 2. Having to manually drag nodes around is a chore. Scratch does | automatic layout within individual functions. | | 3. Some node-based systems use colors to distinguish types. This | is inherently less readable than the different shapes that | Scratch uses. | | 4. Scratch is structured programming, unlike node-based systems | which are essentially based on GOTO. | | 5. Visual programming systems based on nodes have no easy way to | step up to text-based programming languages, unlike Scratch which | follows the form of standard source code. This is largely because | of (4): nodes are based on GOTO, which is not how modern | programming languages work. | | + Node-based programming is more defensible when there's no | control flow, such as with common shaders, but I still think it'd | be worthwhile to try something like Scratch in this domain, | perhaps modified a bit to better visualize "pipeline" workflows. | GaggiX wrote: | Everyone talks about their kids trying Scratch but I'm pretty | young myself, I remember playing with Scratch when I was a kid, | very simple games that I would then show my friends. It was a fun | experience. | adolph wrote: | Scratch also has a plugins for BBC Micro:bit and Lego Boost. They | work well although the old Boost hardware is lacking storage so | only works in Bluetooth tethered mode. The solutions have two | parts: 1. a side application to facilitate the Bluetooth | connection from the web browser to the device; 2. additional | block types to control the servos etc. | | https://scratch.mit.edu/microbit | | https://scratch.mit.edu/boost https://scratch.mit.edu/boost | davepeck wrote: | Seattle Public Schools participates in code.org's "hour of code" | program, which introduces students to programming in general and | to the (delightfully good) free resources and programming | environments on both code.org and scratch.mit.edu. My daughter | had her first "hour" in first grade and it stuck; she loves | toying with scratch and making little games. Both organizations | are doing amazing work. | varun_ch wrote: | Hour of Code is wonderful. I think my old school was one of the | first to try it, in 2013 or 2014, and that's how I discovered | my love for computers. It's a really great initiative that has | no doubt impacted thousands of people around the world. I hope | Hour of Code and Scratch continue to exist for years to come. | dang wrote: | Related. I'm a bit surprised there hasn't been more (most of | these threads were small). Others? | | _Ask HN: Alternatives to Scratch for a blind child?_ - | https://news.ycombinator.com/item?id=34229502 - Jan 2023 (67 | comments) | | _Ask HN: is learning Elixir suitable for a kid who currently | uses MIT's Scratch?_ - | https://news.ycombinator.com/item?id=32242897 - July 2022 (4 | comments) | | _Show HN: CodeStruct - Python programming environment for | novices after Scratch_ - | https://news.ycombinator.com/item?id=32232110 - July 2022 (5 | comments) | | _Show HN: PickCode - An educational coding environment for | students after Scratch_ - | https://news.ycombinator.com/item?id=32230329 - July 2022 (32 | comments) | | _I made advanced BI queries with Scratch puzzle pieces_ - | https://news.ycombinator.com/item?id=32130444 - July 2022 (20 | comments) | | _Scratch is a big deal_ - | https://news.ycombinator.com/item?id=32120445 - July 2022 (296 | comments) | | _Linux Kernel Module written in Scratch (a visual programming | language for kids)_ - | https://news.ycombinator.com/item?id=31921996 - June 2022 (38 | comments) | | _Snap is Scheme disguised as Scratch [pdf]_ - | https://news.ycombinator.com/item?id=28337196 - Aug 2021 (40 | comments) | | _Syllabus for teaching Scratch programming to kids_ - | https://news.ycombinator.com/item?id=24633742 - Sept 2020 (2 | comments) | | _Show HN: My 10 yr olds recent scratch creations_ - | https://news.ycombinator.com/item?id=23892698 - July 2020 (9 | comments) | | _Scratch: Block-based visual programming language_ - | https://news.ycombinator.com/item?id=22854218 - April 2020 (10 | comments) | | _Recursion and Fractals_ - | https://news.ycombinator.com/item?id=21879638 - Dec 2019 (19 | comments) | | _Scratch 3.0_ - https://news.ycombinator.com/item?id=18810216 - | Jan 2019 (110 comments) | | _Game of Life in Scratch_ - | https://news.ycombinator.com/item?id=14625653 - June 2017 (7 | comments) | | _How Scratch teaches kids to follow the hacker ethic_ - | https://news.ycombinator.com/item?id=14274249 - May 2017 (115 | comments) | | _A Forth to Scratch compiler_ - | https://news.ycombinator.com/item?id=13564754 - Feb 2017 (7 | comments) | | _Why I Believe Scratch Is the Future of Programming_ - | https://news.ycombinator.com/item?id=13129030 - Dec 2016 (62 | comments) | | _Scratch is probably the answer_ - | https://news.ycombinator.com/item?id=10144228 - Aug 2015 (27 | comments) | | _MIT Scratch - Teach kids to program stories, games, and | animations_ - https://news.ycombinator.com/item?id=8751969 - Dec | 2014 (30 comments) | | _MIT 's Scratch Team releases Scratch 2.0 editor and player as | open source_ - https://news.ycombinator.com/item?id=7739604 - May | 2014 (61 comments) | | _Scratch for Arduino_ - | https://news.ycombinator.com/item?id=6613619 - Oct 2013 (11 | comments) | | _What 's New in Scratch 2.0_ - | https://news.ycombinator.com/item?id=5685448 - May 2013 (47 | comments) | | _Super Scratch Programming Adventure--A new programming comic | for kids_ - https://news.ycombinator.com/item?id=4419513 - Aug | 2012 (2 comments) | | _Using Kinect with MIT 's Scratch (visual programming language)_ | - https://news.ycombinator.com/item?id=2086238 - Jan 2011 (4 | comments) | | _Use Scratch to Easily Program Household Appliances_ - | https://news.ycombinator.com/item?id=2077265 - Jan 2011 (8 | comments) | | _Apple Rejects Kid-Friendly Programming App_ - | https://news.ycombinator.com/item?id=1281738 - April 2010 (26 | comments) | | _Scratch: Programming for all_ - | https://news.ycombinator.com/item?id=955228 - Nov 2009 (2 | comments) | | _Ask HN: Guido van Rossum 's comment about go and scratch_ - | https://news.ycombinator.com/item?id=946338 - Nov 2009 (26 | comments) | | _Scratch Helps Kids Get With the Program_ - | https://news.ycombinator.com/item?id=608629 - May 2009 (11 | comments) | | _Scratch is a Programming Language for Kids_ - | https://news.ycombinator.com/item?id=36053 - July 2007 (5 | comments) | isp wrote: | _Linux Kernel Module written in Scratch (a visual programming | language for kids)_ - | https://news.ycombinator.com/item?id=31921996 - June 2022 (38 | comments) | dang wrote: | Wow great catch. Added above. Thanks! | shultays wrote: | Looks kinda similar to early Flash, which was my first real | programming experience. Actionscript had a similar visual | programming tool back then and you could also switch to "text | mode" if you wanted to see what those visual blocks meant as a | code. And it came with an amazing offline help manual. | Flash/Macromedia was start of my career basically | stuckinhell wrote: | Doubtful, I believe that actually goes to Roblox or Minecraft. | kleer001 wrote: | Maybe it terms of total users, but I don't think every Roblox | or Minecraft user is actually coding. Most of them are | assuredly just players. | Brajeshwar wrote: | If your kids tinker with Scratch, try out TurboWarp[1], a Scratch | mod that compiles projects to JavaScript. | | Other alternatives to tinker with are Blocky[2] and Snap[3]. | | 1. https://turbowarp.org | | 2. https://developers.google.com/blockly/ | | 3. https://snap.berkeley.edu | michelb wrote: | My nephew loved Scratch, he went on to https://www.hedycode.com/ | in school and is now continuing in Python. Great stuff. | titchard wrote: | Scratch is a great tool for teaching the entry level elements | before you move onto a written code. I have been running after | school classes for kids using Scratch (under the Raspberry Pi | charity arm codeclub.org) and they take to it very quickly. | dabei wrote: | Is there any effort to connect Scratch with LLMs? | smfjaw wrote: | Scratch gets meme'd way too hard, such a good way to learn, we | did this for a few classes in highschool as an intro to the | concepts, got me hooked and now I'm a dev at a hedge gund | zzixp wrote: | Without scratch I would not have connected with programming the | way I did when I was a kid. Fantastic program, and a great | community as well. | n3storm wrote: | My kid has learnt a lot both programatically and online social | skills thanks to Scratch.mit.edu. Thanks from Spain! | tropicaljacket wrote: | can you explain more about social skills? And how old is your | child? | hcaz wrote: | I have spent countless hours in scratch when I was younger. I | learnt to program in basic originally but I loved scratch for its | ease of use. | | There was a group of us during ICT classes who would try and make | the best games with scratch. Ended up learning the basics of | momentum and control schemes by messing around with it. | salawat wrote: | Does no one do Logos anymore? | empressplay wrote: | Yes! Many schools around the world still teach Logo. Two web- | based Logo interpreters are: | | Lynx: https://lynxcoding.club | | turtleSpaces: https://turtlespaces.org/weblogo | dhosek wrote: | There's a logo app for ios that my son (9yo) has been playing | with. | khochesh_kushat wrote: | What is doing logos? | trufas wrote: | The one with the turtle[0] | | [0] https://en.wikipedia.org/wiki/Logo_(programming_language) | dhosek wrote: | I think op meant logo | ar9av wrote: | Scratch gets a lot of hate with semi-experienced programmers (the | kind to browse this sub) because of its simplicity, but it's | actually really good. It teaches you basic programming concepts | without all of the complexity of other programming languages. | | I remember back in school, some of the students in my computer | science classes didn't understand the basic concepts of | programming: variables, loops, functions, etc. and programming is | 90% logic and problem-solving. | | You can't teach programming by teaching the syntax of a language, | you have to teach logic. If you know one language, figuring out | another is going to be easy because most of the things are the | same, the only difference is the syntax. | narag wrote: | _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. | birdyrooster wrote: | My first CS course used Scratch to teach it and I have to say I | enjoyed it a lot more than the C++ which followed and I | certainly remember more from the experience. C++ was my | introduction to pain. | jackson1442 wrote: | I think it's great- most of the hate probably comes from people | who came into their first programming class already knowing how | to code to some degree and had to "downgrade" from a | traditional language to Scratch to learn along with the class. | | I've been there, but there's still some cool stuff you can do | when you bring in your outside programming knowledge. | overthrow wrote: | fyi, this comment is a copy/paste of a 4 year old comment from | https://old.reddit.com/r/learnprogramming/comments/asqslg/if... | | I guess HN has karma farming bots now | raspasov wrote: | Wow. | archgoon wrote: | <from the shadows> | | Yep, as are most of the other comments. | | <sinks back into the shadows> | dang wrote: | Thanks. Banned. | | All: if you ever notice anything like this and have a minute | to let us know at hn@ycombinator.com, we'd really appreciate | it. I only saw this by change. | pstorm wrote: | I'm curious, how did you figure this out? Do you search texts | of random HN comments? Did you remember that comment? I see | these posts on here sometimes, and just don't understand how | the commenters so consistently find these types of things. | wl wrote: | > semi-experienced programmers (the kind to browse this | sub) | | Is a giveaway the comment is copy/pasted from Reddit. | ikesau wrote: | What a bummer. Open, anonymous, and free forums are some of | the most interesting places on the internet. this profit- | motivated antisocial shit makes me so sad. | | edit: oh. most if not all of the comments are from reddit. | ansible wrote: | https://lobste.rs/ has an interesting mechanism to curb | bots on the platform. | | To join to website, you have to get a referral from another | current user. And this referral is public information. So | if someone you referred starts acting like an ass, then you | can expect some concern being directed your way. People are | rightly a bit cautious with giving out referrals as a | consequence. | | The topics on lobste.rs are more focused on programming and | computers (stuff you'd likely also see on HN), and there's | not really any political discussion. Traffic is light, | expect maybe a dozen new links per day. | | This comment, by the way, does not constitute an invitation | to ask _me_ for a referral. I don 't really know too well | anyone on HN, other than the most famous users (none of who | know who I am), so if you ask _me_ for a referral, the | answer is very likely "no". | NayamAmarshe wrote: | Anybody remember Logo? That turtle graphics program? That's what | they taught us at school. Programming for kids surely has changed | a lot since then. | jazzido wrote: | Scratch is part of the same lineage [0]. Seymour Papert | (creator of Logo) was one of the doctoral advisors of Mitch | Resnick, who leads the group at MIT that maintains Scratch. | | [0] https://el.media.mit.edu/logo- | foundation/what_is_logo/histor... | kleer001 wrote: | THAT is fantastic and heartwarming. I wish they put that | front and center on a History of Scratch page. | empressplay wrote: | There are modern web-based Logo interpreters too, including: | | Lynx (2D): https://lynxcoding.club turtleSpaces (3D): | https://turtlespaces.org/weblogo | | Logo is still taught by many schools, all around the world! | mcshicks wrote: | You can do turtle graphics in scratch. I have taught some | beginner scratch classes at my local library and used the | turtle graphics feature for the example for the class | latchkey wrote: | My grandfather got me a lesson in Logo when I was <10 on his | apple ii. It was before I understood the concept of degrees, so | I really struggled with it. That said, it is part of what made | me into a software engineer today. | theonething wrote: | I played around with Scratch and all the pointing, clicking and | dragging drove me nuts. | SpaceManNabs wrote: | I first used scratch in 200X as a freshman. Glad to see lots of | other kids are still using it to learn. My best friend at the | time made an incredible sonic game and it showed me how deep you | can go with any tool. | [deleted] | Kelamir wrote: | I was impressed when I had seen that the scratch forum has | millions of posts: https://scratch.mit.edu/discuss/ | JoeOfTexas wrote: | My 9 year old daughter surprised me yesterday with her little | game made with Scratch. I was impressed. | | I surprised her back when I did user-testing haha. She discovered | the fun world of bugs and user's doing things they shouldn't! | AzzieElbab wrote: | I code in 5 languages professionally, and I also do | infrastructure and architecture. My kid is so much better than | me in Scratch; it is embarrassing. | pixelize wrote: | I LOL'ed! You really brought out the QA and product testing on | her, haha! | shagie wrote: | > I surprised her back when I did user-testing haha. She | discovered the fun world of bugs and user's doing things they | shouldn't! | | Oh... that path takes you to strange places. | | Mr. Fart's Favorite Colors - https://medium.com/@blakeross/mr- | fart-s-favorite-colors-3177... (7 years ago - | https://news.ycombinator.com/item?id=11231631 ) | | It starts when we're 8 and coding our very first program. | "What's your favorite color?" it asks, sweetly, twirling a lock | of Visual Basic around its finger. You type in your answer, the | screen changes color accordingly, and boom -- time to show off | to family. | | Then Aunt Jody calls. | | "Honey, it froze on me. 'Color.exe has crashed.' I don't know | what that means." You take a look at her entry. She entered: 2. | | "I thought it asked how many favorite colors I had?" | | But how could you...but what does it even mean to have more | than one favori...ok, fine. No big deal. You add a sliver of | code to stop people from typing numbers into the box. | skeaker wrote: | Great read, thanks for sharing. This took me down an hour | long rabbit hole of airplane safety procedures which is not | what you would have expected going in. | dunham wrote: | We had one in makecode that I had to look into after my kid | left for school. (He was pretty frustrated.) Turned out that it | wasn't applying changes we made in the code and the window | needed to be reloaded. | | My ten year old is doing both scratch and makecode. The | graphics in makecode are not as flexible as scratch, but it's | fun to be able to make a game and run it on a physical device | (pybadge). | welfare wrote: | Quality Assurance is a first reality-check. | | Please shield her from doing UAT with unreasonable business | stakeholders as long as you can | vb234 wrote: | I've been tempted to teach my daughter programming with | scratch. At what age did you introduce your daughter to Scratch | and programming? Where there any helpful/fun guides you or she | discovered along the way? | sokoloff wrote: | I introduced to my kids at around 6 and 8. 6 was maybe a | little early, but not much (and will vary by kid, of course). | | One thing that really added to the fun when they were making | games is I got a PS3 controller (which is bluetooth) and | connected that to the computer as a keyboard, which Scratch | code can then read and use in the games. | | The first big (for them) project we did was: | https://scratch.mit.edu/projects/219423211/ They had just | turned 7 and 9 when we did that and dad helped them out with | a fair bit of guidance (and cribbing from other projects), | but after this one, they really took to playing around with | it on their own and a few times per month, I'll look over and | see Adam using scratch around 5 years later. | | PS: There is a Scratch Jr if your kids don't seem quite old | enough to have the attention span/focus for scratch. | JoeOfTexas wrote: | She uses it at school, but no one taught her how to use it. | She has followed tutorials for making games on Roblox Studio | in the past. However, kids just hit the ground running with | Scratch way better than adults. | asciii wrote: | > I surprised her back when I did user-testing | | Wait till she gets tough PR reviews. | | _This block is ugly, and our team does not like looking at it_ | :P | samstave wrote: | AND This damn kid WORKS FROM HOME every darn day and doesnt | even let me know on Slack! | qikInNdOutReply wrote: | Remember that robblox investigation, were they interviewed | that 12 year old that already talked like a burned out | developer, feeling cheated out of the revenue. The children | yearn for the mines.. | | https://www.youtube.com/watch?v=_gXlauRB1EQ | asciii wrote: | Yikes... | | Scratch and Roblox conspiracy to create an army of child | developers? :O | Wowfunhappy wrote: | Please do not conflate Scratch and Roblox! | | Scratch is open source software created by a nonprofit | foundation to promote education and creativity. | | Roblox exploits children for profit and I quite literally | believe they are violating child labor laws. | bitdivision wrote: | The part in question: https://youtu.be/_gXlauRB1EQ?t=827 | unfairly4820 wrote: | Found this piece of code long ago online , Calculator game made | from a kid from Scratch... (but spelled Claculator lol) | | https://i.redd.it/5t9mpdhzzniz.png | alexb_ wrote: | I remember when I was young, I made a scratch game that was | just "Guess the secret letter". Basically "if l pressed, you | win, else you lose". | | Except my 10 year old brain did not understand what else meant. | So I created, over the course of hours, a different if | statement for every key on the keyboard that all ended with | "you lose". Was a shock to me when my parents, after seeing my | code for the first time, told me what else means. What a waste! | detritus wrote: | One of the fun things about having a kid is realising how | fundamentally-learned _everything_ is, and how much we adults | end up taking for granted. I catch myself so many times | explaining things to my daughter, and then realising that the | terms and concepts I 'm using in the description also need | describing. (She's 22). | avtar wrote: | At work [1], we've wanted to provide kids with cognitive and/or | physical disabilities an introduction to coding fundamentals | (sequences, loops, etc). As a result, we've created Weavly [2]. | It's a React app that can work standalone, but also integrates | with some off-the-shelf robots. It's free, open source [3], and | accessible to people using screen readers, switches, and other | assistive technologies. | | [1] https://idrc.ocadu.ca/ | | [2] https://weavly.org/ | | [3] https://github.com/codelearncreate/c2lc-coding-environment | distcs wrote: | Not a Scratch user. Also not a child here. A grown up software | programmer. But I did try Scratch and I could not make much sense | of it. Maybe I am missing something. So read this comment as a | request for help. | | The last time I tried, I remember I had to drag and drop building | blocks available as tiles. Some tiles made the character turn | right. Some tiles did something else. Some implemented | conditionals. Am I remembering it right? | | And then when you run the program, the character moves across the | screen in the way it was programmed. Is that all? Is there | something more that we can do with Scratch? Can we write an | interactive adventure game for example? | | Just making sure I did not miss something. I would really like to | try it again but not sure what I was missing. Or is it really | meant for children and it would not appeal to adults? | fayten wrote: | You can make some pretty robust stuff with Scratch. | | User griffpatch has made a lot of advanced stuff here: | https://scratch.mit.edu/users/griffpatch/ | | He has a youtube series too about building a 2D RPG in Scratch | along with a built in tile editor: | https://www.youtube.com/watch?v=5lof-Nu1VVE&list=PLy4zsTUHwG... | | There is also a faster interpreter called TurboWarp that runs | significantly faster than the official Scratch implementation: | https://turbowarp.org/ | | Here is an example of the old 2d space shooter Tyrian running | in turbowarp: https://turbowarp.org/151417355 | khochesh_kushat wrote: | It's possible you were playing Scratch Jr, it sounds a bit like | it. | hoherd wrote: | It's a lot more than that. People do ray tracing with scratch. | https://scratch.mit.edu/users/Raytracing/ | Retr0id wrote: | Scratch also has variables, lists, if/else and looping control | flow structures, and procedures (the main limitation, imho, | being that procedures don't have scoped local variables and | cannot return a value) | | It also has event-based concurrency. | distcs wrote: | Are they all available as tiles to be dragged and dropped? Or | can I type it out too with a keyboard? | Retr0id wrote: | The former. If you want text, other languages are | available. | | If you _really_ want to use a keyboard, Tosh exists, | effectively acting as an alternative front-end for Scratch | https://tosh.blob.codes/ | | If even using a keyboard is too much effort, I have a | Python library for doing Scratch metaprogramming and code | generation, with optional vscode integration: | https://github.com/davidBuchanan314/boiga | | I've used it to write non-trivial Scratch programs, such as | X25519 key exchange with ChaCha20-Poly1305 authenticated | encryption https://scratch.mit.edu/projects/714773326/ | Wowfunhappy wrote: | > If you really want to use a keyboard, Tosh exists, | effectively acting as an alternative front-end for | Scratch https://tosh.blob.codes/ | | I really wish this was a bit more robust. I would like to | use it as a bridge between Scratch and Python or | Javascript, getting kids in the habit of typing things | using syntax they are already intimately familiar with. | | But the project is just a bit too buggy. I've had | variables randomly not appear, sounds not import, etc. | | This is in no way a criticism of the developer who | created tosh as a passion project, it's just a lament. | Tosh is so close to being a fantastic tool. | varun_ch wrote: | Not anything officially supported, but there are some | community tools to do that, tosh[0] and Scratch Addons'[1] | "Insert blocks by name" addon comes to mind | | [0] https://tosh.blob.codes/ [1] https://scratchaddons.com/ | (It's a browser extension chalk full of little enhancements | for Scratch) | avodonosov wrote: | My experience (past HN thread): | https://news.ycombinator.com/item?id=32122972 | mavili wrote: | Isn't it pretty much the only coding community for children? | Headlines like this are always catchy but also not so. Largest | community.. for children.. of 10-11 years.. :D the group just | gets narrower and narrower as you read | balls187 wrote: | Scratch is also one of the largest places for kids to play games. | stevenkkim wrote: | Yeah, I learned this when I thought my kid was spending hours | coding, he was actually spending hours playing games. | snowwrestler wrote: | This is true--and watch animated stories. | | But the cool thing is that for any game or story on Scratch, | the kid can click into the project to see how it was made, and | even access the code and assets. They can copy, fork, alter, | build. | | The technology is different obviously, but it feels like the | early days of the Web, when you could "view source" and "save | as" to easily explore and learn how any web page was put | together. | Turing_Machine wrote: | > But the cool thing is that for any game or story on | Scratch, the kid can click into the project to see how it was | made, and even access the code and assets. | | Definitely an important feature for learning. Seeing | something cool and then immediately being able to find out | how it was done is much more motivating than reading and | memorizing docs ahead of time. | | It's similar in some respects the early days of the web when | "View source" was enough to figure out how something worked. | It's rather sad that feature has mostly been lost. | MH15 wrote: | Scratch was instrumental in my path to software, I loved using | the old desktop version as a kid. Thrilled to see it continues to | inspire a new generation of children. | ksab wrote: | My 4 year old made his first program using Scratch Jr. | | What was this program? | | He made a story where cats jump up and down 25 times and then | walk away. He recorded sound effects for the cats that repeated | as the cats jump. | | It's simple but offers so much more of a creative outlet than | games/educational apps aimed at his age group. | ryanjshaw wrote: | Thanks for mentioning this option -- much easier to use for | early readers! | efitz wrote: | I bought a subscription to CodeSpark Academy and my kid has | spent literally hundreds of hours on it over the last few | years. He's 9 now but started at 5 or 6. It allows him to do | exactly the kind of things you describe- simple animations with | kid-provided sound effects, a simple visual building block | programming language, etc. I think that the key advantage of | these types of systems is that they allow kids to do things | that kids like (animated cats, poop noises, whatever) right off | the bat. Getting enough python skill to do these kinds of | things would take many hours of learning. | meterplech wrote: | This is really cool. Out of curiosity - how did you actually | set this up for him to use? Was it on tablet or a computer or | phone? Any suggestions for a dad of a 3.5 year old? | | Also, is he reading / at what level? Trying to get a feel for | when I can introduce it to him. | ksab wrote: | We're using an iPad. It's theoretically aimed at older | children (5+) but my son was able to pick it up no problem. | | I sat down with mine about 6 months ago (he was 3.75 at the | time) and we learned what each of the blocks did and how to | combine them. | | Now he asks to make a program and can do it independently. | | He experiments with the backgrounds, sound effects, loops and | motion. | | My son can read but knowing how to count/recognize numbers is | more important in this interface. Everything is graphical. | Loops require a number input. | | Another toy aimed at older children that younger ones can | play with is snap circuits. We introduced the toy at 3. He | can copy the project schematic and build the project. He | built the AM radio project independently. | meterplech wrote: | Really helpful - thanks for the details! | contemplatter wrote: | [flagged] | pavlov wrote: | Why spend money on expensive Legos when you can buy any | imaginable plastic toy for cheaper on AliExpress? | khochesh_kushat wrote: | I suspect even with AIs certain kinds of people will still | enjoy creating by hand. Certain kinds of people won't, of | course, and that's ok. | gs17 wrote: | Because they're doing this for fun. A lot of kids genuinely | enjoy the process of making games. | patchymcnoodles wrote: | Why learning anything, if we have GPT-4? Why even commenting | here, GPT-4 could do that, too ;). | MikeTheRocker wrote: | I love Scratch! I credit it partially with getting me into | programming in middle school. | matthew28845 wrote: | Same, I think I made my account when I was 9. I have Scratch to | thank for a lot of my interests today. | myth_drannon wrote: | I find Scratch so confusing. So many menu options, drop downs , | select here click here. Very frustrating experience. I don't | think my child (8 years old) learns coding from it. I'm trying to | find away to introduce him to Basic. But he looses interest once | he sees just lines. Scratch is flashy and things can be moved and | clicked which is what the kids are used now, but I just don't see | any educational or fun value added. | zabzonk wrote: | honestly, you don't need to use the menus much at all. it's | mostly just drag and drop from the block pallette. this thing | has been specifically designed to be easy for kids to use, and | all the evidence is that it has worked amazingly well. | eimrine wrote: | > But he looses interest once he sees just lines. | | This hits me deeply. I do not have kids, even not married. But | when/if they will appear I will manage to disallow any GUI on | the territory of my house for everybody including me (I hope | old Nokias will still be a thing at that time for having | ability to communicate or it will not work). Then a child will | look at the lines as at the most interesting thing in the house | and maybe starts going a GNU/Linux hacker way as early as some | greatest mathematicians have started their math careers. | | I respect such thing as Scratch and any of his competitors, but | let's be honest, gentlemen - games is a misusing of computer | and the lines is what matters. | Mezzie wrote: | Can you start him with JavaScript and basic web development | instead? That's how I learned around that age (started around 5 | or 6). The immediate feedback of being able to change something | in text and immediately see the impact was a big thing that | helped me. Likewise, something like helping him mod games he | plays might be good. | | Scratch always kind of struck me as a non-programmer's idea of | how to teach children to code personally. (Or at least | programmers that didn't start/weren't active _as_ children). | khochesh_kushat wrote: | My 7 year old watched it and it clicked quickly, but we also | watched a couple example videos on their official YouTube | channel. Maybe give that a try. Once it clicked we were able to | make some cool stuff together, and she was able to add features | on her own. | roland35 wrote: | I love that my son enjoys scratch, but I wish there was some way | to have parental controls on the social aspects of it! I am a | little uncomfortable with the fact that random users have | messaged my son and there really isn't anything I can do besides | periodically logging in myself | khochesh_kushat wrote: | You can use the local version instead, maybe. | insane_dreamer wrote: | My favorite language for teaching kids to code and which I taught | my daughter starting around 9 or 10, is Ruby. Expressive syntax, | easy to read, good introduction to objects. Her first real | program was a treasure hunt game in the terminal, using classes, | inheritance, methods, and conditionals, etc. | | It didn't have the cute graphics side of things, but she learned | all the concepts well (she now has a degree in engineering and | being paid to write code) | ptd wrote: | Does she like her job? I only ask because you specified comp in | a way that suggested that is what is most important to you(and | her). | insane_dreamer wrote: | Good question. She actually got a degree in chemical | engineering not CS, but then switched over to fulltime | software dev at her company a couple of years out of school | as she liked that more -- so yeah, I would say so. | ocfnash wrote: | I mentioned this in a reply to a comment below but I think it is | worth repeating at top level: there is a great app called Pytch | which is a bridge between Scratch and Python (and runs in a web | browser). | | I always recommend it to anyone teaching young kids to program. | | You can find it here: https://www.pytch.org/app/ | irrational wrote: | I had no idea my son even knew scratch, but the other day I | looked over his shoulder at his chromebook and was astonished to | see him working on a huge scratch project. I asked if he had any | other projects and he had dozens of projects, some incredibly | complex. I was both surprised and pleased. | mattw2121 wrote: | Also used in Harvard's, excellent, CS50. I recommend this for any | middle or high schoolers thinking about a career in tech. | | https://pll.harvard.edu/course/cs50-introduction-computer-sc... | danabrams wrote: | I took a refactoring class where we used scratch and it was a lot | of fun. | | I now have a 5-month old and I can't wait to introduce him to | scratch jr in a few years. | pradn wrote: | Scratch supports message-passing and concurrency, which makes | writing parallel programs fairly straight-forward. This is | usually considered a more advanced series of programming | concepts, and yet, I've seen children use them for their own | games. The language is more powerful than you think! | JamesSwift wrote: | Its a really good intro, but can become stifling really fast for | young learners. You risk losing their interest too soon if they | want to push past the boundaries. ___________________________________________________________________ (page generated 2023-03-30 23:00 UTC)