[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)