It’s one debate experts can’t seem to settle: should programming languages truly be considered languages? As we’ll see, there are arguments to be made on both sides.
The answer starts to matter when, for example, foreign language credits are awarded for taking coding classes, or when parents prefer their children learn Python over French.
In this article, we’ll look at some of the most popular programming languages and explore the pros and cons of such a view. Hopefully you’ll be inspired to explore both skills, however different they really are, by the end.
Can you teach coding as a foreign language?
A 2019 article in Nature proposed a framework for teaching programming in schools which treated coding like a foreign language. Called “Coding as Another Language” (CAL), the researchers’ framework is “grounded on the principle that learning to program involves learning how to use a new language (a symbolic system of representation) for communicative and expressive functions.” The research team explains: “Due to the critical foundational role of language and literacy in the early years, the teaching of computer science can be augmented by models of literacy instruction. CAL supports young children in transitioning through six different coding stages.” Case studies of young children using either the KIBO robot or the ScratchJr app are used to characterize each coding stage and to illustrate the instructional practices of CAL curriculum.
In fact, in 2016, the state of Florida in the U.S. considered awarding foreign language credits to students who had taken certain computer science classes.
But in an article for Slate Magazine, software engineer Valerie Woolard Srinivasan asserts that programming languages should not, in fact, be considered the same as a foreign language, and that teaching them in schools this way may be detrimental to learning.
“Computers and the code that powers them are literal, emotionless, strict, and free of nuance or ambiguity; human language is anything but,” she writes. “This is not to say that code cannot be artful, clever, and beautiful, but to think of learning code as a substitute for learning a second language completely misunderstands the point of learning both coding and foreign languages in the first place.”
Srinivasan argues that programming would be better suited as a part of math class than language class, so that students could spend less time on endless pages of homework and simply move on once they’d grasped the logic behind a concept: “What if students wrote programs to calculate derivatives or perform matrix multiplication? Or students could look at the plethora of online data sets and write scripts to analyze them when learning statistics.” Though it may sound intimidating on the surface, it’s actually one way to cut down on “pages upon pages of numbers, arithmetic, and ‘showing their work.’”
Are coding and foreign languages really that different?
Now, down to nuts and bolts: what makes a programming language different from, and similar to, a natural language?
First things first, both are simply systems of symbols that create meaning. Both are also “infinitely generative,” meaning you can use the same limited set of symbols to create infinite outputs. And both offer means of communication, one between humans and the other between humans and computers. What makes programming languages different from natural languages is maybe more telling: they communicate commands and instructions, not the nuance of human experience; they are constructed, and don’t evolve naturally; and they can’t be translated into natural languages the way natural languages can be translated from one to another.
Linguistics journalist Thomas Moore Devlin argues that it depends on your definition of “language”: “There are clearly differences between programming languages and other languages, but the question is simply how much disparity you’re willing to allow. Is math a language? What about dance?”
Professional programmer Ana Harris agrees it’s about definitions: “The main function of languages, be it Python or Chinese, is communication. This is the most important similarity between them, and one of the main reasons we refer to both of them as languages.”
Are multilinguals better at programming?
Although there aren’t too many scientific studies examining this question, we can speculate that learning programming may pose several benefits to multilinguals and vice versa. One of the benefits of learning a foreign language is enhanced working memory capacity, which can be useful for software developers during their daily tasks, when they need to keep track of multiple scopes and contexts.
In CSS, for example, context is especially important, so it’s essential to have good working memory capacity. Another benefit of multilingualism might be access to documentation written in languages other than English. Both skills also enhance visual-spatial, logical-mathematical, and linguistic-verbal abilities.
In a 2020 study on natural language aptitude and programming skills, researchers at the University of Washington in Seattle found that among a population of students learning Python, the “computer whisperers” were “facile problem solvers with a high aptitude for natural languages.” Although math skills were a reliable predictor of programming aptitude, they were “far from the most significant predictor.”
Working memory was also confirmed to be an important factor, since programming goals, like language, “must be divided into manageable chunks, and the subgoals of these chunks must be held in working memory and used to guide comprehension and production processes.”
What are the most popular programming languages?
If you’re a multilingual looking to learn or teach coding, where should you begin? Which programming languages are most useful these days?
If you’re a teacher, the answer may surprise you: it doesn’t really matter. “What is important is not the language, but how to teach students how to solve a problem with code,” writes computer science teacher Sheena Vaidyanathan. “Understanding how to create an algorithm (step-by-step instructions) to tackle an assignment, and coming up with the best way to write this in code, is probably the hardest part.”
If you’re a student or professional, JavaScript or Python may be your best bet, as they’re in high demand for example among startups looking to hire developers. UC Berkeley’s online publication Berkeley Extension recently announced the following programming languages as the most in-demand of 2022:
JavaScript: (most commonly used, 69.7%)
- Web development
- Game development
- Mobile apps
- Building web servers
Python:
- Back end development
- Data science
- App development
HTML:
- Web documents
- Website development
- Website maintenance
CSS:
- Web documents
- Website development
- Website design
Java:
- E-commerce
- Finance
- App development
SQL:
- Database management
- Sales reports
- Business management
NoSQL:
- Database management
- Sales reports
- Business management
C#:
- Game development
- Desktop/web/mobile apps
- VR
Rust:
- Operating systems
- VR
- Web browsers
Perl:
- System administration
- GUI development
- Network programming
Go:
- System/network programming
- Audio/video editing
- Big Data
Which foreign languages are the most popular?
If you’re a programmer looking to learn a foreign language, where should you begin?
Recently, the European Commission released a report showing the languages most commonly studied in Europe. According to the report, English was the most commonly studied foreign language in 2020 at the upper secondary general and vocational education level in the EU, with 96% and 79% of students learning it, respectively. In terms of general education, Spanish ranked second (27%), followed by French (22%), German (21%) and Italian (3%). In addition, Russian was the non-EU language most commonly learned in the EU (3%), especially in Estonia (67%) and Latvia (57%), followed by Lithuania (30%) and Bulgaria (24%). In vocational education, German came in second (18%), followed by French (17%), Spanish (7%) and Russian (2%). In this case, Russian was learned in Latvia (44%), Bulgaria (25%) and Cyprus (16%).
The World Economic Forum released a report on the most powerful foreign languages, as follows:
- English
- Mandarin
- French
- Spanish
- Arabic
- Russian
- German
- Japanese
- Portuguese, and
- Hindi.
The top six languages are official languages of the United Nations. Learning one or more of these languages can significantly increase your job prospects if you plan to move abroad someday, as well as being excellent languages to learn for international business.
Natural language and programming language differences
As we’ve seen, programming languages and natural languages have important similarities and differences. The research suggests that they have enough in common to help enhance your learning. Learning a foreign language alongside a programming language is a great way to keep your working memory and problem solving skills sharp, and both skills will improve your job prospects and opportunities to make meaningful connections wherever you are in the world. If you’re unsure where to begin, you can use this article as a guide, and a boost of motivation, to help you tackle your “language learning” goals.
At the end of the day, language is about communication, whether you’re communicating to a human or a computer. As we all know, skilled communication is one of the most important tools you can have in your toolkit. You can only get better at communication by picking up a new language, whether it’s natural or artificial. Who knows–you may end up making a career (or a favorite hobby) out of both. The point is to dive in, see where it takes you, and trust that the energy you put into it will be useful in the end.