{
    "componentChunkName": "component---src-templates-blog-post-js",
    "path": "/blog/2026-07-29-is-scratch-real-coding/",
    "result": {"data":{"markdownRemark":{"id":"50b1176f-c55c-53cd-9a4e-919028163926","html":"<p>The short answer is yes. Scratch is real coding. But the longer answer is more interesting,  and it's one we've thought a lot about at The Coding Space, to the point where we built our own version.</p>\n<h2><strong>Where Scratch came from</strong></h2>\n<p>Scratch was developed at MIT's Media Lab by a research group called the Lifelong Kindergarten Group, led by professor Mitch Resnick. The idea was simple but radical: what if kids could learn to code the same way they learn to build with LEGOs, by making things they actually care about? Instead of memorizing syntax, kids would snap logic blocks together and see their ideas come to life on screen. Scratch launched in the mid-2000s and has since grown into one of the most widely used coding platforms in the world, with tens of millions of projects shared by kids across nearly every country.</p>\n<p>The concepts underneath those colorful blocks are real: loops, conditionals, variables, events, functions. When a student writes a Scratch program that makes a sprite move when you press an arrow key, they're thinking through the same logic a professional developer would use. The blocks are just the training wheels, and good ones at that.\nSo why did we build something different?</p>\n<h2><strong>Where we took Scratch</strong></h2>\n<p>We love Scratch. We've taught with it for years. But we kept running into the same problem, over and over, with nearly every student we worked with.</p>\n<p>Here's a classic example. A student writes a loop that hides a sprite, then shows it, over and over. They run it expecting to see the sprite blink. Nothing happens, the sprite just disappears. Why?</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 290px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/ac2ce8d02d73623a4d276b72c7eed7b9/139a5/scritch2.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 65.51724137931035%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsTAAALEwEAmpwYAAACdklEQVQoz32SX0hTcRTHV0QUii6oQAIjiCCKfJGeigqCCOohCgwqiKLoMUT6Q1qYUj30oCC9FC2DVbNZSqaJ0a46dSutwD/MP9u03crb/tzNbffec35/TsyR+RCd9w+f7znfYwOwADgwBHMMsh7TCgIXFiNgZAEDsLQkMC7pX2MDYIBxNndU+Gxy0CZH1mDkJMbrMHYTjAlAqSWt/8CERh/3F5J3y4Ky7kt3EXkLybdJDqzAeANw0nQjD0sppOBSMCnlHxgJjX42UkIju9N9G6d6Cmhomxw+IHylGL2xHF6aZTAQmoO8ZwNrs/O2EmpdL9yFwl0gXKvZpzLkmqYLxgUR/ZjxZbVRbaIzHhnNB1k0ZxWh7CLlCCn7qLWYntvpRTE9Xcs9m1F803TJGAoi1VMz3bz3u2PrUPcTw8Kc2QLilpJ6td1ffzfQcMl7rxHH97PACTZ+GCOXkWU0HYWkZNqcaD4Y/tze56waUDpD4blM1sjBAj5EW8rdtw1XHTkqg2ApIAkEzxUGqCWBc4mCQp4780H/1+lEWI2pqmqYVh72xN1lDy8kms6S88oYZLrAkmCmwEwDWLEFntCTyWRq5t21gKtiuKtxzPsM8E/snNlV3lJtuOvJeT1omb2LZgGL5mgKsyaOdlR7a4sirkNTvQ9+BQfzR8/v3Jt6vdN9NeiopI7a9xC5iD/vo3oL4w5EU9NNRhTuqQm8qZoPDYfbz0U+PuZCLlXVL9+uSj8qVZv2oNMuXSuly4Yv7ejbgXxO0yUXBJlEJhUlonRsNj7rX+pZgKVi6LyYPE4zx/hUBZ88xSfPsMBpVKuRpTUd8z1LmX+Pvw/zG5+XjdGwYg+hAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"scritch2\"\n        title=\"scritch2\"\n        src=\"/static/ac2ce8d02d73623a4d276b72c7eed7b9/139a5/scritch2.png\"\n        srcset=\"/static/ac2ce8d02d73623a4d276b72c7eed7b9/139a5/scritch2.png 290w\"\n        sizes=\"(max-width: 290px) 100vw, 290px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 290px; \"\n    >\n      <a\n    class=\"gatsby-resp-image-link\"\n    href=\"/static/be8692e997fb3db3a1774bd6c13a2927/139a5/scritch1.png\"\n    style=\"display: block\"\n    target=\"_blank\"\n    rel=\"noopener\"\n  >\n    <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 65.51724137931035%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsTAAALEwEAmpwYAAABv0lEQVQoz42RQUgUYRiGp4goXHKDCiQwugRR5CU6BdUxqEMUFFSHCKSj0EGiUKEghA568CaJkdTmrggREUY76mYrtXTR2JU2MAdisGl3m5z53+///v+LvHRpx977wwPv4wAKYGhCvIC1fKyqYKO0QIuCBpRfh2Yr/5oDaFCgl8+aomPnHFvaRiuXKLhL33sQfQJZv64SYKFohudTUtj/09358dUOKaSkuNe+3UTBAFj8WtQcJqFoVpfapHQsnNmzNNUi7w7YD6dMsZ1Wb28EQyie46ndejLNk22S22WyKZNtMZmt+n0Hse/XjGbT3LzmGveIuGfEPSG5VnmSlqet8mg75/eR+erXbFNYQVi5jYmD8/fulwduFPoHafGkLl/Qi6dppYv0L79GSbDBm9VnR8f7omy/PL5VVbELKzD8JxgoKdU6nA9yHcOdP4auyVj3AsKXUBZxA3G4Qee/5t4o0yejN6tKTa+bDf7HzGq6MXE411192CXPe17D66RvD8jrpWCEKPbrlJxq1r7YEg63e0PHaSxtM5ttxqHxNBUPES8nvQ0YKI++XDeV8/L5HC9d5MplrlzV5Svk3SEdJrz9G6KOqQO3w9qTAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"scritch1\"\n        title=\"scritch1\"\n        src=\"/static/be8692e997fb3db3a1774bd6c13a2927/139a5/scritch1.png\"\n        srcset=\"/static/be8692e997fb3db3a1774bd6c13a2927/139a5/scritch1.png 290w\"\n        sizes=\"(max-width: 290px) 100vw, 290px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n        decoding=\"async\"\n      />\n  </a>\n    </span></p>\n<p>The screen doesn't update every time a block runs. It only updates at specific \"yield points\" like the end of a loop or a wait block. So when that hide/show loop runs, Scratch is actually processing both blocks before the screen gets a chance to catch up. The sprite technically blinks, but so fast that the screen never shows it. The computer isn't \"going too fast\" (a phrase that's never fully satisfied a curious 10-year-old); it's just that Scratch has invisible rules about when the screen refreshes, and students can't see them.\nThis matters because it teaches a habit that doesn't transfer anywhere else in coding. No other programming language works this way.</p>\n<p>So we built <strong>Scritch</strong> (our own version of Scratch) with one core change: the screen updates immediately after any block that causes a visual change. Move a sprite, the screen updates. Change a costume, the screen updates. Hide a sprite, the screen updates. The result is that students can actually see what their code is doing, step by step. When something goes wrong, you see it happen in real time.</p>\n<p>The screen refresh is where it started, but our team has made many updates over the years, and we're constantly improving the Scritch platform to cater it to the needs of our students as experts in the field.</p>\n<p>If your child is working in Scratch, they're coding. They're just doing it in the place that gives them the best possible start.</p>\n<p>🔗 Curious about what level is right for your child? Browse our classes here: <a href=\"https://www.thecodingspace.com/programs/our-coding-classes/\">https://www.thecodingspace.com/programs/our-coding-classes/</a></p>","frontmatter":{"bgColor":"#faf6ee","date":"July 28, 2026","featuredImage":{"alt":"Accessibility name","image":{"childImageSharp":{"gatsbyImageData":{"layout":"fullWidth","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/578613019fec96bafcf26333242ec57f/03b05/scratch-thumbnail.jpg","srcSet":"/static/578613019fec96bafcf26333242ec57f/ffb94/scratch-thumbnail.jpg 750w,\n/static/578613019fec96bafcf26333242ec57f/5574d/scratch-thumbnail.jpg 1080w,\n/static/578613019fec96bafcf26333242ec57f/03b05/scratch-thumbnail.jpg 1280w","sizes":"100vw"},"sources":[{"srcSet":"/static/578613019fec96bafcf26333242ec57f/b410c/scratch-thumbnail.webp 750w,\n/static/578613019fec96bafcf26333242ec57f/bf8d5/scratch-thumbnail.webp 1080w,\n/static/578613019fec96bafcf26333242ec57f/21e7e/scratch-thumbnail.webp 1280w","type":"image/webp","sizes":"100vw"}]},"width":1,"height":0.56953125}}}},"title":"Is Scratch Real Coding?","titleColor":"#264548","description":"If your kid has come home excited about a game or animation they made in Scratch, you've probably wondered: is this actually teaching them to code? The colorful blocks, the cartoon sprites, the drag-and-drop interface,  it feels more like play than programming. \nSo what's really going on under the hood?\n\n","tags":null,"pageBuilder":null}}},"pageContext":{"id":"50b1176f-c55c-53cd-9a4e-919028163926"}},
    "staticQueryHashes": ["4080856488"]}