Conversation
Truly unfortunate x86 won over 68k, big endian best endian.
5
0
0
"Oh but arithmetic operations are done in little endian" Wrong! Arithmetic operations are done on such an abstracted level on any reasonably modern processor (on the level of extracting stuff from cache lines, that is) that endianness doesn't matter. And big endian is just more aesthetic.
2
0
0

@chjara also doesn't the entire internet infrastructure run on big endian?

1
0
1
@techokami Basically everything below application layer is big endian yes.
1
0
0

@chjara 68k is my favorite ISA... it's such a shame that it got killed and lobotomized blobfoxcry

0
0
1

@chjara thus, concrete proof big endian is best endian

0
0
1
@chjara Part of why endianness is pretty much just a file/protocol encoding format (and thinking about it that way also allows to avoid odd-even byteswap nonsense).
1
0
1

@lanodan @chjara Pshh byteswapping is trivial, try figuring out how to transfer a 36bit binary file to a 36bit machine meaningfully. The world was much more interesting when bits of it had 9 bit bytes

1
0
1

@etchedpixels @chjara byteswapping issue isn't the triviality of it because it very much is.
But it's putting it at the right place, because bad coders love to just add byteswap at random layers (hence even-odd, think of it like layers of rot13).

1
0
1

@chjara Writing compilers converted me to little-endian.

There are some real advantages in working little endian including the fact that accessing the same object in smaller sizes starts at the same address.

On low end processors, on microcontrollers the low byte first for doing partial paths also matters.

On a modern CPU it's irrelevant but really they aren't "endian" as they don't work in bytes unless you go poking into innards of stuff.

1
0
1
@etchedpixels Working with endianness in software is never really a problem IME including in low level stuff and the last point is why the second point barely matters in this day and age. So might as well have nice looking hexdumps.
0
0
0
@lanodan @etchedpixels Byte swapping functions are the root of all evil, the only bit that should care about endianness is reading and writing to pointers. Or make it a property of the type! The world if C wasn't seemingly designed to be the least ergonomic language that doesn't cause immediate vomiting…
2
0
0

@chjara @etchedpixels @lanodan c, i think, also brought us PDP endian

32 bits but half of it is big endian the other little

1
0
1
@charlotte @chjara @etchedpixels Other way around, PDP endian predates C by several years, and none of the modern C stuff cares about PDP endian.
0
0
1
@chjara @etchedpixels Nah because it's an encoding/decoding time problem. And only way I've seen it included in languages were it made sense is Erlang/Elixir where it's at assignment time, similarly to how some languages have input/output templates integrated for stuff between static data and regular data.

While the type… well no because you could very easily have input using little-endian for a number and output using big-endian, while it doesn't matters at all when it's in-memory which is what types are for.
Quite like how you can have input in utf-16 (eww) and output in utf-8.
0
0
1