lewist57 wrote:I am sure that Microsoft works very hard to keep backward compatibility,
I suspect they don't work that hard.
For starters the general idea in programming is if you do a major version upgrade then breaking changes are allowed.
After that it is just a matter of deciding what one should break or not. But one also does things like decided what new features to add and, sometimes, if something should be redone just to make it 'better'. Then one also needs to throw in required security fixes.
All of that leads to complexity. The more code involved the more complex it becomes. So I suspect that although some consideration is given to backward compatibility, if even considered it is not a driving force.
But I would not fault Microsoft for that. Any company would deal with the same scope of problems.