John Carmack questions Scratch's role as a path to programming careers
Carmack: Has early Scratch experience led to fulfilling careers?
In a post on X, John Carmack challenges the common positioning of Scratch, the visual programming language, as an introductory path to programming for kids. Unlike game modding, he has never heard a success story where someone credits Scratch as key to a fulfilling career. The post sparks a discussion, with one user noting that Scratch success stories often involve kids quickly moving to Python, while another credits Khan Academy's similar environment for changing their life trajectory.
Unlike game modding, I have never heard a “success story”, where someone credits their early experience with Scratch as key to a fulfilling career.
- keeda
Too soon to tell if it'll lead to "fulfilling careers" but both my kids learnt Scratch very early on, in the 2nd grade or so, and found they had a knack for programming. Based on that I prodded them to dabble in Python. Now in high school, at least the older one is already planning a career in software engineering.
(He also teaches elementary schoolers Scratch at a Coder School location, and they seem to like it.)
The visual game-building aspect is an immediate draw, of course, but I also think the block-based approach is a great analogue to building things with Lego. It just clicks for some kids. It is also fairly representative of most coding, in the sense you assemble "blocks" comprising commands / statements / function calls in a particular order based on the shapes of their inputs and ouputs to build a larger structure.
One thing my kids struggled a bit with was going from the event-based nature of Scratch to the more linear nature of Python, along with the concept of scopes. It led to some form of "magical" thinking where they assumed e.g. a function / variable would be reachable based just on its signature / type. But other than that most concepts transferred over easily enough to conventional languages.
- kylecazar
It's not always your first exposure that you later identify as a catalyst.
I'm an American that took a C++ class in Europe when I was 13 (forward thinking school in retrospect). But when asked, I usually say scripting RS bots was what got me into the field, because I had fun and it was more memorable.
But would I have chosen to do that had I no idea what coding was? Maybe not...
- Aquitard
Ive been volunteering with a foster kid for a number of years now (8 -> 10 year old) . We would build robotic kits, Lego and work through origami books. If problems came up, most of time he would say 'it's too hard' and give up.
I introduced him to scratch the other month. I have loved his excitement when he builds the simplest things. I've seen him run into problems where I thought his attitude of 'it's too hard' would come to the surface. He tackled them head on, figured out where the bug was and supplied a fix.
I hope he has a fulfilling career in CS or sciences in general. So I sincerely hope scratch and this experience builds up his confidence and beak the cycle of poverty and drug abuse
- threatofrain
Scratch's problem is ecosystem. It develops UX for children who are still early to the keyboard but children learn so fast, and at some point they get past the high friction stage and end up in a desert.
- jim-works
I can say it has for me. I spent a couple years on scratch as a kid before moving on to other languages, and it helped me really get into programming.
My hobby projects are almost always video games to this day, partially because of it. I even built my first compiler/interpreter on there before I knew what those words meant, and got exposed to lots of math that I otherwise wouldn't have seen until high school. Being able to easily discover what others were doing, and learn from their projects, helped me out a lot.
It will always be special to me, as I'm sure BASIC and such are to others.