On 2024-08-15 11:00 a.m., Paul Koning via cctalk wrote:

The short answer is "it's historic and manufacturers have done it in different 
ways".

You might read the original paper on the topic, "On holy wars and a plea for 
peace" by Danny Cohen (IEN-137, 1 april 1980): 
https://www.rfc-editor.org/ien/ien137.txt
Not reading the paper, I would say it is more the case having short data types (little) and FORTRAN packing 4 characters in word (big).

I don't know about the VAX,but my gripe is the x86 and the 68000 don't automaticaly promote smaller data types to larger ones. What little programming I have done was in C never cared about that detail. Now I can see way it is hard to generate good code in C when all the CPU's are brain dead in that aspect.

char *foo, long bar;
... foobar = *foo + bar
 is r1 = foo
 r3 = * r1
 r2 = bar
 sex byte r3
 sex word r3
 r4 = r3 + r2
 foobar = r3
 what I want is
 bar = * foo + bar
nice easy coding.

And yes, different computers have used different ordering, not just 
characters-in-word ordering but bit position numbering.  For example, very 
confusingly there are computers where the conventional numbering has the lowest 
bit number (0 or 1) assigned to the most significant bit.  The more common 
numbering of 0 for the LSB gives the property that setting bit n in a word 
produces the value 2^n, which is more convenient than, say, 2^(59-n).

Real computers are 2^36 from the 50's.
Big iron is the 60's. :)


        paul



Reply via email to