It was, quite simply, a very different time. This stuff was designed in the nineteen eighties.
Old 10base-T ethernet used one pair of wires for transmit, and another pair of wires for receive (and the other 2 pairs? they did nothing at all!). This worked for the usual case of plugging computers into a hub.
It was Good Enough, and it fit the style of the time.
Could it have been done better? Sure! But that would have added complexity, and adding complexity means even more cost.
And all of this Ethernet hardware was already very expensive. A person who had enough money get into 10base-T hardware probably also had enough money to get a crossover cable in their hands.
The expense is why people like you and I grew up with using RS-232: That was the affordable way to get computers to talk together.
(Let me guess: You also had a run-in with 10base2 once that became cheap-enough, and you also spent way too long soldering together a cable to get PLIP going between a pair of computers)
---
Anyway, auto MDI/MDI-X is pretty much a solved problem these days. At this point there are surely people reading these pages who have been doing stuff with computers and Ethernet for their entire lives and have never needed to know what a crossover cable is.
I ran 10base2 (coax) between two hubs in 1994ish: Out of a window, over the roof and back through a window. The building was a bakery (pie factory) in the Newnham industrial estate, Plymton, near Plymouth, Devon, UK.
Hilliers had two sites with a road in between. We had an IBM System/36 (with a dicky fan which needed prodding in summer or the box would shutdown due to overheating). Once we surrounded it with bags of solid CO2 in a really hot summer to keep it running.
The two sites were linked with synced modems on standard phone lines. Normally serial lines are async but these things ran as sync. Even back then a change would take milli-seconds to perhaps deci-seconds to process so why on earth require sync! There will be a reason and it will have been forgotten by today's slapdash approach to nearly everything.
I learned what a crossover cable was as a teenager because I was in an electronics store buying an ethernet cable and I picked the cool-looking black-and-red cable. Then the guy behind the counter told me that the cool-looking cable I picked is a special cable and instead handed me a boring grey cable. :(
Old 10base-T ethernet used one pair of wires for transmit, and another pair of wires for receive (and the other 2 pairs? they did nothing at all!). This worked for the usual case of plugging computers into a hub.
It was Good Enough, and it fit the style of the time.
Could it have been done better? Sure! But that would have added complexity, and adding complexity means even more cost.
And all of this Ethernet hardware was already very expensive. A person who had enough money get into 10base-T hardware probably also had enough money to get a crossover cable in their hands.
The expense is why people like you and I grew up with using RS-232: That was the affordable way to get computers to talk together.
(Let me guess: You also had a run-in with 10base2 once that became cheap-enough, and you also spent way too long soldering together a cable to get PLIP going between a pair of computers)
---
Anyway, auto MDI/MDI-X is pretty much a solved problem these days. At this point there are surely people reading these pages who have been doing stuff with computers and Ethernet for their entire lives and have never needed to know what a crossover cable is.
This, too, is Good Enough. :)