Every so often someone suggests, sometimes in jest and some times in all seriousness, that programming languages “count” as a language for meeting graduation or degree requirements. According to Ian Bogost, who is not happy about it, some schools are actually doing this and others are close to it. (Computers are Systems, not Languages)
Is this a good idea? I think it largely depends on what you see as the value in learning a language other than your own native language. As someone who struggled his whole academic career with languages (first year French twice, First year German three times) I’m not so sure that language learning the way we do it in US is much good. Very few really become fluent enough to have more than the most casual of conversations (any one have evidence to the contrary?) One reason I often heard for learning a foreign language (the politically correct term is world language I think) is that it gives one a better understanding of the culture of the countries where it is spoken. I guess that is true to some extent. Although with our “flat world” is it as necessary as it was a generation or two ago? Arguable. Isn’t the world of computers a culture though? Perhaps learning to program helps people, especially in the humanities, some insights into that “other” culture?
Another reason I have heard is so that one can read research and other works in the original language. Perhaps that made a lot of sense when French and German were the principal languages of some areas of study. But today people write in far too many languages to make focusing on one make for a solid argument – well unless that language is English. An awful lot is written first in English even by people whose first language is not English. On the other hand there may be some value in being able to read code in the “original” language. It’s a theory. And fortunately computer languages are often enough alike that learning one or two is enough to have a reading familiarity with others.
Does learning a different language help one understand their own language better? That seems a stronger argument than some others. There is no close corollary to this with programming languages with the possible exception of COBOL.
So am I arguing that programming languages should take the place of natural languages as general education requirements. Not really. I’m sort of asking why we have learning natural languages as a requirement. Sacrilege of course but why not? I do think that more people should take some programing or other real computer science course though. It is part of being a fully educated person in the 21st century.
In Europe, it's far more important to know multiple languages than in the USA. Why? Because in Europe you can jump in the car and travel between several nations in a day. And each of those nations has its own language. The USA, whether immigrant-activist groups like it or not, has one main language: English. We don't need to know any other language unless we frequently travel abroad. The majority of Americans never leave US soil unless it's a quick trip into Canada (predominately English) or Mexico. The tourism centers of Mexico have plenty of English-speaking people - probably more than the border cities, in fact. I know several programming languages. But I only speak English and see no benefit in learning a foreign language I'll never use.
Technically programming languages are languages. But substituting them for a natural foreign language is shortchanging the students.
Related foreign languages give you a better understanding of English. Even knowing just the basics of a foreign language is helpful. The few semesters of French I took long ago were a lifesaver when I had to get around in the French-speaking part of Switzerland when attending a conference there.
Alan8: I guess it depends upon how one defines "language."
A programming language is a way to "talk" to a computer. And one could argue that computers are multi-lingual since they understand many programming languages. That leaves open an argument as to how the computer ultimately uses the language after the compiler does its work.
If I know French, German and English and you say to me, "Let's go get lunch" I will understand you regardless of which of those languages you use. So... does that mean the human brain also uses something resembling the CLR? Just a thought.
Learning multiple human languages teaches you that there is more than one way to think. Learning multiple computer languages does that, too, but only within the limited realm of what is computable.
dude just reading your post gave me a segmentation fault...
Yes, programming languages are really languages.