5
I have already found on the internet some arguments in favor of programming in English, instead of programming in Portuguese, and we even have a question questioning what would be the recommended way.
I happened to think about it from the point of view of Domain Driven Design. In this development methodology a very large focus is placed on the construction of a ubiquitous language. This means that the code must speak the same language as the domain.
This means that we code using the domain terms. The construction of ubiquitous language is what allows us to build the model and identify objects and behaviors. The code ends up mirroring the ubiquitous language that has been established.
It turns out that if you program in English, you’re already going to have a breakdown, apparently. After all, the code will use other terms, different from the terms of the business. Now, if the business is of a Portuguese-speaking country, its terms will be in Portuguese. From then on there is a translation layer between the code and the business.
In this sense, does programming in English conflict with the construction of a ubiquitous language? To establish a ubiquitous language and use it in development we must "do everything in one language"?
There are things that are utopian. But there are people who pursue them because someone said they are good. Since I started in this life, and there are already decades promise miraculous tools, some "buy" them, but only those who do not miracle survive.
– Maniero
In my view, if you are developing some framework, library, etc, it would be best to use English. First because it can be used in various applications, and second that nowadays, it is common to have contributions from foreign people. In the case of a system, depending on its theme, I believe it is interesting to use the native language. An ERP for example, it would be very complex to find translations for accounting and fiscal terms. The only strange thing, would be to mix the two, as
IsCombustivel
orGetValor
– Victor Tadashi