Why code software in English?

As non-English speaking developers we can choose to write code, tables, functions, etc., in our native language; Or we can write all the code in English.

The native language is the one we naturally master. It allows us to find naturally synonyms, antonyms, meanings of the same word, subtle differences of appreciation, etc.

In English you may find yourself using incorrect terms to define concepts or parts of your system. For example, do we use customer or client ?, name or firstname ?, lastname or surname? …

We can even have a mixture of both, in some cases we can find that the Customer class has the attribute surname, while in the User class we use lastname as attribute.

In your native language you will never waste time on google translate to verify how a term is translated, or find the right word; You simply work and develop your code ….

A problem has always been the incorporation of personnel in the project, or that all members respect the same coding standard. Not everyone may have the same level of English, so these people will try to write in Spanish and finally there will be a mix of concepts between English and Spanish.

Some people advocate using their native language to differentiate their code from code that may belong to an external library.

So … Why should we use English when developing our code?

All commands and keywords of programming languages (most used) are in English, so if we would use our native language we would have an inevitable mix. Let’s take a look at an example with the Cliente (Customer) class:

public class Cliente{
protected String nombre;
protected String apellido;
….
public String getNombre()…
public String getApellido()…
}

When coding in Spanish we have an inevitable mixture of the word get with the attribute nombre(name), something that is not neat or legible to the naked eye. When coding in English and using English-based programming languages, we avoid mixing languages, which makes it easier to read the code.

Some languages and frameworks are prepared to understand English in terms of semantics. Example: Ruby on Rails knows that the table in the database for a given model must always be the name of the plural model. That is, having a “Person” model, will look for a “people” table.

If we want to participate in open-source projects, contributions must be in English. I do not know a famous open source project that is not in English.

Accents, “ç” and special characters do not work well in all languages, causing you to have incorrectly written words if you type them in your language. The classic example in Spanish is the word año (year), some languages may not support the ñ as variable or class name, so we should use the word anio, anno, or ano (anus). Ugly, isn’t it?

If one day you plan to work abroad, potential companies that want to hire you will want to see your code, but they will not understand if your code is in other language. Try to have your Github repositories with code and documentation in English.

How many times should we publish parts of our code to share? Or maybe to ask for help? or get some advice?

It is much easier to share code written in English with other programmers around the world, or to help us in forums and groups. If we write it in our native language, we leave out a lot of developers, where there may be someone that could help us with a problem or use the code we share. How easy is for us to use code written in German?

The most important reason: English is the international language for the code (and documentation). More specifically, American English is the standard.
In addition, it helps us to train and improve our English.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade