What Programming Language Should Your Child Learn?
Keeping in mind that what's obvious to many (like me) in the tech field may not be so obvious to others. This is a post that might say the obvious, but I hope others find it useful.
If my child asked about coding (which he has) here are the three things I'd consider.
For pre-readers and younger kids
Are they good readers and self-motivated, or are they young?
My son is a good reader, but it's not his favorite way to ingest information. He's still on the cusp of looking to a book (or a google search) to answer a question. I suspect this is developmentally appropriate.
We've started with codeSpark. It's an app that teaches programming concepts and the logic behind programming in a gamified way. A few weeks in, and I'm finding there's a lot to codeSpark. We do two to three hours a week. And, I suspect it'll take me another hour a week to plan his curriculum (though, I haven't quite made the time for this just yet).
They have a lot of materials to help parents guide their kids. It feels like just the right amount of information too. Good stuff to do, easy to get done, but not overwhelming.
For those ready to learn how to program
For those ready to program, there are two directions to take.
I think a great language to start with is Python. It's everywhere. It's also great for data analytics so even if hardcore programming isn't your child's thing, it's useful to know a little to help analyze data.
I'm using an app called Mimo on the iPad to noodle and get ready for next school year when this will be more our thing.
I suspect a lot of people want to "write an app" or do something that's more interesting than coding something on the back-end of a service. While Python is used to write apps, I suspect learning to develop for the Apple ecosystem would be valuable in a different way.
Why Apple? I believe the skills for working in the Apple ecosystem will have a better lifetime value than developing on other platforms (or, ugh, developing cross-platform). Here are some stats on Apple's marketshare dominance that are relevant for something thinking about commercial opportunities in the iOS space:
Which then makes this poll from a popular Apple developer valueable to understand:
What you'll see is that the latest native development languages from Apple have the most interest. This makes sense, but <shakes head> doesn't mean that it's obvious to everyone.
Three Bonus Ideas
Pre-pandemic both Google and Apple had great classroom sessions to introduce kids to programming. At Google we animated a boat on screen, at Apple we coded a robot. In both cases the people leading the classes were something special.
They both have online resources to help kids learn:
Roblox
If you don't live in a hole you've probably heard of Roblox. There's a development environment to build Roblox worlds (and Google is your friend along with tutorials from Roblox).
We tried this, but the kids were too young. I think we'll revisit this as soon as I can help the kids understand how Google is their friend to do stuff like this.
Caution though, the Roblox development environment requires a Mac or PC and doesn't work on an iPad or iPhone.
Summary
Learning the ideas behind programming can be hard, because it feels like you're not doing anything. However, it's a great place to start. It's also a great way to intereact with your kids over coding, helping you absorb concepts that you as a parent might not be familiar with.
There's so much stuff out there, it can be overwhelming to try to make a decision and pick a direction. And, in situations like this it seems everyone has an opinion so it can be hard to get good advice.
I get this a lot with martial arts too. "What style should my child study?" they ask. Karate, Kung-fu, Boxing, Tae-Kwon-Do, etc... we have this feeling that one is best. And the same answer holds true for programming as it does for training. Whatever teacher your child resonates with is what will keep them interested and going back for more. That's the best for them.
Same with coding. As long as your child is curious and able to follow their curiousity down the rabbit hole, they'll be doing their future selves a favor by just getting started and showing up to do the work.