Today, I will share an interesting tidbit with you. I learned about this during my studies, and it somewhat changed my perspective. Special thanks to Dr. Bogdan O.
But let's start from the beginning.
In the beginning, there was chaos... Okay, okay, I'm not exaggerating. So, in the beginning, there were processors for computers. There were several families of them. You probably have one in your computer from which you are reading this article.
As systems and languages supporting these processors emerged, the architecture changed significantly over time, both at a very low level and in various directions.
Processors were continually evolving along with advancing technology. However, let's pause at a certain point, which is somewhat close to us, where several good processor families existed—specifically, the i386 and those found in "Macs," known as the PowerPC.
You might think they are similar, but they're not.
PowerPC processors were far more advanced, with superior architecture and craftsmanship. They were notably faster. If you remember those cool computers that came with monitors in a single enclosure, they were much better than their i386 counterparts.
However, today, most of us have i386 family processors. Why?
The Death of Change
The answer is simple: money. Cheaper options were chosen over better ones.
PowerPC processors had one significant drawback. During each architectural change aimed at improving performance, the set of instructions—the smallest ones a processor understands—was modified. This meant that a processor wouldn't understand programs that worked on its predecessor. It only understood what was designed for it. Of course, as soon as compilers for such processors appeared, and people used those compilers to build ready-made programs, the same software worked on those processors.
But, every change required users to request a newer version from the software author, and trust me, this was a nice opportunity to collect money. Particularly for large companies that aimed for technological superiority, which came at a high cost. Especially when computer speed doubled every two years.
This resulted in significant expenses.
What About i386?
It turns out that the second family of processors did quite well during this time. As the MS operating system developed, MS constantly pressured to avoid changing the processor's architecture. Processors continued to evolve and speed up, but they used the same instruction sets as they did 20 years ago. Consequently, theoretically, any software could run on any computer. Only the speed would differ. i386 won because companies didn't have to incur additional costs every time they changed hardware, needing to buy the corresponding software version for that machine.
Why Is This Bad?
Why is it bad that i386 won? Because we lost. Our