When comparing strings, shouldn't the longest string be greater than the shorter string ?

Example 1, comparing strings:
Code:
If '5' > '45'
'5 > 45'
Else
'45 > 5'
EndIf


The result of this will be: 5 > 45

Example 2, comparing strings convertet to integer:
Code:
If Val('5') > Val('45')
'5 > 45'
Else
'45 > 5'
EndIf


The result of this will be: 45 > 5

I'm using numbers because it is easyer to explain, but shuldn't 'ab' be greater than 'b'

-Erik