I have no doubt in my mind that all of my children (so far I just have one daughter) will learn how to program.
“But what if she doesn’t show an interest in programming?”
More and more that question to me sounds like someone asking “But what if she doesn’t show an interest in reading and writing?”
There are two parts to why I think this way:
- Programming is quickly becoming an integral part of our society. It is how we interact with the tools we use in our every day lives and how we leverage those tools to build our world, communicate with each other, etc. Humans need tools. We’re useless without them. More and more programming represents the way in which to communicate with our tools so that they can do what we want them to do. I don’t think we’re far from a world where that ability is just as essential as reading and writing.
- I think people think about programming as an isolated skill or a profession. It’s not. It’s much more fundamental than that. Much the same way a writer uses the general skill of writing to engage with his or her profession, a programmer uses programming to engage with his or her profession, but programmers are not the only people that benefit from knowing how to program, much like writers are not the only people who benefit from knowing how to write.
Mastery of programming is not what I am trying to describe. Much in the same way that mastery of writing is not for everyone, but everyone benefits from knowing how to write. Everyone would benefit from having a decent understanding of how to program. Everyone would benefit from having a better understanding of what programming is and the fact that it’s no more intimidating than learning how to write. In fact I think it’s easier to learn how to program than it is to learn how to write. Almost every language we communicate with is far more complicated than the languages you program with, usually by an order of magnitude.
So my daughter will learn how to program. At the very least she’ll gain a level of comfort that enables her to tackle any programming problem with the knowledge that she can figure it out if she takes the time. At the very least she will not be intimidated by the idea of programming.
She will learn because we will do it together. Much like every parent understands it’s important that they read to and with their children, I think it’s important to program with my child. This doesn’t mean I’m going to sit down with her and look at something I’m working on professionally. That would be like sitting down with a child and having them read Moby Dick with you. It may not be the end of the world, but generally you try to start with something a little more basic.
I would probably start with something more tactile, like legos that can become alive through a simple computer program. One where she can just as easily manipulate the tactile blocks as she can tweak the program to get it to do something different. I would focus on projects that provide quick feedback so she can easily see the results of her efforts. The idea would simply be to make her more and more comfortable with what is just a different way of thinking, almost a foreign language, not foreign in it’s words, but foreign in it’s structure and what it enables you to do.
I truly think it is almost on par with learning to read and write in what it enables you to do in this world. Once you understand how to program it’s no longer intimidating. It becomes such a joy, much like solving a puzzle, but where the puzzle becomes something much more interesting once you’ve solved it. I think all of my children will enjoy it, much like I think they will develop a joy of reading and writing even if they never become a professional writer.