Go Down

Topic: Redefining C reserved Keywords using portuguese words (Read 251 times) previous topic - next topic

junior700

Aug 13, 2017, 03:19 am Last Edit: Aug 19, 2017, 06:08 am by junior700
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.

https://www.youtube.com/watch?v=7Jd3cfGwM_Y&t=106s&spfreload=5

Here is the library:

https://github.com/junior700/C-language-keywords-in-Portugese

sterretje

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.
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

MarkT

Isn't this what Google Glass was supposed to have made simple?
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

PaulS

Quote
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?
The art of getting good answers lies in asking good questions.

sterretje

#4
Aug 14, 2017, 01:14 pm Last Edit: Aug 14, 2017, 01:17 pm by sterretje
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 ;)

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).
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

samueljanes


aarg

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.
  ... with a transistor and a large sum of money to spend ...
Please don't PM me with technical questions. Post them in the forum.

AWOL

Quote
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 . . .  :D
"Pete, it's a fool looks for logic in the chambers of the human heart." Ulysses Everett McGill.
Do not send technical questions via personal messaging - they will be ignored.
I speak for myself, not Arduino.

aarg

I wonder if a German version of COBOL would put the verb last . . .  :D
I want to see the Chinese version. :)
  ... with a transistor and a large sum of money to spend ...
Please don't PM me with technical questions. Post them in the forum.

junior700

Hi, the link doesn't conduct to the video.
I am sorry, I already corrected. Thank you.

junior700

#10
Aug 19, 2017, 06:50 am Last Edit: Aug 19, 2017, 06:55 am by junior700
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.

westfw

Quote
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...
Quote
"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
Code: [Select]
#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?


Code: [Select]

#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.


Code: [Select]
#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.)

junior700

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.

Go Up