Is Speaking a Foreign Language Poorly Worthwhile?

This snippet of Andy Kessler’s latest column in the Wall Street Journal caught my eye:

The U.S. is falling behind. In 2014 England made computing a part of its national primary curriculum. Estonia had already started coding in its schools as early as first grade. The Netherlands, Belgium and Finland also have national programs.

Maybe the U.S. can start the ball rolling by requiring colleges and high schools to allow computer languages to count as foreign languages. A handful of high schools already teach the Java computer language using a free tool called BlueJ. Nonprofit Code.org exposes students to a visual programming language called Blockly. To compete in this dog-eat-dog world, America should offer Python and Ruby on Rails instead of French and Spanish.

Let’s start with natural languages. The average American high school student takes two years of a language other than English (generally Spanish). Of Americans who say they speak a foreign language well 7% say they learned it in school. 7%. The reality is that you can’t learn to speak any language fluently in 2 years and you’ll quickly lose anything you learned. In other words that Mandarin your primary school child is learning is probably a waste of time.

Now onwards to programming languages. IMO it takes about three years of full-time software development experience to become really fluent in any programming language. The second takes less time than the first, the third less tim than the second, etc. In other words the only high school kids that will become fluent in any programming language are those who take it up as a pastime. They’ll work obsessively at it and, honestly, that’s what it takes to achieve fluency.

The first version of Ruby came out about 11 years ago. The framework Rails a little after that. Usage of both is declining now.

The first version of Python came out about 25 years ago. It’s catching on now because of its use in artificial intelligence. It’s a fad. Will knowledge of Python be useful in five years? Ten years? Who knows?

IMO teaching kids either Ruby or Python is about as useful as teaching them Morse code. Unlike natural languages programming languages go in and out of fashion rapidly. There’s a simple reason for that. Programming languages tend to be closely associated with software development companies and software companies (like Microsoft) are in the planned obsolescence business.

What would really be useful is teaching kids problem solving using algorithms. That will never go out of fashion.

While I’m in an autobiographical frame of mind, I studied French in grade school from third through eighth grade as did my siblings. I’m the only one of us that emerged from the experience able to speak or read French. I studied Latin and Russian in high school and Russian and Chinese in college. I picked up a smattering of other foreign languages along the way.

I know several programming languages fluently including some like Fortran (required in college) that are mostly of historic interest now. IMO very few programmers these days know any programming language fluently.

3 comments… add one
  • Andy

    In my view the importance of foreign language isn’t really about fluency, it’s about two other things – training the brain and learning about other cultures. Programming might help with the former but certainly not the latter.

    In grade school I was taught basic and LOGO. I really only remember LOGO because I make a pretty cool picture of a car with it. Was it ultimately valuable? Hard to say.

  • CuriousOnlooker

    Couldn’t resist commenting since I am very familiar with both topics.

    For natural languages, first thing to notice is children under the age of 10 learn it very differently from adults. They CAN pick it up in a year or two in some magical way through “osmosis”, but here’s something I can attest to, they quickly lose any language (including a former mother tongue), through disuse. Otherwise, for adults, learning another language seems to go through a totally different part of the brain — it requires knowing formal grammar — much harder to do. Adults take a lot longer but retaining it seems not so bad because you can “think it through”. Doing it for a couple of years in high school is too late and too short — you have to start at the latest age 7 or so and keep going until 18.

    Programming languages are a different nettle — learning them is useful once one goes beyond the syntax and see it as a way of thinking. That way of thinking is about how to categorize the relationships between different entities and how to solve a problem by using an algorithm. The skill is useful is many places (e.g. those flowcharts at a doctor’s office).

    Learning a particular programming language syntax is the less useful skill (for reasons Dave mentions, syntax comes and goes); unfortunately one has to learn syntax first before the interesting stuff and most people get stuck there. And that’s what most high schools spend their time on I’m afraid.

    Interestingly my experience (and I’ve seen programming languages since 1990) is that programming languages are becoming more similar. And that learning a C/C++ family of language will work pretty well. In that family C/C++ are cross-platform, more then 40 years old and still in high demand. JavaScript which is the language of the web, Java/C# the standard languages of middleware/backend servers.

  • Yeah, most programming languages are “C-like” now.

    Do you know why C is called “C”? Because it came after B. I learned the B (BCPL) language in the late 70s.

    Nowadays they don’t believe that natural language learning is quite as set in stone as they did years ago. Back when I was in college the psychology department put me through a battery of tests and the researchers were surprised to come to the conclusion that I learned languages pretty much the way a young child does. I think that’s more common in adulthood than is generally believed.

Leave a Comment