Ternary operator

No, it is exactly what I am saying you are saying and the whole reason I even replied. You said that the readability of the ternary operator is not a case where one can be objective, that its readability is dependent on who is reading, i.e. it is subjective.

No, that does not make it subjective, it makes it speculative. Without measuring it (or more precisely taking measurements to make statistically significant estimates) we have to speculate. But that is not guesswork, we can make some reasonable, educated guesses based on the evidence of experience.

Let’s break your group down into 4 subsets:

  1. Those that are unexposed and clueless on ternary operator
  2. Those that can understand the ternary operator but it takes them longer to decipher the ternary operator over an if-else
  3. Those that decipher both equally
  4. Those that are actually better at understanding ternary than an if-else

The question then becomes what are the relative sizes of these 4 groups.

For group 1, this group is closer to the example of my wife. Even among non-programmers they are more likely to understand an if-else.

Group 2 is where I fall and I suspect most programmers would fall. And I am not a programmer fresh out of school. I have been programming over 35 years and in Java for over 20 years, but it still takes me slightly longer to mentally parse the ternary operator.

You mentioned having to learn, but all this does is move people from group 1 to group 2, since with no training at all if-else is already more readable. It would take a lot of work to move people from group 1 to group 3 or 4

My estimates on the 4 groups are probably 15%, 70%, 10%, 5%. Those are my own speculations based on my experience, not guesswork. They are not subjective in that they are not based on my own preferences or a particular individual. I could be totally wrong, but I see no evidence to the contrary or to suggest that the numbers even make it anywhere near a tie.

Unless you have strong evidence that the vast majority programmers fall into groups 3 & 4, which would contradict all experience I have, then the idea that the readability is even close to a tie is unfounded.

Even if group 3 were the majority of programmers, Kotlin has if-expressions, which are equally readable to them. The notion that Kotlin should have the ternary operator can only really be made if the majority of programmers fall into group 4 and I am confident that is not the case.

The fact that ternary operator is used sparingly in Java where it actually adds something to the language (since Java does not have is expressions) is further evidence that most programmers fall on the group 1 and group 2 end of the spectrum.