In one of our previous posts, we mentioned the idea of Louisiana senators who wanted to allow kids at school to choose whether they want to learn a foreign language or a programming language. Despite the fact that the idea has been disapproved by the scientists pointing out the differences between those two abilities, it is worth considering the similarities between learning a foreign language and acquiring the ability to code.
The more you know, the easier it gets
When we begin our adventure with another language, we often subconsciously find similarities between the one we are learning and those we have already mastered. Sometimes they are single borrowings, other times similar tense structures or even whole phrases. Those similarities make the learning process much easier. When it comes to programming languages, the situation is similar. The key to success is acquiring and memorising certain patterns that will become more and more intuitive with every language we start learning.
Structures, rules and logic
Programming languages, just like foreign languages, have a particular structure and a strict set of rules that we must obey in order to avoid errors. When we are learning to code, we have to study the syntax of the language, its symbols, and the structures of those symbols. On the other hand, in foreignlanguages, we have grammar and an alphabet that builds our dictionary. Moreover, while foreign languages can be divided into separate language families they belong to (for example, Roman, German, or Slavic languages), programming languages are grouped according to programming paradigms (for example, object-oriented, functional, or procedural). Languages from the same category are very similar, and mastering one of them makes acquiring others much easier.
Clear communication
Every good programmer knows that the code should not only work but also be easy to read and understand. Clean, readable code allows another programmer to understand the logic of a program much faster, especially during adding new features, removing bugs, and maintaining a project, just like a clear and correct statement (oral or written) in a foreign language can improve the communication between the participants of a conversation.
It is easy to notice that the idea of replacing one ability with the other did not come out of nowhere. The process of learning and acquiring a language remains the same, regardless of whether it is
a programming language or a foreign language. The latter, however, has something that the other does not and cannot ever have – a cultural foundation that opens the door to the world.
(Translation A. S.)