Coding as a Foreign-Language Requirement. Great Idea or Absurd?
I’ve often heard statements like, “Coding is the new black” or “Coding is the new literacy.” Apparently coding is the new foreign language too. Well at least that’s what some states in the U.S. seem to think.
Last month, the Michigan House of Representatives, approved a bill that would allow students to replace a foreign language class with computer coding in order to graduate.
Michigan isn’t the first state to do this. Back in 2013, Texas passed a law allowing some students to use coding to meet their foreign language requirement, and Kentucky and New Mexico considered similar bills around that time too.
And earlier this year, legislators in Florida attempted to pass a bill making computer programming count as a foreign language. The bill passed in the state Senate, but failed in the Florida House. As you’d expect, these developments have sparked their fair share of debates over the years.
Marty Abbott, the executive director of the American Council on the Teaching of Foreign Language, rejects the idea that computer programming should be taught in schools in place of foreign languages. She believes that a foreign language course helps to connect you with people from around the world and understand their culture in a way that coding doesn’t.
Language teachers aren’t the only ones who oppose the “coding as a foreign language” movement. There’s opposition from within the technology sector too. In 2014, Amy Hirotaka, the state policy and advocacy manager for Code.org, argued that computer science is more than just learning to code, and that coding is more related to math and science than to world languages. And Igor Perisic, VP of Engineering at LinkedIn, believes the whole movement is misguided and is rooted in the abuse of the key term, language. He says:
To equate foreign languages with programming languages reduces learning a foreign language to the mere acquisition of a set of tokens or words that are semantically and syntactically glued together. It fundamentally ignores the societal, cultural and historical aspects of human language.
Meanwhile on the other side of the fence, people like Sen. Jeremy Ring, who proposed the bill in Florida, believes that computer coding should definitely be an option in the foreign languages. Ringer who is a member of the original Yahoo! team, says:
Computer coding is a foreign language among a community of the world that is being valued ever higher in the global economy. It is used by our counterparts in places like China, India and throughout Europe. It’s a language that binds cultures — regardless of their geographic location — behind a common computer framework that is used to power all of the technology we use in our daily lives. And like Latin and Sign Language, which are other languages offered in Florida, computer coding isn’t spoken.
Randy Redberg from Experts Exchange who is the father of two young boys, also believes that computer languages should be given parity to foreign languages and that the U.S. will lose a significant part of its strategic intellectual advantage to other countries if they do not start introducing programming to students at a young age.
And the comment below which is in response to this New York times opinion piece, pretty much encapsulates why some believe that coding should replace foreign language learning requirements.
Ultimately, I see merit in both arguments. Foreign languages and coding are highly valuable and one cannot and shouldn’t replace the other. In fact, recent brain imaging scans of programmers, suggest that the area in the brain used for programming, is the same area that’s used for language processing, working memory and attention.
And with that in mind, I’ve found that you can approach learning to code the same way you approach learning a new language. I speak English and Shona, and I learnt French in high school and university; and there are some concepts that I’ve taken from learning a foreign language and have applied it to learning how to code.
Doing challenging tasks
Learners progress in their knowledge of the language when they comprehend language input that is slightly more advanced than their current level. — Stephen Krashen
Stephen Mayeux, a former ESL teacher who is now a Full Stack Developer, cites Stephen Krashen’s input hypothesis above to explain how doing progressively challenging tasks can help you learn how to code. I agree, and like Stephen, I’ve found that the Free Code Camp challenges have helped me learn more efficiently than watching tutorials on Codecademy.
Talking to myself
A common tip given to foreign language learners, is talking to yourself in the language you are trying to master. The same can be said for coding.
There’s a concept in programming called rubber duck debugging, which I’ve found pretty useful when I’m coding alone. It involves explaining one’s code, line by line, to an inanimate rubber duck. By using an inanimate object, the programmer can try to accomplish this without having to interrupt anyone else. It sounds crazy but it works!
Opponents of the push to recognize coding as a foreign language, argue that learning a foreign language requires building an extensive vocabulary while coding doesn’t. Spanish for example, has a vocabulary of 10,000 words while a computing language, has a vocabulary of about 100 words. While that’s certainly true, what I love about coding, is that just like learning a new language, it’s fun and I get to build something that people can see, use and interact with. There’s also the sense of accomplishment and satisfaction that comes from taking an idea and concept, and building it into something tangible.
So whether or not you believe that coding is on par with foreign languages, I believe that if you’re learning to code, there are elements you can borrow from mastering a foreign language that can help make your coding journey more fun and rewarding.