93 comments

[ 0.26 ms ] story [ 6.6 ms ] thread
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...

I very first got into programming by trying to fix a graphic adventure game that somehow was released with a pretty clear syntax error. This was back in the VIC-20 days. Really, for the first while it was about the games ... tweaking them, altering them, and later writing them.

The actual programming was always a means to that gaming end back then and not the end in itself. So in that sense I can completely relate to where you're coming from.

Over a couple years of that, it started to dawn on me that the programming itself had a power and interest all its own worth pursuing.

But I think if it was dropped in front of me as something I ought to do, no matter how dressed up in "fun" it was, it would have set off my non-conformist predispositions a little too much.

but even today, don't you write code to solve a problem? to fix a bug in an application? to achieve something?

feels to me not that different. just that the targets are no longer games but other kinds of applications.

Of course. But still it's not the same.

What's different is that I found the journey can be just as interesting and engaging as the destination. I read papers, books, and even spend time around here... not because the solutions require it, but because I care about the craft and the process itself.

So yes, the resulting solution is the prime mover, but the process of finding the solutions is no longer just a means to the end, it's part of the motivation of being involved in the profession at all.

Absolutely agreed.

I had a trash-80 in the early 80s and used to copy BASIC from magazines, and then in the mid 90s I bought a book with a CD in it that taught me how to set up perl-based e-commerce store, which I set up for my mom's retail shop. Neither of those got me interested in programming.

The event in my life that got me there was around 2000, when I bought a Cold Fusion 4 book off of a street vendor - literally on Wall Street - and I spent my evenings building an intranet that replaced the Access database that my company shipped and merged across the country every Friday.

That's when I got hooked, and started building my career (and hobby).

Not sure if something like Scratch would have gotten me there (LOGO definitely didn't) - but I imagine the level of comfort I had with computers at a young age kept me in the vicinity that eventually got me there.

This really made me think about what got me interested in programming and I have no idea. In HS, I had a Physics teacher who had a TRS-80 (Model 3, I think) and he would let us use it during Lunch for whatever. But I was already interested at that point. We had a "programming" class where we programmed some kind of computer in some unknown language, but again, I was already interested in programming before then: that was just the outlet.

Really have me wondering now.

To your point I think I'll adjust what I was saying a bit. I was definitely interested. I always thought it would be cool to be able to program. There was good media to make it intriguing from afar. But I had nobody in my life to help me understand.

My mom did a great job making sure I always had a computer but she didn't know enough about them to help.

Elementary school put us in front of them and taught us how to type and let us play oregon trail and print shop, but that wasn't it. And my high school has us programming in Pascal. Meh.

When I was in my 20s, in a new city, working to pay my own way I found the determination needed to teach myself. It absolutely helped that the internet was becoming this wealth of information for the self-taught. That was my launch pad. I definitely think everything else helped get me there

I always love hearing from other people who started with computers by typing in basic from magazines.

For me it was a TI 99/4a and typing in code got me completely hooked on programming. Whether it was a game, a 4 bit cpu simulator of some sort (memories are vague) or a word search solver didn’t matter. It all felt magical.

Logo did nothing for me. It never gave me that sense of satisfaction that I got from writing in basic or assembly.

Yeah it was a Texas Instruments calculator for me too.
I feel like the baseline teaching is trivially necessary, and should simply be assumed in these kinds of assessments. Getting someone to invest themselves emotionally into a subject is both infinitely harder and valuable, and should always be the focal point.

That is, the true “origin” isn’t worth much — the origin of interest is whatever kicked off the feedback loop of joy —> learning —> joy (in my own case, it was learning djikstra’s algorithm)

> not always your first exposure

Great point. How many professional sports players credit their elementary aged PE classes to their success in sport (as opposed to say crediting a high school coach)?

Progressive, unbridled access and exposure is key.

Same. Got into scripting SCAR and hanging out on the Kaitnieks forums. Delphi Pascal or something right?
That's the one! Fond memories of that orange bulldozer... And lots of lamenting that I was a little too late for the storied AutoRune days :)
I used scratch in cs50 to make a music platformer. I would say it led me down a career in computing
What's a music platformer?
I don't know about the parent's project, but bit.trip runner immediately comes to mind for me!
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.
I spent my childhood using crappy 4K versions of BASIC. Love my career. Still get to do everything from embedded nonsense to database architecture.

My son started on Scratch, then Minecraft, and 15 years later he's working on designing jigs in parametric CAD for space lasers. I'm sure he'll be fine.

Yes, I credit Scratch as leading to my fulfilling career. I made so many games and simulations! Spending hours over the summer creating operating systems, animations, puzzles, and so on.

This was when Scratch was still a downloaded program. The community was also really encouraging back then - you'd see adults and kids commenting on new projects and cheering people on, remixing, and sharing knowledge.

I think there's a misplaced focus on "first" experiences being optimal in some way.

Whether a kid is going to take to programming or not is pretty unlikely to change based on whether they're introduced to a block-based or text-based language, or whether it's object oriented or functional (the push for objects-first has mostly died off, but I still see remnants of it in various curricula).

If it's got a few basics like conditionals, iteration, structured grammar, etc. it will be plenty to give students the flavor of what programming is about.

The better criteria, in my mind, are "does it allow you to make/do something interesting?" and "how easily does it lead into the next level of learning?".

I do however know a lot of successful engineers crediting programming on TI-8* graphing calculators to getting them into programming...

I wonder what the best modern equivalent would be? Perhaps web/JS is easy enough to get into these days?

(comment deleted)
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.

I loved scratch in seventh grade and now I’m a principal software engineer a few years out of college, but I think correlating the two would be problematic
> now I’m a principal software engineer

Link the most impressive thing you’ve ever made.

That’s what I thought

not scratch, but GameMaker visual programming was the first exposure to programming I could understand.
I used the lego mindstorms environment (scratch-based) way back.

It was quite excellent, along with stuff like Clik n' Play. Basically "event driven" + "blocks so you can't have syntax errors and other silliness" was very good for me.

Before scratch was popular I was heavily into Game Maker as a teenager (2006-2009). Didn't pick up actual programming again until I got to university and did some Matlab as a part of a math unit which triggered a major shift into CompSci.

The issue was always the barrier to entry and ability to self-teach for real-world programming seemed so high as a kid, especially when you had nobody around you to even point you in the right direction. It seems so obvious now but I'm certain back then googling things was not as useful as it is now, you couldn't just stumble your way into a programming environment.

I programmed in Basic some as a kid but it was programming a MUSH (Amber-MUSH) in grad school that got me hooked and changed career course to programming. Made some great friends too.
I still see picture books as an introductory path to literacy for kids, but unlike posting fan fiction on AO3, I have never heard a “success story”, where someone credits their early experience with picture books as key to a fulfilling career. Anyone?
I still see mashed peas as an introductory path to solid food for kids, but unlike attending Montessori schools, I have never seen a "success story", where someone credits their early experience with avant-garde curriculum as a key to a fulfilling career. Anyone?

Same distance, from A to B to C. Thanks for wasting all of our time with you comment.

The absurdity is the point. Comparing the merits of scratch vs game modding in children’s eventual programming career success is such a silly overly serious adult thing to do. If kids experience fun and exploration while learning along the way, that’s what matters.
Dolly Parton's Imagination Library project had to have had some justification.

I think picture books are not the same as Scratch. Scratch is much farther along that process. An equivalent might be comic books or graphic novels, which people actually do attribute a love of either as an introduction to fulfilling careers.

My kids grew up on Scratch and still occasionally play games there. It was a nice way to casually introduce them to programming concepts. My oldest is now 16 and an active member of Hack Club, so I'd say Scratch could've given him the itch.
I was housemates with a couple with a kid. The kid learned Scratch first, and made some surprisingly sophisticated apps in that semester (or two).

By now he’s moved on to textual languages (not yet old enough for a career), but Scratch was engaging and gave him a good start.

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

I personally find that Scratch has very limited utility because kids can start to code in a "real" programming language pretty early on, by like 11 or 12. Would it make a difference in outcome had they started even earlier? I doubt it.
This is like asking if anyone in the Tour de France has credited training wheels for their success.

I would never credit my Visual Basic class in middle school for my career but it did introduce me to a lot of things I didn’t know about before, and certainly wasn’t a net negative.

More apt than you intended. Training wheels actually make it harder to learn how to ride a bike. I think this is what Carmack is implying about Scratch. I'm sure he would rate VB much higher than Scratch as an intro to programming.
> This is like asking if anyone in the Tour de France has credited training wheels for their success.

And yet every F1 driver credits gokarting for their career. Laying the groundwork in your early years makes a big difference. My career would be very different without Logo and Turbo Pascal

My niece made what was (I thought) a pretty impressive scratch game when she was 12 or 13. But now several years later she doesn't seem to have much interest in programming. She is thinking of going into nursing or some related healthcare area in college. I haven't encouraged her with programming, because I think its a dead career - I myself have a CS degree and can no longer earn income from it.
My kids are learning on Scratch. 10 and 9 years old, been doing it for a few years at this point. The older one has had the opportunity to switch to Python but keeps going back to Scratch. He can make less trivial things than I used to make with Mark Overmars' GameMaker when I was a teen, and I'm now a C++ developer. So it would seem like a high possibility. He's done pathfinding algorithms, raycasting, file loading/saving, etc. The other kid likes it for creating artwork.
Learning to code isn’t really the point of Scratch. But it does have lasting effects on those who immerse themselves in it, and especially when they immerse themselves in the community. Hear from some of them on the podcast out of the group that created Scratch: https://youtu.be/5h709icMHt4