Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ulysses.UUCP Path: utzoo!watmath!clyde!burl!ulysses!ggs From: ggs@ulysses.UUCP (Griff Smith) Newsgroups: net.lang.c Subject: Re: Byte order (retitled) Message-ID: <1223@ulysses.UUCP> Date: Mon, 7-Apr-86 10:59:05 EST Article-I.D.: ulysses.1223 Posted: Mon Apr 7 10:59:05 1986 Date-Received: Wed, 9-Apr-86 22:24:39 EST References: <> <7046@cca.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 42 ... > Well, no, little-endian came about because the engineers at DEC > who designed the PDP-11 made an arbitrary decision that was not well > thought out. I will not essay to defend the sanity of DEC engineers, > and cannot recommend that any one else do so (:-)). It was a bad > decision. . ... > In short, little-endian was a mistake, is a mistake, and will continue > to be a mistake. > > Richard Harter, SMDS Inc. As an old PDP-11 hacker, I can't agree with the condemnation of the DEC engineering decision. You are looking at it from the perspective of a modern software engineer who wouldn't think of type punning and other hacks. To an assembly language programmer, however, the ability to use the same address to test the low and high bytes of a device status register meant that code would be shorter and faster. It also increased the number of cases where indirect addressing could be used with register pointers. You can't expect the engineers to have anticipated that high-level languages would discredit these practices. My own theory about big vs. little end usage is that the mistake was made hundreds of years ago when merchants started to adopt the Arabic (as adapted from earlier Hindu sources) number system. Note that Arabic is written right to left; note that numbers are written right to left. I think the Arabs knew what they were doing; they set the notation so that the natural computational order followed the conventional lexical order. The European merchants missed the point and copied the notation verbatum instead of compensating for the opposite lexical convention. In summary, big-endian was a mistake, but there is no use fighting it. Any better-informed historical challenges will be cheerfully accepted; the best data I could get was from an ex-patriot of Iran. -- Griff Smith AT&T (Bell Laboratories), Murray Hill Phone: (201) 582-7736 Internet: ggs@ulysses.uucp UUCP: ulysses!ggs ( {allegra|ihnp4}!ulysses!ggs )