The situation looks like that many authors, and it would be more correct to say the translators, handle the terms operators, instructions, expressions as it is very much at ease. It seems to me that it is especially unacceptable to do this in textbooks, from the very beginning laying down the wrong idea in language learners. I think it is necessary to follow the original sources and call things by their proper names. So, how are these concepts defined, for example, in the Java language? The source says that:

  1. "Operators", and then return a result. https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

  2. "It is a concept of the vocabulary of the vocabulary." https://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html

  3. "Statements are roughly equivalent to natural language." https://docs.oracle.com/javase/tutorial/java/nutsandbolts/expressions.html

However, in almost all translated textbooks that have become virtually classical (for example, Schildt, Horstmann), the concepts of operators and instructions are mixed everywhere. Operators include control instructions (if, switch) and cycles. And this is despite the fact that the originals use the canonical definition of statements. It seems that such a delusion has happened a long time ago and if and the switch are called operators everywhere. The same applies to the break instruction and case labels. But why, then, are operators called operators, if these are all different concepts? Let me be corrected if I am wrong in something, simply and I myself would like to firmly decide.

  • Translators are moving from thoroughly English definitions to equivalent Russian definitions. And here we find ourselves in such a thing, that in Russian "statement" is translated as "operator" and "instruction" by the semantic basis, can be called both options. And the word operator is then translated as an operation (approx. Mathematical), but not an operator (!). As a result, we get the Russian definitions of similar things, not Anglicisms. - Alex Krass
  • Well, for the general picture in a nutshell, semantic translations: operators - operations; expression - expression; statements is an operator or statement. If you go the same way in the opposite direction, there should be no discrepancy in the definitions. - Alex Krass
  • one
    Well, this cannot be done at all, since the operator is the operator and the operation is the operation. In addition, it is not possible to translate two different concepts of operator and statement in the same word because they have different definitions in the language. - vitaliy4us
  • Words have many variants of translation from one language to another, if you find similar letters in the words "operator" and "operator", this does not mean that they have at least some semantic relation to each other. The English word has nothing to do with Russian. I looked in the wiki, there for your question even a footnote did a special "operation and instruction" that these are different words. - Alex Krass
  • Or as follows: 1. Operations are specific symbols. 2. The expression is a structure of the vocabulary, which evaluates to a single value. 3. Instructions / operators - are roughly equivalent to natural languages. A statement forms a complete unit of execution. - notes - a) statements are translated as instructions / operators b) the words "operators" and "operators" have nothing in common, the random coincidence of letters. - Alex Krass

3 answers 3

You simply do not take into account that information technologies in the Soviet Union developed in parallel with the western ones - and in some ways even independently. Therefore, when the term was needed - it was often not translated and borrowed, but invented.

Now these terms have already become classic, and even entered the school curriculum. Therefore, it is necessary to translate English-language terms taking into account their definition, and not literally:

  • operator - operation
  • statement

Another reason for the confusion is the fact that the same constructs in different languages ​​can belong to different types. So, in Pascal, well-known to many schoolchildren, there is an assignment statement - but in C-like languages, there is an assignment operator instead. Not everyone can catch the difference between them when changing a programming language.

  • Well, then please explain what you think should be a break, if both the operator and the operation assume the presence of operands? - vitaliy4us
  • The @ vitaliy4us operator does not necessarily assume the presence of operands. break has always been an operator. - Pavel Mayorov
  • "Operators", and then return a result. docs.oracle.com/javase/tutorial/java/nutsandbolts/… - vitaliy4us
  • @ vitaliy4us and what does that contradict? - Pavel Mayorov
  • That "the operator doesn't necessarily assume the presence of operands," does it? Also, the meaning of operator in the Oxford dictionary: "A symbol or function denoting an operation". And the whole confusion was caused by the fact that someone, when it occurred to a completely unreasonable translation of the word operator as an operation. Well, there are rules of translation. It never occurred to anyone to translate the word molecule as an atom, for example. I think in this case, the understanding of physics would also be specific. - vitaliy4us

As it turned out, everything is even worse than I thought at first. There is no generally accepted Russian language specification for Java. There is an official English-language specification, the latest edition of which was released in 2015 https://docs.oracle.com/javase/specs/jls/se8/jls8.pdf .

As I found out, the first unpublished attempt to translate into Russian was made in 1999 in the glorious city of Vologda http://www.uni-vologda.ac.ru/java/jls/ . It was her that guided my opponents, calling operators operations, and statements statements.

However, in 2015, finally, a printed translation of http://www.williamspublishing.com/Books/978-5-8459-1875-8.html is coming out. And what do we see? Bah, everything fell into place - operators are operators, and not operations, statements, instructions, etc. That is, everything came in line with the dictionary and in Russian white turned white and black turned black?

But not everything is so simple. During all this time, many Russian-language translations of books on the Java language have been republished, in which all these terms were used as God’s per capita, and now everyone has an opinion on this matter. And all this is not as harmless as it seems, since it is the basic fundamentals of the language. And everything that stands on an unstable foundation turns out to be very unreliable.

And now let's imagine a situation when a person “brought up” in Russian-language literature comes with a corresponding porridge in his head to take the certification exam, which everyone prefers to take in the original language, since even there the translation plays its insidious role. How many steps he will meet on his way?

What happens in the end - in order to develop any serious product, its specification is necessary. And the main tool itself, by which this product is developed, does not have a specification, but has a loose interpretation, not to mention the fact that Western colleagues may simply not understand you ...

    When I see such posts - the hand reaches for the nonexistent Mauser :)

    Options for a simple answer to this question:

    1. Do you want to go or check?
    2. Though you call a pot, just do not put in the stove

    If you slow down the degree of discourse, then I believe that this is just a matter of agreement. If we agreed to consider if/switch as operators, I am happy for everyone, but if, on the contrary, if/switch considered instructions, well, ok, we will digest this too.

    I can not understand - what changes it? Well, well, you will be telling a fifth-grader what is an operator and what is instruction - what will change?

    Here, sincerely I do not understand.

    • one
      And you read, for example, with questions of the certification exam, maybe then you will understand. Oh yes, you will go! Although in this case it would be nice to know the rules of the road, if you are, of course, driving. However, half of this goes without this knowledge. So up to you. - vitaliy4us
    • All passed on the right, but the number of accidents on the roads is only growing == all have certificates, only few people can code. - Barmaley