Programming allows us to make computers do things for us. It's behind everything from calculators to word processors and video games.
But how do we tell computers what we want them to do?
Computers rely on binary code, a sort of machine language that is entirely composed of 1s and 0s. Programming languages (like Python or C++) use special programs called compilers to convert human-readable text into something that a computer can make sense of and execute.
Theoretically, you can build a programming language out of any set of symbols. In practice, however, most programming languages are based on the English language.
Non-English-Based Programming Languages
Even people from countries where the local language isn't English still use English for programming. In fact, some of the most widely used programming languages came from non-English countries: Ruby was made in Japan, Jua was made in Brazil, and Python was made in the Netherlands.
Localized versions of Python have been created to support a variety of different languages. You might want to try some beginner exercises in non-English based implementations of Python, such as Teuton (German), Chinese Python (Chinese), sawa (Javanese), or Setonas (Lithuanian). Some beginner tasks might include learning how to sort a list, how to use dictionaries, or how to reverse a string.
Below is a table with some examples of keywords in Python and how they'e been localized into German and Chinese.
When are non-English programming languages used?
Most programmers around the world program in English, but localized implementations of certain languages may be used for specific educational or bussiness purposes. (Teuton, for example, is the German implementation of Python.)
Some programming languages were made for fun and employ non-English characters, such as the "joke" languages listed here. You may have heard of some of the more well-known ones, like * or 2D-Reverse.
A non-English programming language that is commonly used in Russia and is gaining popularity worldwide is 1C. This Russian-based programming language is used in business applications such as ERP (enterprise resource planning), POS (point of sale), and WMS (warehouse management system). 1C's development platform is called 1C:Enterprise.
Programmers using 1C can toggle back and forth between English or Russian keywords. Here are some simple English keywords used for conditional statements and also their counterparts in the Cyrillic alphabet.
Here’s a screenshot of 1C:Enterprise’s script editor. This is the main workspace for developers.
Language Packs and Interface Languages
An integrated development environment (IDE) is a software tool that helps programmers to write programs.
IDEs have many functions, including that of a text editor, a compiler, and a debugger. They also offer the convenience of a graphical user interface (GUI) that lets programmers see the results of their work in real time. IDEs exist various languages and, if necessarily, it's easy to toggle between interface languages.
For example, in Visual Studio 2022, you can download language packs and toggle between them. These settings are available via Tools > Options > Environment > International Settings.
In Atom, you simply download a language menu package of your choice and then run it.
Changing the IDE menu language in Eclipse takes a few more steps, but its Babel language packs suppport several dozen languages.
As more countries are adopting newer technologies, tomorrow's global programming language might end up being something other than Engish. That in mind, playing with other interface languages could be a very practical idea — and it's a great way to squeeze a bit of extra immersion into your daily life, too !
Programming Languages with Language Options
Some programming languages aim to overcome language barriers by providing built-in “localized programming languages.” Different syntax is expected/offered based on the language a user indicates that they'll be working in.
For example, Citrine is specifically designed for users who want to script in their mother tongue. To accomplish this, the team accepts help from translators who assist with things like translating the user manual and making adjustments to Citrine's syntax localizations. Currently, however, Citrine has mainly had to rely on machine translations.
This programming language is object-oriented and has notable similarities with Smalltalk and Self. Citrine is very easy to learn, so writing a simple program could be a good exercise on your journey to learn a new language.
Working As a Programmer Around the World
If you're a programmer employed by a company in a non-English-speaking country, or if you’re a digital nomad based in such a country, you'll likely have to communicate with your team in another language. Naturally, if your team speaks a language that you don’t understand, it can be hard to follow what's going on.
English speakers are lucky because English is currently the universal programming language. It's considered best practice that code is written in English, and those who have a different mother tongue must learn English so they can write and read code.
To make it easier to follow along during team meetings, you can create a cheat sheet for the most common phrases used in programming. You don't have to be an expert or totally fluent in another language to understand code. So long as you can recognize the key terms, you can get an idea of what's going on.
Of course, while the programming will likely be happening in English, it's possible that your project manager might prefer to communicate in their native language.
How Does Language Affect the Programming Businesses?
Language and culture are major factors that shape corporate cultures and structures around the world. A popular workflow management method used in agile and DevOps software development is Kanban. This term comes from 看板 (かんばん; kanban), which is Japanese for “sign.”
Created by Taiichi Ohno, a Japanese industrial engineer at Toyota, Kanban started as a lean manufacturing method. While it's long been something of a household name amongst manufacturing circles, the Kanban scheduling system has more recently been adopted by software development teams around the world, too.
According to a 2021 report by Gitlab, the most commonly used (self-reported) development methodology is DevOps (35.9% of surveyed), followed by agile/scrum (31.78%). 13.02% of respondents reported using kanban as a specific implementation.
Work-culture Differences Around the World
Have you landed a job in another country? Great! Here are a few quick tips targeted to working environments around the world.
Avoid questioning superiors directly: it’s seen as rude and is generally unacceptable. You should also build up rapport with your team before suggesting any major changes. If you’ve made a mistake, don’t offer excuses. Instead, take ownership and apologize for the grievance.
You could try watching some Japanese dramas to see some of these workplace habits in action.
Major facets of Chinese work culture include diligence and hard work.
China is transitioning away from its infamous 996 work culture (9am to 9pm, six days a week) and Chinese labor laws maintain that employees should not exceed eight working hours per day. Even so, it is still common to work long hours. You'll also have to attend work gatherings after business hours to maintain face.
It’s common for co-workers to greet each other amicably in the morning; furthermore, there's an emphasis on having friendly and casual conversations. Longer breaks are encouraged and are the norm, but as a result, the workday will sometimes be extended into the evening. Don’t be surprised if your French boss takes a two-hour lunch break!
The workday starts early. Children start school from ~7:30am to 8am, so it’s natural that work would start early, too. In Germany, efficiency and punctuality are virtues held in high regard.
If you’re late for meetings or exceed the allotted meeting length, you’ll be likely to offend and annoy your coworkers.
Dress code in Russia is typically quite formal and conservative. Emphasis is also made on punctuality. In Russia, hierarchy is a key element both inside and outside the workplace: one's social rank is determined by age, work position, and experience.
However, Russian companies still encourage employees to speak up if they notice any problems.
Punctuality is not as important when working in India. Often, people arrive at work late and work until late at night.
Hierarchies, however, are important. Respect must be given to those in higher positions. It would be uncommon for a manager to have lunch with employees below them on the corporate ladder.
If you're working in a language you don't understand, it can be hard to know what you're looking at. This is especially true when meetings and instructions are provided in a different language. As such, even though you don't need to learn another language to learn programming, it's still helpful to know the language of the country you're hoping to work in.
While English is currently the lingua franca of the programming world, this may change as more major technologies get developed in non-English speaking nations.