Imagine you need to write a Java application. The users of this application may run it on different operating systems. Some of the users prefer Linux, others use macOS, and for some, good old Windows is the best.
How many versions of the application do you need to write to satisfy all users?