Students learning programming languages initially struggle very much with the relationship between the formal syntax of the language and the intuitive interpretation of its meaning. The program text is composed of a sequence of special tokens according to an unfamiliar grammar; it may be difficult for novices to see how these sequences describe actions, which would be expressed very differently in one’s native language.
The paper’s proposed approach bridges this gap between formal syntax and intuitive understanding: an editor applies a simple algorithm to replace programming language tokens, as soon as they are entered, with corresponding phrases in the programmer’s native language;the result is a program whose basic elements are natural language phrases. Thus, the program’s meaning becomes more transparent, and fundamental errors can be easily detected from unexpected translations. A pilot study demonstrates with statistical significance that, in assignments, students whopreviously used this editor make significantly less syntactical or logical errors than those students in the control group who used a conventional editor.
The paper nicely illustrates how a simple technique can overcome some initial hurdles in programming language education. It may even help to raise interest in non-technically inclined target groups. The technique is, however, limited to the “word by word” translation of basic commands and expressions, without discussing more complex structural translations. Future work will concentrate on larger scale studies with more programming/natural languages and students in different countries.