I would think that this technology that we have created could say that "first name" is the first sting of characters before a "space" and that the last name would be the last string of text (if there happens to be a middle name or something in the middle).
Thats what I would think, but I guess not. No need to bash me down, just trying to arrange my contacts in a different manner, thats all.
Unfortunately, that rule is broken often enough (Jr., Sr. III, Esq. at the end, or multi-word last names like Van der Water, etc) that it isn't as algorithmically applicable. And in some cultures, the first name listed is the family (what I would call "last") name and is what you'd want to sort on.
Outlook and some others solve this by having you enter multiple fields for the name, with an overriding "File As" field for the exceptions. It seems that Google's concept is that a name is just a name, and you use searches (of course, that being Google's whole thing) to find the right ones. Which makes some sense -- much of the reasons for filing systems came about when records were physical, and instant "search" wasn't really possible.
Ick, I remember looking up check writing authorization cards at a supermarket and realizing we had separate drawers for last names starting with "M" and ones starting with "Mc" (so Miller came before McAfee). Of course, not everyone filing the cards realized this, so some McAfees were in the M drawer and some in the Mc drawer. Add that to the 15 year old kids who didn't really care how well things were filed, and you got a mess.
Having said all that, I also want to be able to list my contacts by last name, and am planning to play with writing an app to do that for fun. Might pick a default algorithm for determining last name and allow the user to override specific names.