Is less than comparison more natural than greater than comparison? I was teach on mathematics that on real line small numbers are on left and big numbers are on right. Therefore, I think the comparison 0&lt;1 is more natural than 1>0, and in general, x less than y is easier to read than y greater than x. Is there any statistics if there are less bugs on programs that uses only less than comparisons than programs uses greater than comparisons or both?
I think the typical order has more to do with grammatical conventions actually.


  Joe is heavier than Bob


Joe is the subject, the one we're talking about; Bob is just an object we compare against.


  Joe weighs more than 90kg


vs.


  90kg is less than Joe weighs


The second one is a very odd sentence.


  [subject] [verb] [object]


[variable] [operator] [constant]


This would be a pretty normal construction, such as:

x &lt; 0


or

x &gt; 0


but odd would be:

0 &lt; x


Because the value of 0 isn't changing. Zero is not the "subject" of what we're doing. x is the subject, the variable, the interesting thing.

So what if we're comparing two variables?

x &lt; y


It's possible both of these are new values to us, but intuitively, this code feels like it's more about x than about y. Consider:

if x &lt; y: do something
if x &gt; z: do something


Now, clearly, x is our main subject, running against various other variables to see if something needs to be done.



So, my impression is that any preference for &lt; over &gt; or otherwise pales in comparison for the preference to put the "subject" of the comparison on the left.