Please consider the very short computer program below, especially if you're not a programmer and/or if you've studied a foreign language with conjugated verbs.
This fairly simple code conjugates regular French verbs that end with the letters ER. Such a program can be written almost this simply in most computer languages. If you've studied French but not programming, you can probably understand how the program works from the points below.
- The 1st line creates a set of the 8 standard French subject pronouns.
- The 2nd line creates a set of the 8 regular ER verb endings. Their order corresponds with the subjects in the 1st set. (For example, "ez" is the verb ending that goes with the subject "vous". They are both the 6th items in their sets.)
- The 3rd line asks the User which subject they wish to employ.
- The 4th line asks the User which ER verb they wish to use with their chosen subject.
- The 5th line simply strips the last 2 letters (the E and the R) off the verb chosen by the User, creating a "root" form to be combined with the appropriate verb ending.
- The final 4 lines form a "loop", a repeated action. The loop takes the User's choice of subject ("subj") and compares it in turn with each of the subjects in the 8 positions in the subjects set. If a match is found, it jumps to the set of verb endings and selects the corresponding conjugation ("end"). The subject and the verb root are then displayed with the conjugated ending tacked on to the root.
If you studied a foreign language with conjugated verbs, we could use your knowledge and this code as an entry point to a wonderful range of fun and powerful programming concepts including functions, lists, conditional structures, data types, iteration and even exception handling. Your understanding and explicit perception of grammatical structures would be an incredible aid to your assimilation of programming operations, rules and syntax.
Now imagine the converse, trying to take advantage of someone's programming knowledge to teach them French. You'd show them the code above and tell them to use it as an algorithm for conjugating verbs. All they'd need was a list of ER verbs and they'd be set to start speaking French, right?
That's unlikely to be the case, of course. First of all, conjugation of regular verbs is simple and fundamental enough that it should properly be compared directly to one's native language conjugations rather than filtered through the unnecessary metaphor of a computer program. (My understanding of English grammar improved immeasurably from my poor study of French!) Secondly, even putting pronunciation aside, approaching a foreign language as a set of applied mathematical functions is disastrous.
I know because I tried to do it. In Brooklyn middle school, because I snobbily insisted on studying French rather than Spanish, I only ever heard the language in class. As we read no fiction and no one enjoyed speaking with our teacher (in any language), French for me rapidly became a series of abstract linguistic functions based on operations (grammar) and data (vocabulary). At the start, when all verbs were regular and tenses simple, I could get by, but soon with irregular verbs and compound tenses, the mathematics of it all became so encumbering and rife with exceptions that it seemed all but arbitrary. With my poor ear, minimal conversational experience and lack of any non-mathematical appreciation for the language, the French I developed was robotic: slow, methodical, impersonal and off-putting. When I finally got to France, I was unable to employ even these rude mechanics until I got a handle on how to present myself in a language not my own.
Legislatures in several of the United States are now considering whether to permit students to study computer programming in place of foreign language at the high school level. Folks have written eloquently elsewhere about why this substitution is so damaging to learning:
- The study of a foreign language increases one's learning abilities in all areas.
- A foreign language is the gateway to other cultures and one of the few outward looking elements of the education many young people get in this country.
I would humbly add the following:
- Studying a foreign language makes it easier to learn computer programming for all the reasons demonstrated with the code above.
- Knowledge of a programming language facilitates foreign language learning only on the most impractical, dehumanizing level.
Tellingly, it is not experts in computing or linguistics who are pushing these curriculum changes. It is elected officials, seizing on a simple mechanism to "teach kids to code", one that will not require any more thoughtful alteration of curriculum. These measures would decrease the likelihood that future programmers would study foreign languages, thereby handicapping their learning development in all subjects, including especially computer programming. Such students would actually have a harder time becoming the best programmers they can be, let alone the best global businesspeople or world citizens they can be.