Lou,
Sure, historical reasons count, but why stopping at micro-processor era and not a few centuries back?
If only european would have understood and adopted the true arabic number notation, our world would be dominated by little endian anyway ;)

Speaking of communications, I note that the least significant bit in a byte is still sent first on a serial line, ethernet included, while we prefer sending most significant byte first in a 32-bit word, what a mess!

Anyway, big or little, we shall better admit our inferiority: a middle endian formatted germane brain will swim in those swamps better than we will ever do (huntert drei und swanzig).

;)

Nicolas


2013/4/1 Louis LaBrunda <Lou@keystone-software.com>
Hi Eliot,

>> Well that's really my point.  Little endian had a very, very tiny and
>> predictably short lived advantage over big endian in single-byte fetching
>> computers only.  I'm pretty sure mainframes (big endian) with multi-byte
>> fetching existed when little endian first came along.  Anyone thinking to
>> implement little endian should have realized it would lose that advantage
>> soon.

>??  And how many bigendian micros are there in common use nowadays??

There are a lot of reasons micro processor architectures survive or not.
Were the early Intel little endian processors really better than the
Motorola 68000 big endian designs?  Intel chips and maybe even the company
could have died if IBM had chosen the Motorola chip over Intel for the IBM
PC.

I expect if little endian were never invented, no one would miss it.  We
would just code with big endian data and never think about it.

Would you trade little endian for more registers?

>> >If so, why the hell would multi-byte fetching annihilate the advantage
>> >of one endianness and preserve the advantage of the other?
>>
>> Big endian remains simple, little endian (not simple) lost the slight speed
>> advantage.

>Not for many machine-level operations.  AFAICT big endian's only advantage
>is in reading hex dumps.  Thankfully I don't debug like that.

Back when they first came out that was how you had to debug.  Back then it
drove me nuts trying to figure out what I was looking at.

>Look at a marshaller or a data copier that has to deal with items of different size,
>e.g. extracting fields from the middle of a struct etc and little endian's
>advantage becomes clear.

Is it a speed advantage or just simpler code?  Is it much simpler or just a
little math to get the right byte at the right time?

I have a program that gets big endian float data and has to convert it to
little endian float.  So when little endian was invented that's just what
the computing world needed, another way computers would have a hard time
communicating with each other.

If little endian came first, maybe I wouldn't be able to come up with a
good reason to have (add) big endian but it didn't and I don't see a good
reason for little endian to have been invented.  It just complicated things
for little value.

>But forgive me, I shouldn't even be starting this thread :)

Too late.

Lou
-----------------------------------------------------------
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon
mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com