Redefining C reserved Keywords using portuguese words

Good evening, ladies and gentlemen. I just wrote and tested a library for the Arduino platform, which makes it possible to teach and learn the C language (used in the Arduino IDE) using the native words of the Portuguese language. I think it will be very useful, because from experience I have seen the difficulty our students have with the English language. The C language was created to facilitate the writing of codes, the so-called high level language, and one of its characteristics is the fact that the language components are words in English, whose meaning points to the task being executed by the command. For example, there is the if statement (which translates to "if"). What happens is that for users who are not native to the English language, this advantage of the programming language is lost. In this regard, I have translated the terms into English into Portuguese, and, sweating a library (PTconverter.h), which is included in the skektch to be written, the user can use the terms translated directly into the writing of the program. Below are two well-known sketches for those working with the Arduino platform, the "Blink.ino", which serves to blink the LED connected to port 13 (on the Arduino UNO). Since I do not have enough physical space here, I will publish exemple of stkech using the library in the next article

PS. I am from Brazil, may be it is not usefull in the other countries.

Here is the library:

Although I applaud your effort, I do not agree on the approach.

Once the students get a job as a C programmer, they will be lost. They will not (or barely) be able to understand an existing program and if they have to write their own one, the compiler will bark at them because it does not understand any of the keywords.

In my opinion, a far better approach is to have a dictionary (I guess that that is what your PTconverter.h basically is) that contains the keywords so they can look it up; one does not need a thorough knowledge of English to be able to program.

Alternatively, but more work, a book in Portuguese.

I'm not native English speaking either and I dropped the subject in highschool as soon as I could (I hated the language); it never has prevented me from writing code, even while at highschool.

Isn't this what Google Glass was supposed to have made simple?

I'm not native English speaking either and I dropped the subject in highschool as soon as I could (I hated the language)

Just out of curiosity, when/where did you learn to read/write English? And why?

Some of the books required by university were in English. So with the very limited highschool knowledge and an English/Dutch dictionary I got my feet wet.

After that, my technical English was reasonable but conversations went with great difficulty :wink:

In my first working year, I was send (sent?) to the UK; that was fun. After a week of bacon and eggs, I was sick and tired of that and wanted a 'norma'l Dutch breakfast (bread, cheese, cold meat, ...). I tried to order it and ended up with a cheese platter as is usually served at the end of a dinner; only later I found out that what I was looking for was called a continental breakfast.

After changing jobs I ended in a company that sent me to South Africa. I met my girlfriend there and that's when my social English started improving.

I've been living in South Africa for the last 16 years, so my English is now quite OK, although there are some things that I still can't get right (e.g. the send/sent).

Hi, the link doesn't conduct to the video.

Although I have the benefit of being a native English speaker, I don't think that you need to be one to understand C++ keywords. COBOL may have been the last language to attempt to speak English. The keywords have specific meaning and behaviour that must be understood above and beyond the dictionary definitions. Many of them have English roots that are quite obscured by abbreviation or context, like "int", "const", "float", "enum" and so on.

Until or unless international language support is natively added to the language, I think this idea is counterproductive to learning C++.

Also, this kind of post belongs in the "showcase" forum.

COBOL may have been the last language to attempt to speak English.

I wonder if a German version of COBOL would put the verb last . . . :smiley:

AWOL:
I wonder if a German version of COBOL would put the verb last . . . :smiley:

I want to see the Chinese version. :slight_smile:

samueljanes:
Hi, the link doesn't conduct to the video.

I am sorry, I already corrected. Thank you.

sterretje:
Once the students get a job as a C programmer, they will be lost. They will not (or barely) be able to understand an existing program and if they have to write their own one, the compiler will bark at them because it does not understand any of the keywords.

Thank you very much for your advice! The "main" idea (sorry) is to present programming concepts to a target audience who knows nothing about the subject. I teach technical courses, and unfortunately the elementary school in Brazil is very bad (to our shame). The initial concern would not be teaching C language, but applying programming concepts using the Arduino platform. In fact, one of the characteristics of this platform is the use of programming and electronics by those who are not from those areas. For example, if I analyze the "wiring" commands (from the Hernando Barragan master's thesis) used in the Arduino IDE, and the elementary "setup" and "loop" functions (where did "main" go) He would probably be accused of being a heretic and offending the holy order of programmers in language C (though he is sure that software experts deserve all respect!). I will not compare to the creators of the Arduino (and those who contributed in the beginning to Ivrea and were forgotten, like Barragan), but I'm still not convinced that the idea is not useful.
I thank everyone for contributing in some way.

I just wrote and tested a library for the Arduino platform, which makes it possible to teach and learn the C language using the native words of the Portuguese language ...
... the elementary school i

That doesn't sound too unreasonable, especially for Elementary school....
Now... Keeping in mind that I don't actually speak Portuguese...

"loop" functions (where did "main" go) He would probably be accused of being a heretic and offending the holy order of programmers in language C

#define principal loop

So you're back to "main", essentially? The choice of loop() in the arduino world was very intentional, to convey the sense that the "sketch" actually runs forever (unlike most computer programs that people are used to.) Isn't "loop" in English still just "loop" in Portuguese? Why change it at all?

#define maior >
#define menor <
#define igual ==

I'm not fond of defining words (in any language) to be equivalent to pure mathematical symbols. The symbols are more universal and their use should be encouraged.

#define E ||
#define OU &&
#define e |
#define ou &

Especially if the "words" are going to be excessively short identifiers that might conflict with commonly chosen variable names and/or mathematical constants... (OTOH, I've seen people do similar defines for English, and I think they have even done so somewhere in Arduino. Still not a good idea.)

westfw:
That doesn't sound too unreasonable, especially for Elementary school....
Now... Keeping in mind that I don't actually speak Portuguese...

Thank for your reply. We will take account in futere changes in library.