I have over 25 years of professional experience working with computer systems and communications networks. I founded the first 100-percent-broadband-end-user internet service provider in the nation in 1994. I’ve been on the internet since 1986. I got my first computer in 1982. I’ve been using computers since 1978.
I also loathe programming with a passion.
Teaching programming languages to young children is utterly useless, but you won’t realize this unless you already have a firm grasp of information systems technologies.
Teaching a child to write computer programs is not the same thing as teaching them human languages. Computers are not people. They don’t think. If you want your child to learn something, teach them a human language, like English.
Teach them woodworking, sewing, cooking, gardening, music, art, writing. Give them concrete, hands-on skills with which they can build real things.
Teach them bookkeeping, law, and philosophy. Teach them about other cultures. Teach them logic and critical thinking.
Teach them compassion for others, frugality, and forbearance. Teach them vulnerability.
Teach them how to think. Teach them how to be kind.
* * *
Forty years ago, if you wanted to use a computer, you had to know how to program one. Thirty years ago, if you wanted to get on the internet, you had to know how to build a network. Twenty years ago...you get the idea.
As a proportion of humanity, software programmers are a very small fraction. People do not need to know machining in order to drive an automobile. Why would anyone think that people need to know how to program in order to do jobs that have nothing to do with programming?
But more to the point: good software comes from people who have a firm grasp of the problems that actually need coding to be solved — not because they are programmers, but because they are experts in the field to which they are applying that software.
Computers are so frustrating precisely because the programs that control them are written by people who have little understanding of, or care for, how the rest of the world works.
* * *
The only useful programs are those that solve problems which haven’t already been solved. But there’s no way you will discover what problems haven’t already been solved unless you first become an expert in some field other than programming.
This world needs more people who can qualify, and fewer people who do nothing but quantify.
The world doesn’t need more technology. More technology is not going to rescue us from the technologies we already mismanage. None of the really important problems facing humanity can be solved by technology.
In fact, they can only be solved by non-technological means, because they are design problems, they are political problems, and they are moral problems.