Families of OSes

There are three OS families that dominate the market today:

  • Windows
  • Linux
  • macOS

The term family means several OS versions that follow the same architectural solutions. Therefore, most functions in these versions are implemented in the same manner.

Backward compatibility problem

The developers of an OS family follow the same architecture. They do not offer something fundamentally new in the latest versions of their product.

This is because changes in modern OSs happen gradually and slowly. The reason for this is a backward compatibility problem. This compatibility means that newer OS versions provide the features of older versions. Most existing programs require these features for their work. We can view backward compatibility as an optional requirement, but it’s a severe limitation for software development. Let’s find out why that is.

Limitation for software development

Let’s imagine that we write a program for Windows and sell it. Sometimes, users encounter errors in the program. We receive bug reports and fix the errors. Also, we add new features from time to time.

Our business goes well until the new Windows version comes. Let’s assume that Microsoft changes its architecture completely. Therefore, our program does not work on the new OS version. This leads the users of our program to the following options:

  • They update Windows and wait for the new version of our program that works there.
  • They do not update Windows and continue to use our program.

If users need our program for daily work, they may refuse the Windows update. This is because using the program is more important to them than getting new OS features.

Get hands-on with 1200+ tech skills courses.