ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button
Article:
  How an Accident of Hardware Design Encouraged Open Source
Subject:   endianness
Date:   2007-02-23 13:41:36
From:   Taniwha
Gee - there's lots to disagree with here, most of it pedantic - there were both little-endian and big endian machines before the '11, most of the word oriented evil back then probably had more to do with not having a power of 2 bytes in a word, if I remember '11 longs (or was it floats) were actually stored partially bigendian, etc etc


Mostly though I suspect the 'storing stuff as ascii' idea was something that couldn't catch on until disk storage got cheap enough. The other big change Unix brought in - simple unstructured text files - needed us to break away from that record based 'every thing is a card image' mindset.


What I really want to address though is endianness itself - we're kind of stuck with it as a western cultural artifact .... originally Arabic numbers were embedded in Arabic script which is of course written right to left (think about it what do traders do most with numbers? add them - a process that goes from LSB to MSB - in their case along with the flow of their script) - apparently we got Arabic notation from Spanish monks working their way through the libraries the Moors left in Spain ... they picked them up and brought them into western languages but weren't smart enough (I blame them for our current endianess malaise) to turn the digits around when they were included in a right-to-left writing system.


There you have it: Arabic numbers in an Arabic writing system are naturally little endian, in ours they are big endian - we grow up and are taught that they should be this way from the beginning of life - we're stuck with a system that has this inbuilt mixed-endianness backwardness - it's hard to make that mental jump that they should be different (I bet users of right-to-left writing systems find the whole idea of big-endian systems just weird at a whole different level since they haven't grown up with the idea the both things should live together)


(and BTW remember even in our modern little endian computers we still tend to number the bits within bytes in a big endian way ...)


1 to 1 of 1
1 to 1 of 1