They are, and the software industry has embraced them, not because they have an obscene profit motive, but because:
The subscription model is here to stay, unfortunately. It allows the software companies to stay in business with their weird product lifecycle model.
- From day one, programmers (now called coders
) have been getting lazier and lazier about properly debugging their software, which creates a high support cost.
- Like other products, each generation includes new features. Unlike other products, those new features interface with existing features that may have been created 10 years ago by those programmers that are gone. This feeds point one above - debugging completely as the software evolves becomes unsustainable.
- Unlike any other industry I can think of, the actual product that you purchase is continually modified, and as the years go by, new programmers come on board that don't understand the product and old programmers leave. Imagine if, instead of buying a new car, you just kept sending it back to the factory to be re-worked - for decades, in the case of some Microsoft software. It wouldn't be pretty, and it would be expensive - you'd need more support because things wouldn't be re-worked correctly due to way the user used the product (think rust-belt vs. non-rust-belt vehicles). Instead, in most product-design scenarios, brand new products are designed, manufactured, and sold to replace the previous one you owned. This "clean slate" approach keeps customer support costs down because the team currently supporting the product designed all aspects of it and can both answer questions quickly and make revisions to replacement parts quickly.
You're not wrong - 99% of these "coders" never saw the inside of a CS-101 class, much less passed one. I won't bore everyone with yet another rant on THIS subject...
